为什么div下第一个span元素会有text-indent?

发布于 2022-09-06 04:24:58 字数 1071 浏览 23 评论 0

https://jsfiddle.net/zz89emkr/1/

.menu-items {
  width: 400px;
  text-indent: 5%;
}    
<div class="menu-items">
    <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Necessitatibus quia maiores voluptatum adipisci iusto perferendis earum quasi, accusamus magni temporibus alias consectetur, provident vel quis nesciunt expedita sit nemo aliquam?</span>
    <div>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Illo quas esse eius. Quos atque ea necessitatibus labore est error hic. At quae veritatis sit aperiam debitis animi provident dolorum dolore?</div>
    <span>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cumque, eaque atque adipisci, fugiat fuga maiores repellendus voluptas non explicabo odio et ut tenetur sint iusto minima unde. Ex, voluptas sed?</span>
</div>

按照我的理解,span是行内元素,text-indent不应该生效。在chrome和safari下第一个span的text-indent和div一样,而在firefox下第一个span的text-indent比div要大一些,看起来像是1.5倍左右。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

回忆那么伤 2022-09-13 04:24:58

缩进只对块容器盒的第一个格式化的行起作用,里面的div继承了缩进属性所以他的first-line也会缩进
https://www.w3.org/TR/2011/RE...

这里chrome显示好像更接近规范,因为中间的div会让span被包裹进匿名块框中,对匿名块框来说,他继承了这个缩进属性,包含块是menu-items。

远山浅 2022-09-13 04:24:58

因为你是给span的父元素设置的text-indent,父元素是块级元素,所有父元素里面的子元素span会有效。
你如果单独给span就会无效,因为span是行内元素。

九厘米的零° 2022-09-13 04:24:58

图片描述

因为对父元素(块级元素)应用了text-indent,text-indent有继承值,所以span元素也有效。但是,单独对span元素设置text-indent无效,因为它是行内元素。https://developer.mozilla.org...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文