gpt4 book ai didi

javascript - 有没有办法让 flexbox 等高列与具有不同字体大小和字体系列的文本的基线字体对齐?

转载 作者:行者123 更新时间:2023-12-01 15:23:51 24 4
gpt4 key购买 nike

相等的高度和基线不是问题。但是,如果我想在显示具有不同字体大小的文本的元素上产生悬停效果,它就会不对齐。我愿意使用 Javascript 或任何其他解决方案,但无法找到一种方法来修复具有悬停效果的元素,以便在应用基线时它不会偏离对齐。
简单示例:

.wrapper {
height: 50px;
display: flex;
align-items: baseline;
}

.column {
height: 100%;
display: flex;
align-items: center;
}

.span1, .span2 {
height: 100%;
display: inline-flex;
align-items: flex-end;
}

.span1:hover, .span2:hover {
background-color: gray;
}

.span1 {
justify-content: flex-start;
margin-right: 4px;
font-size: 32px;
}

.span2 {
justify-content: flex-end;
margin-left: 4px;
font-size: 8px;
}
<div class="wrapper">
<div class="column">
<span class="span1">Some content</span>
</div>
<div class="column">
<span class="span2">Some content</span>
</div
</div>

最佳答案

您可以使用一个大的伪元素来模拟悬停效果,该元素将覆盖所有区域,从而产生等列的错觉:

.wrapper {
display: flex;
align-items: baseline;
overflow:hidden;
}

.column {
display: flex;
align-items: center;
}
.column > span {
position:relative;
z-index:0;
}
.span1:hover::before,
.span2:hover::before {
content:"";
position:absolute;
z-index:-1;
top:-200px;
bottom:-200px;
left:0;
right:0;
background-color: gray;
}

.span1 {
margin-right: 4px;
font-size: 32px;
}

.span2 {
margin-left: 4px;
font-size: 8px;
}
<div class="wrapper">
<div class="column">
<span class="span1">Some content</span>
</div>
<div class="column">
<span class="span2">Some content</span>
</div>
</div>

关于javascript - 有没有办法让 flexbox 等高列与具有不同字体大小和字体系列的文本的基线字体对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63496428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com