JavaScript FAQ(十八)—— CSS

 十五、层叠样式表(CSS)

 

1.  应用样式表(Applying Stylesheets

Q:我如何在页面上应用另外一个样式表?

A:浏览器通过一个或者多个LINK命令(主要是在页面的HEAD区域)加载样式表(CSS文件),例如:

<LINK rel="stylesheet" type="text/css" href="styleA.css">
<LINK rel="stylesheet" type="text/css" href="styleB.css">
<LINK rel="stylesheet" type="text/css" href="styleC.css">

JavaScript通过使用集合document.styleSheets访问样式表。你可以通过将document.styleSheets[i].disabled的值设为false来应用一个样式表。将disabled设为ture就可以禁用那些你当前不需要的样式表。下面的函数应用第i个样式表,而禁用其他所有的样式表:


function applyStyle(k) {
 if (document.styleSheets) {
  var nStyles = document.styleSheets.length;
  for (var i=0;i<nStyles;i++) {
   if (i==k) document.styleSheets[i].disabled = false;
   else      document.styleSheets[i].disabled = true;
  }
 }
}

现在试一下(译者注:可以在原文上测试):

应用样式A(蓝色文本)——调用applyStyle(0)

应用样式B(灰色文本)——调用applyStyle(1)

应用样式C(黑色文本)——调用applyStyle(2)

 

 

2. 鼠标指针样式(Mouse Cursor Styles

Q:如何通过JavaScript改变鼠标指针样式?

A:当今多数浏览器支持一下指针样式(将鼠标移动到样式名称上以观察指针样式改变为那个样式):

auto        move           no-drop      col-resize
all-scroll  pointer        not-allowed  row-resize
crosshair   progress       e-resize     ne-resize
default     text           n-resize     nw-resize
help        vertical-text  s-resize     se-resize
inherit     wait           w-resize     sw-resize

 

在Windows Internet Explorer 6.0或者更新版本,上面的指针样式如下:

 要通过脚本改变某一个元素的鼠标指针样式,你可以把元素的属性element.style.cursor设为上面的任何一个值。(另外一种不用JavaScript的方法,可以在元素的HTML标签中使用属性style="cursor:value;"):

function setCursorByID(id,cursorStyle) {
if (document.getElementById) {
  if (document.getElementById(id).style) {
   document.getElementById(id).style.cursor=cursorStyle;
  }
}
}

在下面的演示中你可以为高亮元素(Element 1 和 Element 2)改变指针样式。在这个例子中,当你点击超链接help, wait, crosshair, text, default, move, 或者 pointer时,指针就会被在整个高亮元素上改为相应的样式,上面的例子中函数setCursorByID将会被使用到。当你点击超链接auto时,特定元素的指针就会被浏览器改为原来的样式。

 Element 1  Change cursor to any of these styles:
help wait move crosshair text default pointer auto

 Element 2  Change cursor to any of these styles:
help wait move crosshair text default pointer auto
时间: 2024-09-21 11:01:12

JavaScript FAQ(十八)—— CSS的相关文章

JavaScript FAQ(八)——窗口(Window)

 六.窗口   1. 打开一个窗口(Opening a window) Q:我如何打开一个新的浏览器窗口? A:可以使用window.open()方法,打开一个新浏览器窗口.例如,下面的代码就在一个新窗口中显示当前页.   myRef = window.open(''+self.location,'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); window.open()方法的一般语法如下: winRef

学习CSS优化的十八项技巧

css|技巧|优化 一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则请参看<常用css缩写语法总结>,这里就不展开描述. 二.明确定义单位,除非值为0 忘记定义尺寸的单位是CSS新手普遍的错误.在HTML中你可以只写width=100,但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em.只有两个例外情况可以不定义单位:行高和0值.除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格. 三.区分大

CSS的十八般技巧

css|技巧 翻译:阿捷 原文作者:Roger Johansson 作者简介:住在瑞典哥德堡,1994年开始接触和参与web设计,456 Berea Street是他的住址,因此采用这个名字作为他的个人主页域名 最近,经常有朋友问我一些工作中遇到的CSS问题.他们总是不能很好的控制CSS,影响CSS的效率发挥.我来分析总结一下错误所在,帮助大家更加容易使用CSS. 本文总结了我开始使用CSS布局方法以来所有的技巧和兼容方案,我愿意把这些与你分享,我会重点解释一些新手容易犯的错误(包括我自己也犯过

网页制作技术CSS十八条优化与应用技巧

css|技巧|网页|优化 一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则请参看<常用css缩写语法总结>,这里就不展开描述. 二.明确定义单位,除非值为0 忘 记定义尺寸的单位是CSS新手普遍的错误.在HTML中你可以只写width=100,但是在CSS中,你必须给一个准确的单位,比如:width: 100px width:100em.只有两个例外情况可以不定义单位:行高和0值.除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格.

CSS十八条技总结

一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则请参看<常用css缩写语法总结>,这里就不展开描述. 二.明确定义单位,除非值为0 忘记定义尺寸的单位是CSS新手普遍的错误.在HTML中你可以只写width="100",但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em.只有两个例外情况可以不定义单位:行高和0值.除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格. 三.区

一起谈.NET技术,CSS十八条技总结

一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则请参看<常用css缩写语法总结>,这里就不展开描述. 二.明确定义单位,除非值为0 忘记定义尺寸的单位是CSS新手普遍的错误.在HTML中你可以只写width="100",但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em.只有两个例外情况可以不定义单位:行高和0值.除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格. 三.区

JavaScript FAQ(二十五 完)—— 错误处理

二十二.错误处理   1.禁止JS错误(Suppress JS Errors) Q:我是否可以禁止JavaScript错误信息? A:可以.要禁止页面上所有的JavaScript错误信息,你要把下面一段代码放在页面的HEAD部分: <SCRIPT language="JavaScript"> <!-- function silentErrorHandler() {return true;} window.onerror=silentErrorHandler; //--

Bootstrap &lt;基础十八&gt;面包屑导航(Breadcrumbs)

原文:Bootstrap <基础十八>面包屑导航(Breadcrumbs) 面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航(Breadcrumbs)是一个简单的带有 .breadcrumb class 的无序列表.分隔符会通过 CSS(bootstrap.min.css)中下面所示的 class 自动被添加: .breadcrumb >

Bootstrap &lt;基础二十八&gt;列表组

原文:Bootstrap <基础二十八>列表组 列表组.列表组件用于以列表形式呈现复杂的和自定义的内容.创建一个基本的列表组的步骤如下: 向元素 <ul> 添加 class .list-group. 向 <li> 添加 class .list-group-item. 下面的实例演示了这点: <!DOCTYPE html> <html> <head> <title>Bootstrap 实例 - 基本的列表组</titl

十八次防御微软0day漏洞 360临时补丁国内领先

中介交易 SEO诊断 淘宝客 云主机 技术大厅 近日Office图像引擎组件曝出高危漏洞,但微软11月"补丁日"并未彻底修复.为此,360安全卫士第一时间升级防护模块,能够在不影响Office日常使用的前提下防御漏洞攻击.这也是360安全卫士至少第18次为微软0day漏洞提供防护措施,远远领先其他国产安全软件. 0day漏洞,是指安全补丁发布前被外界掌握的有关操作系统或第三方软件的漏洞信息,也是对网民威胁最大的漏洞.微软宣布2014年4月8日之后,将不再为Windows XP操作系统提