【问题标题】:Flexbox disables html break tag after `</i>` tag?Flexbox 在 `</i>` 标记之后禁用 html 中断标记?
【发布时间】:2017-03-26 20:10:45
【问题描述】:

我尝试在 fontello 图标后插入&lt;br /&gt; 标记来换行,发现当 div 的样式为“display:flex”时这是不可能的。添加空白也被禁用。可以在某个字符后添加新行,但新行从 &lt;i&gt; 标记下方开始。为什么以及如何解决这个问题? PS:我注意到在 Chrome 中的情况比在 Firefox 中要好,但新行仍然在&lt;i&gt; 标签下开始。 示例:

.with_flexbox{
display:flex;
color:purple;
}
<div class="with_flexbox red">
With flexbox I can't use &lt;br /&gt; tag right after <i>&lt;i&gt;</i><br /> tag
</div>
<div class="without_flexbox">
Without flexbox break after <i>&lt;i&gt;</i><br />
tag works fine.
</div>
<div class="with_flexbox">
White space is also disabled right after <i>&lt;i&gt;</i>    tag. <br />And why this new line starts beneath &lt;i&gt; tag?
</div>

【问题讨论】:

  • 这里发生的事情是&lt;i&gt;标签变成了一个弹性项目,它之前和之后的文本也是一个匿名弹性项目,因此它不会在正常意义上换行.. . 所以这是正常/预期的行为
  • 好的,所以我只需要 flex-direction: column;但是这种行为让我感到惊讶(我是初学者);我会把这个问题留给其他菜鸟
  • flex-direction: column 没有修复任何东西并使br 工作,它只是垂直流动弹性项目。

标签: flexbox line-breaks fontello


【解决方案1】:

在您的弹性容器的第三个示例中,您的弹性容器的内容被&lt;i&gt; 节点拆分为 3 个弹性项目,您将获得 1 个项目,其中包括: White space is also disabled right after,第二项&lt;i&gt;&lt;i&gt;&lt;/i&gt; 和第三项tag. &lt;br&gt; And why this new line starts beneath &lt;i&gt; tag?。一切看起来都很好,你会得到 3 个水平显示的节点,单词标签后有一个换行符,就像你写的一样。

将文本片段包装到单独的标签中不仅在语义上有意义,而且有助于您维护代码。

如果你想坚持使用flexbox,你应该单独命名每个节点并使用flex-direction: column而不是br标签,或者你可以为两个元素设置flex基础并使用flex-wrap。下面附上示例 sn-p。

.item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  outline: 1px solid red;
}

.item__icon {
    outline: 1px solid blue;
}

.item__intro {
  outline: 1px solid green;
}

.item__description{
  outline: 1px solid yellow;
}
<figure class="item">
 <p class="item__intro">White space is also disabled right after</p>   
 <i class="item__icon">&lt;i&gt;</i>
 <figcaption class="item__description">tag. <br />And why this new line starts beneath &lt;i&gt; tag?</figcaption>
</div>

【讨论】:

  • 不要使用flex-direction: column 代替br 标签,flex-direction: column 没有修复任何东西,它只是垂直流动弹性项目。跨度>
  • 没有什么需要修复的,这个 sn-p 显示了弹性项目是如何在弹性容器内对齐的,同时也解决了操作问题。你看起来是一个友善且乐于助人的人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
  • 2021-02-20
  • 1970-01-01
  • 2020-01-21
相关资源
最近更新 更多