【发布时间】:2017-09-15 05:00:36
【问题描述】:
请参阅此笔以获取示例和一种解决方案:https://codepen.io/MaxViewUp/pen/YrXzRG
我有一个内联标题,其宽度将根据文本宽度而定,我在其中有一个 :after(或者如果你愿意,还有一个 div)和 inline-block,宽度为 70%。我使用 inline-blocks 是因为我有这个标题的 3 种变体(左、右和中),所以我只需更改文本方向即可更改标题。
问题: inline-block 元素在文本中有一个奇怪的不可见“margin-top”。我想知道为什么会发生这种情况以及更好的解决方案。我认为这与font-size(更大的字体大小更大的间距)有关,但我不确定。
到目前为止的解决方案:
-
font-size: 0- 不是一个好的解决方案,因为它会弄乱 HTML; -
:after上的display:block或float:left- 不是一个好的解决方案,因为文本对齐不会影响它;
如果有人确切知道为什么会发生这种情况,请解释一下。
CSS 代码:
.main-title {
display: inline-block;
font-size: 24px;
}
.main-title:after {
content: '';
display: inline-block;
width: 70%;
height: 2px;
background: green;
}
.main-title-wrapper {
margin: 20px 0;
}
.main-title-wrapper.right {
text-align: right;
}
.main-title-wrapper.center {
text-align: center;
}
注意 我想解决这个问题,但我真正需要的是发生这种情况的原因(文档等)。感谢您的帮助。
【问题讨论】:
标签: html css font-size display