首页 > web前端 > css教程 > 如何在没有额外垂直空间的情况下正确对齐内联块元素?

如何在没有额外垂直空间的情况下正确对齐内联块元素?

Barbara Streisand
发布: 2024-11-30 12:03:10
原创
978 人浏览过

How to Properly Justify Inline-Block Elements Without Extra Vertical Space?

使用“text-align: justify;”对内联块元素进行正确的文本对齐

一些讨论探讨了均匀分布的挑战使用“text-align: justify;”跨内联块元素的文本。然而,一个挥之不去的问题是元素行下方出现的空白垂直空间。

建议的解决方法,如本小提琴中所示,涉及设置“line-height: 0;”在父元素上。但是,这会牺牲之前在子元素上设置的行高。

此小提琴中提出的替代解决方案可以解决此问题,而不会影响line-height:

CSS

.prevNext {
    text-align: justify;
}

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

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

.prevNext:after {
    content: '';
    display: inline-block;
    width: 100%;
}
登录后复制

说明

“:before”上的“display: block” " 具有负下边距的元素会将文本提升一个行高,从而消除多余的行。内联块元素上的“position:relative”抵消了这种位移,但不添加额外的行。

在 margin-bottom 和 top 设置中使用“em”可以容纳任何设置为的行高乘数值。这可确保位移与预期的行高相匹配。

未来清洁解决方案

未来潜在的解决方案采用 webkit 属性:

.prevNext {
    text-align: justify;
    -moz-text-align-last: justify;
    -webkit-text-align-last: justify;
    text-align-last: justify; /* IE */
}
登录后复制

此方法适用于 Firefox 12.0 和 IE8 ,但需要在 Webkit 浏览器中启用实验功能。在 Webkit 版本 39 中,无需“-webkit-”扩展名即可支持此属性,但前提是启用了实验性功能。

以上是如何在没有额外垂直空间的情况下正确对齐内联块元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板