【发布时间】:2017-04-13 14:19:47
【问题描述】:
我最近一直在研究很酷的设计。其中一项功能的工作方式是在选中复选框时,其字体变为粗体。问题在于,在改变字体粗细的同时,它会稍微移动其他元素。任何想法如何在不定位的情况下用绝对位置标记它。我创建了一个显示问题的片段。
li{
list-style:none;
display:inline-block;
margin-right:20px
}
input[type="checkbox"]:checked + label{
font-weight:bold;
}
<ul>
<li>
<input type="checkbox" id="test">
<label for="test"> My label 1
</li>
<li>
<input type="checkbox" id="test2">
<label for="test2"> My label 2
</li>
<li>
<input type="checkbox" id="test3">
<label for="test3"> My label 2
</li>
</ul>
【问题讨论】:
-
可能很有帮助 - Inline elements shifting when made bold on hover,这个想法是在 :after 伪元素中为粗体(或任何 :hover 状态样式)内容保留空间,并使用标题标签作为内容源。跨度>
-
设置渲染文本的元素的宽度。