【问题标题】:What is wrong with this HTML5 <address> element?这个 HTML5 <address> 元素有什么问题?
【发布时间】:2011-02-07 15:29:44
【问题描述】:
<div id="header-container">
      <address>
        <ul>
            <li>lorem ipsum</li>
            <li>(xxx) xxx-xxxx</li>
        </ul>
    </address>
</div>

CSS 看起来像这样:

#header-container address {float: right; margin-top: 25px;}

当我加载页面时,它在 Chrome 和 IE 中看起来不错,但在 Firefox 中它完全忽略了样式。当我在 firefox 中查看源代码时,它看起来像上面一样,但在 Firebug 中它看起来像这样:

<div id="header-container">
    <address> </address>
    <ul>
         <li>lorem ipsum</li>
         <li>(xxx) xxx-xxxx</li>
    </ul>
</div>

【问题讨论】:

标签: css firefox html stylesheet


【解决方案1】:

HTML5 仍是草稿。 Firefox 3.6 还不完全支持 HTML5。

而根据HTML4 specaddress只能包含inline元素:

<!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
<!ATTLIST ADDRESS
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

这就是 Firefox 认为它无效并且您的分页符的原因。

【讨论】:

    【解决方案2】:

    无序列表不能包含在地址标签内。我使用 firebug 进行检查,Firefox 将关闭地址标签移动到无序列表之前。

    【讨论】:

      【解决方案3】:

      将显示块添加到 CSS。然后,在关闭地址之前添加 clear_both div。 这将解决内联元素内的块元素的任何问题。

      你的 CSS:

      #header-container address {display: block; float: right; margin-top: 25px;}
      .clear { clear: both; }
      

      HTML:

      <div id="header-container">
        <address>
          <ul>
            <li>lorem ipsum</li>
            <li>(xxx) xxx-xxxx</li>
          </ul>
          <div class="clear"></div>
        </address>
      </div>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        • 2013-09-22
        • 1970-01-01
        • 1970-01-01
        • 2012-05-26
        相关资源
        最近更新 更多