当前位置:首页 » 网站技术 » HTML & CSS

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似乎更加有效率一些。

继续阅读
实用的CSS常见的问题和技巧总结
CSS清除浮动的最优方法
灵活运用CSS有必要扔掉IE吗?
扔掉Table使用XHTML+CSS的布局
根本不存在DIV+CSS布局这回事
换行CSS推荐样式 兼容IE和FF
CSS三行三列等高布局
为什么要学习CSS?十大理由学习CSS
CSS中的常用单位
发表评论

昵称:
最新评论
暂时没有评论!