【问题标题】:<a> Tag Responding Differently To <div><a> 标签对 <div> 的响应不同
【发布时间】:2014-07-04 17:48:26
【问题描述】:

对不起标题,但我不知道如何措辞。

我有一个我正在创建的网页的 html 文档,我一直在使用 &lt;div&gt; 标签来设置页面的结构,一切看起来都很好。但是,当我将 &lt;div&gt; 标签更改为 &lt;a&gt; 标签时,它们会消失,除非它们向左(也可能是向右)浮动。有谁知道这是为什么以及如何使&lt;a&gt; 标签工作而不必浮动它们?

【问题讨论】:

  • 一些代码或小提琴将使问题变得有用。
  • &lt;div&gt; 是块元素,&lt;a&gt; 是内联元素。对于有效的 HTML,&lt;a&gt; 应该嵌套在块元素中。否则,如果您不关心验证,则只需在您的 CSS 中的 a 下添加 display: block

标签: html css tags anchor


【解决方案1】:

&lt;div&gt; 标签的呈现方式与&lt;a&gt; 标签完全不同:div 是块标签,但锚点是内联的。

尝试在您正在使用的锚点上设置以下 CSS:

display: block;

如下所述,添加浮点数会强制渲染模式阻塞,因此具有相同的效果。

【讨论】:

    【解决方案2】:

    默认情况下,div 标签是块级元素,a 标签是内联级元素。

    当您浮动a 元素时,它们的显示行为变为块级。

    这是 CSS2 规范中定义的标准行为。

    如果您想解决此问题,您需要将display: block 应用于相关的a 标记。

    请注意,从 HTML5 开始,您可以在 a 标记中添加块级元素。

    【讨论】:

    • 啊,当然,我完全忘记了它们是内联的。我已将 CSS 更改为 display: block,一切正常。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多