[英]How can I vertically align a font-awesome input checkbox with its label?
我在使用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/pbRwgQ上的 Codepen
编辑:我希望标签和复选框沿其中心轴垂直对齐。 向标签添加样式{vertical-align:middle}无效。 标签的相对位置将移动文本和复选框。 不能更改复选框或文本的字体大小。
添加vertical-align: middle;
到.checkbox-green + label:在此之前
假设您想将它们居中,则需要执行以下操作。 注意我不是CSS向导,因此这可能不是理想的解决方案。
的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";
position: relative;
top: 8px;
}
.checkbox-green:hover + label:before { color: $brand_green--dark; }
.checkbox-green:checked + label:before { content: "\f046"; }
添加vertical-align: middle;
标签元素。 它说该项目放置在彼此中间。
只需label::before
伪选择器label::before
将以下属性添加到label::before
,它将垂直对齐。
.checkbox-green + label::before{
position:relative;
top:12px;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.