行内元素的填充
关于行内元素属性,常见的问题是关于填充和边距。根据一些消息来源,内联元素具有完整的 padding 属性,但缺少 margin-top 和 margin-bottom 属性,只有 margin-left 和 margin-right。
在哪里可以找到官方的边距特定声明
首先,此声明不是 W3 标准中的明确声明。然而,盒模型确实声明了 margin-top 和 margin-bottom “对非替换的内联元素没有影响。”
理解边距属性“没有影响”
在此上下文中的“无效果”并不意味着不存在属性。相反,这意味着这些属性不会影响内联元素的位置。但是,它们的存在是为了继承目的。
示例:Margin 属性的继承
考虑以下代码:
p { border:1px solid red } i { vertical-align:top; } span { margin-top: 20px; margin-bottom: 20px; } b { display:inline-block; } .two { margin:inherit; }
<p><i>Hello</i> <span>World <b class="one">my good friend</b></span></p> <p><i>Hello</i> <span>World <b class="two">my good friend</b></span></p>
中在本例中,由于 .two 规则,第二行的边距继承自父级范围。这种从包含元素继承边距值的行为表明,margin-top 和 margin-bottom 属性确实存在,尽管它们不会直接影响文本等内联元素的位置。
内联的填充属性元素
虽然内联元素确实具有完整的填充属性,但 padding-top 和 padding-bottom 可能不会按预期影响周围的文本。这是因为默认情况下内联元素本质上没有定义的高度。因此,设置 padding-top 或 padding-bottom 可能不会在视觉上改变元素相对于其周围文本的大小或位置。
以上是内联元素真的缺少'margin-top”和'margin-bottom”属性吗?的详细内容。更多信息请关注PHP中文网其他相关文章!