大佬教程收集整理的这篇文章主要介绍了html – 删除CSS弹性框最后一个空格,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<div class="has_flex"> Some text <a href="link">Link</a></div>
变
<div class="has_flex"> Some text<a href="link">Link</a></div>
.has_flex { display: flex; }
<div class="no__flex">Some text <a href="link">Link</a></div> <div class="has_flex">Some text <a href="link">Link</a></div>
我已经将文本包裹在一个范围内,这没有任何区别.
当你不使用display:flex时,你的布局变得像
<div class="has_flex"><!-- --><anonymous style="display: inline">Some text </anonymous><!-- --><a style="display: inline">Link</a><!-- --></div>
文本(包括末尾的空格)包含在anonymous inline box中:
但是,Flexbox布局会阻止flex items:
然后,布局就像
<div class="has_flex"><!-- --><anonymous style="display: block">Some text </anonymous><!-- --><a style="display: block">Link</a><!-- --></div>
这看起来似乎没有直接关系,但是因为the white-space
processing model它是相关的:
因此,当匿名元素和链接都是内联时,空间位于一行的中间.如果你有多个空格,它们会崩溃成一个空格,但不会完全消失.
但是,当您使用flexbox时,每个flex项都有自己的行,因此空间位于一行的末尾.所以它被删除了.
请注意,此问题并非特定于flexbox,也会删除内联块末尾的空格.
.in-blo { display: inline-block; }
<div><span class="inline">Some text </span><a href="link">Link</a></div> <div><span class="in-blo">Some text </span><a href="link">Link</a></div>
但是,在这种情况下,您可以将空间移动到内联块之外.在flexbox中,这是不可能的,因为不会呈现仅包含空格的匿名弹性项目.
解
如果要保留空间,可以将空格设置为其他值. white-space:预包装将允许文本换行,白色空间:pre不会.
.has_flex { display: flex; white-space: pre-wrap; }
<div class="no__flex">Some text <a href="link">Link</a></div> <div class="has_flex">Some text <a href="link">Link</a></div>
以上是大佬教程为你收集整理的html – 删除CSS弹性框最后一个空格全部内容,希望文章能够帮你解决html – 删除CSS弹性框最后一个空格所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。