css选择器笔记
今天碰到一个问题:怎样根据标记得属性不同而设置不同的样式?
首先想到的:获取所有标记、匹配属性、改变样式。。。
忽然又想起了JQuery中的选择器,于是js代码编程了css代码
tag[attribute=value]{//.......}
css本身的选择器确实可以做很多事情的,就又从网上搜罗了一些,备忘。
CSS选择器笔记
阮一峰 整理
参考网址:456 Berea Street
一、基本选择器
序号
选择器
含义
1.
*
通用元素选择器,匹配任何元素
2.
E
标签选择器,匹配所有使用E标签的元素
3.
.info
class选择器,匹配所有class属性中包含info的元素
4.
#footer
id选择器,匹配所有id属性等于footer的元素
实例:
* { margin:0; padding:0; }
p { font-size:2em; }
.info { background:#ff0; }
p.info { background:#ff0; }
p.info.error { color:#900; font-weight:bold; }
#info { background:#ff0; }
p#info { background:#ff0; }
二、多元素的组合选择器
序号
选择器
含义
5.
E,F
多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔
6.
E F
后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔
7.
E > F
子元素选择器,匹配所有E元素的子元素F
8.
E + F
毗邻元素选择器,匹配所有紧随E元素之后的同级元素F
实例:
div p { color:#f00; }
#nav li { display:inline; }
#nav a { font-weight:bold; }
div > strong { color:#f00; }
p + p { color:#f00; }
三、CSS 2.1 属性选择器
序号
选择器
含义
9.
E[att]
匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略,比如“[cheacked]”。以下同。)
10.
E[att=val]
匹配所有att属性等于“val”的E元素
11.
E[att~=val]
匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素
12.
E[att|=val]
匹配所有att属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以“val”开头的E元素,主要用于lang属性,比如“en”、“en-us”、“en-gb”等等
实例:
p[title] { color:#f00; }
div[class=error] { color:#f00; }
td[headers~=col1] { color:#f00; }
p[lang|=en] { color:#f00; }
blockquote[class=quote][cite] { color:#f00; }
四、CSS 2.1中的伪类
序号
选择器
含义
13.
E:first-child
匹配父元素的
相关文档:
png透明 AlphaImageLoader
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=bEnabled,sizingMethod=sSize,src=sURL)
enabled:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true:默认值。滤镜激活。false:滤镜被禁止。
sizingMethod:可选项。字符串(String)。设置或检索滤镜作用的对象的图 ......
浏览器越来越多,不同的浏览器,不同的版本在页面的渲染上都各不相同。这让网页开发人员很头疼,为了能兼容各个浏览器,人们挖掘出了很多 CSS Hack。下面进行一下总结,如果还有其他的 CSS Hack 欢迎提供。
一) 针对 IE 的 Hack
大部分 CSS Hack 都是针对 IE 的,这是用于我们的 IE "坚强"所致,尤其是 IE6。
#test {
......
1.直接加在对象上
<html>
<head>
<title>title</title>
</head>
<body>
<span style="color:red">red</span>
</body>
</html>
2.加到页面头部
<html>
<head>
< ......
<body style="background-color:#000" mce_style="background-color:#000">
<div style="background-color:#fff; width:500px; height:200px; filter:alpha(opacity='50'); opacity:0.5">这个背景是透明的</div>
</body>
/*IE*/
filter:alpha(opacity='50');
/*FF*/   ......