我看到有些人在 css 中写了类似的东西
.together
{
display:inline;
display:inline-block;
}
不仅限于显示样式,还以背景大小或背景图像为例
这样做的目的是什么?我的意思是第二个将覆盖第一个,那何必呢?
通常这种类型的行为表明浏览器为了兼容性而被黑客入侵。当浏览器检测到他们不知道的属性或值时,他们会忽略它。因此,如果您首先放置最广泛接受的属性,如果后面的属性都不兼容,浏览器将“回退”到该行为。
有可能它是为了浏览器兼容性而编写的。他们可能希望元素的display
值为inline-block
,但并非所有浏览器都支持所有元素。Sitepoint 对display 属性的兼容性有很好的参考。
该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)接受了第二个声明。所以我认为如果我们将其用于浏览器兼容性,那么最终应该声明最特定于浏览器的样式。但是还有其他方法可以定义浏览器特定的样式。所以最好定义单个属性。