内联元素的宽度是否在变化而不会成为块?

时间:2011-07-16 07:41:26

标签: html css

在下面的代码中:

<html>
<head>
    <style type="text/css">
    ul
    {
     list-style-type:none;
     margin:0;
     padding:0;
    }
    a
    {
     display:block;
     width:60px;
     background-color:#dddddd;
    }
 </style>
 </head>

 <body>
      <ul>
      <li><a href="#home">Home</a></li>
      <li><a href="#news">News</a></li>
      <li><a href="#contact">Contact</a></li>
      <li><a href="#about">About</a></li>
      </ul>
 </body>
 </html>

在这里,即使我没有将锚显示为块然后仍在改变它的宽度,它实际上正在改变。但是,我已经读过:

  

W3C的CSS2规范指出,对于Inline,未替换的元素,“'width'属性不适用。”

任何人都可以向我解释一下,为什么会这样?嗯......

1 个答案:

答案 0 :(得分:1)

我在Firefox,IE,Chrome和Opera中尝试了这个,如果你没有将锚元素变成块元素,它们都不会应用宽度。

但我尝试使用jsfiddle,其中页面有doctype。您的页面没有doctype,因此它以quirks模式呈现,这可能会在某些浏览器中触发异常行为。