我见过一些人在CSS编写类似在CSS中重复样式的目的是什么?
.together
{
display:inline;
display:inline-block;
}
不仅限于展示风采,但说的背景,大小或背景图片为例
这个又是什么目的?我的意思是第二个将会覆盖第一个,所以为什么要麻烦?
我见过一些人在CSS编写类似在CSS中重复样式的目的是什么?
.together
{
display:inline;
display:inline-block;
}
不仅限于展示风采,但说的背景,大小或背景图片为例
这个又是什么目的?我的意思是第二个将会覆盖第一个,所以为什么要麻烦?
有可能它是为了浏览器兼容性而编写的。他们可能希望该元素的display
值为inline-block
,但并非所有浏览器都支持所有元素。 Sitepoint对于display property的兼容性有很好的参考。
background
属性是所有背景相关属性的缩写,所以通常在一个选择器上设置background
,然后在其他选择器上稍后覆盖特定的背景属性。再次,您可能有多个后台声明以实现浏览器兼容性。
通常这种类型的行为表明浏览器黑客兼容性。当浏览器检测到他们不知道的属性或值时,他们会忽略它。因此,如果您首先放置最广泛接受的属性,那么浏览器将“回退”到该行为,如果后者的属性都不兼容。
让我们看看下面的例子。
<html>
<head>
<style>
.carlist
{
background-color: red;
height: 30px;
margin: 10px;
margin: 20px;
}
</style>
</head>
<body onload="loadCars()">
Check div style.
<div id="mydiv" class="carlist"></div>
</body>
</html>
在上面的例子中,我们有2个边界声明。我检查并发现第二次声明被浏览器(FF,IE,Chrome)所接受。所以我想如果我们使用这个浏览器兼容性,那么浏览器特定的风格应该最后声明。但还有其他方法可以定义浏览器特定的样式。所以最好定义单个属性。
'margin'属性都是一样的;这个例子对浏览器兼容性没有帮助。 – 2012-08-07 05:03:48
我的重点不在于浏览器的兼容性。我的意图是告诉浏览器在重复声明存在时接受最新的声明。 – Narendra 2012-08-07 05:05:43
好的。在我第一次通读这个答案时,我不清楚这一点。 – 2012-08-07 05:14:47
如果浏览器同时使用这两个值?这意味着订单也很重要? – user1233587 2012-08-07 04:59:55
是的,订单很重要。应用的最后一个有效值是使用的值。 – 2012-08-07 05:02:10
是的,理解这两者的浏览器将使用最后一个。它的行为应该与两个属性声明在顺序选择器组中的行为相同。 – HaleFx 2012-08-07 05:04:08