html - 内联元素的宽度在改变而不是作为一个 block ?

标签 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>

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

The W3C’s CSS2 spec states that for Inline, non-replaced elements, “the ‘width’ property does not apply”.

谁能给我解释一下,为什么会这样?谢谢...

最佳答案

我在 Firefox、IE、Chrome 和 Opera 中试过了,如果你不把 anchor 元素做成 block 元素,它们都不会应用宽度。

不过,我确实尝试过使用 jsfiddle,其中的页面具有文档类型。您的页面没有文档类型,因此以怪癖模式呈现,这可能会在某些浏览器中触发异常行为。

关于html - 内联元素的宽度在改变而不是作为一个 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6716094/

相关文章:

javascript - Onclick 与 Onsubmit 问题(真/假和警报行为?)

javascript - 如何通过单个 html 表单将文件上传到多个服务器

javascript - 使用javascript定位图像

css - 隐藏 primefaces 子表的空标题

jquery - 根据具有背景大小封面的内容固定图像大小比例

php - 为什么我的 PHP 计算器不工作? (字符串函数..)

html - 额外的 Wordpress 主题 - 特定分辨率的移动菜单

html - 动态容器

css - 使用来自另一个元素的选择器定位一个元素

html - 使嵌套的 CSS 菜单响应(100% 宽度)