为什么显示:阻止和显示:内联都存在于一个css文件中?

时间:2016-11-18 08:08:13

标签: html css

.nav ul li a:hover{ 
background:url(../images/left.png) no-repeat left top;
 height:43px; 
 display:block;
 padding:0px 13px 0px 13px;
 margin:-3px -25px 0px 0px;
 position:relative; 
 float:left; 
 display:inline;
 color:#FFF; 
 overflow:hidden;
}

这个css文件同时使用display:block;和display:inline; 你知道为什么吗?

2 个答案:

答案 0 :(得分:0)

这纯粹是CSS的一个例子什么不该做。可能是作者决定使用不同的显示模式并忘记删除之前的显示模式,或者只是简单的疏忽,但浮动和显示模式的混合指向一个不知道自己在做什么的人。

他们要么学习CSS,要么直接添加属性,直到它工作而不理解为什么。

答案 1 :(得分:0)

这可能是一种不好的做法,也可能是疲惫的开发者的错误,不应该重复。然而,它仍然有效,即使是荒谬的。

根据this MDN page

  

当特异性等于多个声明中的任何一个时,CSS中找到的最后一个声明将应用于该元素。

因此,display:block;部分将被后来声明的display:inline;覆盖,将被完全忽略,并且可以安全地删除。