【发布时间】:2023-03-04 03:56:01
【问题描述】:
我正在使用 font-awesome 代替默认复选框,并且它们未与其标签垂直对齐。如何在不移动复选框本身的情况下垂直对齐它们或定位标签?
HTML
<div class="row">
<input type="checkbox" class="checkbox-green" id="authorized">
<label for="authorized">I am authorized to work in the United States.</label>
</div>
<div class="row margin-top-12">
<input type="checkbox" class="checkbox-green" id="drugs">
<label for="drugs">I am not currently using illegal drugs.</label>
</div>
<div class="row margin-top-12">
<input type="checkbox" class="checkbox-green" id="felony">
<label for="felony">I have not been convicted of a felony. </label>
</div>
CSS
@import url(//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css);
.checkbox-green { display: none; }
.checkbox-green + label:before {
font-family: FontAwesome;
font-size: 34px;
width: 50px;
color: $brand_green;
display: inline-block;
cursor: pointer;
content: "\f096";
}
.checkbox-green:hover + label:before { color: $brand_green--dark; }
.checkbox-green:checked + label:before { content: "\f046"; }
http://codepen.io/3chordme/pen/pbRwgQCodepen
编辑:我希望标签和复选框沿其中心轴垂直对齐。将样式 { vertical-align: middle } 添加到标签不起作用。标签的相对定位会移动文本和复选框。更改复选框或文本的字体大小不是一个选项。
【问题讨论】:
-
技术上它们是垂直对齐的。您刚刚使复选框更大,并且两者都对齐底部。你想让它们居中对齐吗?
-
一种方法是使用相同的
font-sizecheckbox:before和label。 -
@disso 是的,我希望复选框图标和标签文本垂直居中,以便它们沿垂直轴对齐。