Html 为什么会多次重写此背景属性?

Html 为什么会多次重写此背景属性?,html,css,Html,Css,我仍在尝试清理CSS,并试图理解作者的意思。我总是试图理解别人做了什么,因为我认为人们都很聪明,如果他们这样做,一定有原因 通常更改的是属性的名称(-webkit-box-shadow,-moz-box-shadow,box-shadow等),但这里是值,我以前从未见过 似乎他多次试图覆盖这个背景属性。我以前从未见过这种情况。这是一个好的做法还是一个坏的做法,如果这是一个坏的做法,那么写这个CSS的干净方法应该是什么: .nav.side-menu> li.active > a {

我仍在尝试清理CSS,并试图理解作者的意思。我总是试图理解别人做了什么,因为我认为人们都很聪明,如果他们这样做,一定有原因

通常更改的是属性的名称(
-webkit-box-shadow
-moz-box-shadow
box-shadow
等),但这里是值,我以前从未见过

似乎他多次试图覆盖这个
背景属性。我以前从未见过这种情况。这是一个好的做法还是一个坏的做法,如果这是一个坏的做法,那么写这个CSS的干净方法应该是什么:

.nav.side-menu> li.active > a {
    color: #ff0000;
    text-shadow: rgba(0, 0, 0, 0.25) 0 -1px 0;
    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5b6479), color-stop(100%, #4c5566)), #686e78;
    background: -webkit-linear-gradient(#334556, #2C4257), #2A3F54;
    background: -moz-linear-gradient(#334556, #2C4257), #2A3F54;
    background: -o-linear-gradient(#334556, #2C4257), #2A3F54;
    background: linear-gradient(#334556, #2C4257), #2A3F54;
    -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0 1px 0, inset rgba(255, 255, 255, 0.16) 0 1px 0;
    -moz-box-shadow: rgba(0, 0, 0, 0.25) 0 1px 0, inset rgba(255, 255, 255, 0.16) 0 1px 0;
    box-shadow: rgba(0, 0, 0, 0.25) 0 1px 0, inset rgba(255, 255, 255, 0.16) 0 1px 0;
}
以下是PyCharm对CSS的看法:仅
背景:-moz线性渐变(#334556,#2C4257),#2A3F54是已知的

这些是,开发人员没有多次尝试重写属性,之所以这样做,是因为浏览器与某些css属性兼容,这些css属性对于开发人员使用的版本中浏览器支持的css来说是实验性的或不常见的

因此,
-moz-
适用于Mozilla Firefox,
-webkit-
适用于Chrome、Safari和Opera(较新版本),
-ms-
适用于Microsoft Explorer和Edge,
-o-
适用于较旧版本的Opera

当你遇到类似这样的事情时,就像代码对浏览器说“嘿,我知道也许你知道这个属性,我知道它的名字是x,但也许你知道它的名字是-vendor-x”


但更多信息请参见链接。希望有帮助:)

覆盖通常意味着浏览器兼容性问题。否则也可能是懒惰;)@谢谢你的评论。。。但这是评论还是评论?如果你能回答更多的细节,那就太好了……这些都是厂商的前缀。更多信息-->我不能100%确定答案是否正确,这就是我发表评论的原因,抱歉inconvinience@ovokuro好啊那么为什么PyCharm认为它被覆盖了呢?不是吗?你的链接是给西班牙人的:)。。。但我想知道为什么PyCharm认为它被覆盖了?不是吗?哦,对不起,有一个新链接。它显示为好像它已经覆盖了css,即使您转到浏览器开发人员控制台,它也会以这种方式显示,但更像是消除了不适合该浏览器的代码。如果没有供应商前缀,某些css可能无法在特定浏览器上呈现。