4

我看到有些人在 css 中写了类似的东西

.together
 {
display:inline;
display:inline-block;
 }

不仅限于显示样式,还以背景大小或背景图像为例

这样做的目的是什么?我的意思是第二个将覆盖第一个,那何必呢?

4

3 回答 3

7

通常这种类型的行为表明浏览器为了兼容性而被黑客入侵。当浏览器检测到他们不知道的属性或值时,他们会忽略它。因此,如果您首先放置最广泛接受的属性,如果后面的属性都不兼容,浏览器将“回退”到该行为。

于 2012-08-07T04:54:40.677 回答
6

有可能它是为了浏览器兼容性而编写的。他们可能希望元素的display值为inline-block,但并非所有浏览器都支持所有元素。Sitepoint 对display 属性的兼容性有很好的参考。

background属性是所有与背景相关的属性的简写,因此通常background在一个选择器上设置,然后仅在其他选择器上覆盖特定的背景属性。同样,您可能有多个背景声明以实现浏览器兼容性。

于 2012-08-07T04:56:17.587 回答
-2

让我们看下面的例子。

<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)接受了第二个声明。所以我认为如果我们将其用于浏览器兼容性,那么最终应该声明最特定于浏览器的样式。但是还有其他方法可以定义浏览器特定的样式。所以最好定义单个属性。

于 2012-08-07T05:01:38.473 回答