首页 >web前端 >css教程 >如何消除合理的内联块元素下方的额外垂直空间?

如何消除合理的内联块元素下方的额外垂直空间?

Linda Hamilton
Linda Hamilton原创
2024-12-13 03:19:12614浏览

How to Eliminate Extra Vertical Space Below Justified Inline-Block Elements?

如何正确对齐“text-align: justify;”内联块元素

虽然之前的讨论已经探索了使用“text-align: justify”均匀分布内联块元素的有效方法,但仍然存在一个持久的问题:最后一行下方不需要的垂直空间。

当前解决方法

可以使用以下 CSS 和HTML 结构:

HTML:

<div class="prevNext">
  <a href="#">Link 1</a>
  <a href="#">Link 2</a>
</div>

CSS:

.prevNext {
    text-align: justify;
}

.prevNext a {
    display: inline-block;
    position: relative;
    top: 1.2em; /* adjust to your line-height */
}

.prevNext:before{
    content: '';
    display: block;
    width: 100%;
    margin-bottom: -1.2em; /* adjust to your line-height */
}

.prevNext:after {
    content: '';
    display: inline-block;
    width: 100%;
}

说明:

具有负下边距的 :before 元素会提升文本行,消除多余的空间。内联块元素上的相对定位抵消了这种转变,而无需添加额外的行。 em 单位确保边距对齐,无论使用的行高如何。

未来的解决方案

近期的解决方案涉及使用 text-align-last 属性:

.prevNext {
    text-align: justify;
    text-align-last: justify; /* IE */
}

这消除了对额外 CSS 技巧的需要,但目前需要在 Webkit 中激活实验性功能

处理缩小文本问题

如果缩小删除了内联块元素之间的空格,请在锚标记之间添加不间断空格字符 ( )。

以上是如何消除合理的内联块元素下方的额外垂直空间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn