IE7支持的CSS属性和属性选择符
以下是IE7中新支持的属性:
min-height,max-height,min-width,max-width
这个hack还可以使最大高度兼容IE6,你可以举一反三:
{height:350px;overflow:hidden;}
以下是IE7中新支持的属性选择符:
精确属性匹配 [=] : 只有当属性完全匹配指定值的时候, 则会应用该css定义.
存在匹配 []: 只要存在这样的属性, 则应用该css定义.
连字号匹配[|=]: 使用连字号匹配的css定义. 例如: <span abc=”en-us”>dddd</span> 它就能应用 <style>[abc|=”en”] {color:red;}</style>
前缀匹配[^=]: 只有是指定属性以指定字符开始, 则应用该css定义.
子字符串匹配[*=]: 只有指定属性存在指定字符, 则应用该css定义.
后缀匹配[$=]: 只有指定属性以指定字符结尾, 则应用该css定义.
空白分隔匹配[~=]: 是指使用空格或空白间隔的属性值, 则应用该css定义. 例如: <span abc=”ddd here abc”>dddd</span> 它就能应用<style>[abc~=”here”]{color:red;}</style>
这里有几个例子:
<HTML>
<HEAD>
<TITLE>CSS3: Attribute Selectors</TITLE>
<style>
.test {color: green;display: none;}
.fail {color: red;}
[special] {display: block;}
[attr=”Value”] {display: block;}
[attr^=”B”] {display: block;}
[attr$=”n”] {display: block;}
[attr*=”ai”] {display: block;}
[attr|=”en”] {display: block;}
[attr~=”Two”] {display: block;}
[class=”fail”] {display: none;}
</style>
</HEAD>
<BODY>
<h1>CSS3: Attribute Selectors</h1>
<h2>Attribute Selector Tests</h2>
<div class=”test” special>1. Test for [] (Existence) succeeded.</div>
<div class=”test” attr=”Value”>2. Test for [=] (Value) succeeded.</div>
<div class=”test” attr=”Blue”>3. Test for [^=] (Prefix) succeeded.</div>
<div class=”test” attr=”Green”>4. Test for [$=] (Suffix) succeeded.</div>
<div class=”test” attr=”Contains”>5. Test for [*=] (Substring) succeeded.</div>
<div class=”test” attr=”en-us”>6. Test for [|=] (Hyphen) succeeded.</div>
<div class=”test” attr=”One Two Three”>7. Test for [~=] (Token) succeeded.</div>
<div class=”fail”>Attribute selector tests failed.</div>
</BODY>
</HTML>
1、对伪类的支持。IE6和更低的版本对于伪类的支持仅限于a标签,诸如“:hover”、“:active”、“:focus”之类的伪类理论上是应该适用于所有元素的,但是IE6和更低版本抛弃了它们。这次IE7有选择地支持了“:hover”。
div:hover {
background-color: #B7B7B7;
}
诸位可以试试。
2、对子选择器的支持。现在在IE7里你可以使用如下的定义:
#block1 > h3 {
color: red;
}
3、对相邻选择器的支持。你可以指定同一父元素下的紧邻某个元素之后的元素的样式
* + p {
color: Blue;
}
4、对相邻选择器的扩展(?也许是bug),IE7支持“*+html”这样的通用选择器和相邻选择器的组合,注意,这里是“*+html”,很奇怪吧? FF2.0和其他浏览器是不支持这样的写法的,不过都支持“*+body”这样的。所以,对IE7的CSS HACK就可以利用*+html来写了。
5、对属性选择器的支持。支持了
a[rel="nofollow"]
[class="ie7"]
a[rel~="my"]
这几个属性选择器,但是还是不支持a[titile]。
选择器在平时的应用里很少用到,有一种说法是渲染会比其他的慢。不过很多选择器的效果在这之前是只能使用js来实现的,相对于js,css似乎更加有效率一些。
- 暂时没有评论!