我正在构建一个自定义复选框,功能几乎就在那里,但样式还有很长的路要走。
我有一些问题,
我担心我似乎无法在不使用左侧位置填充的情况下使支票居中。
HTML
input[type=checkbox] {
display: none;
}
input[type=checkbox] + .accord-text:before {
width: 30px;
height: 30px;
border-radius: 200%;
background-color: #d6e4ec;
border: 1px solid #000;
display: block;
font-size: 150%;
font-weight: 900;
content: "";
color: green;
}
input[type=checkbox]:checked + .accord-text:before {
display: table;
content: "\2713";
}
CSS
link_to_project(project,{:id=>project.id})
答案 0 :(得分:3)
text-align: center;
,然后从复选框中删除style="float:left;"
accord-text
div中删除文本并将其放在外面。
.row{
display: flex;
flex-direction: row;
}
input[type=checkbox] {
display: none;
}
input[type=checkbox] + .accord-text:before {
width: 30px;
height: 30px;
border-radius: 200%;
background-color: #d6e4ec;
border: 1px solid #000;
display: block;
font-size: 140%;
font-weight: 900;
content: "";
color: green;
}
input[type=checkbox]:checked + .accord-text:before {
display: table;
content: "\2713";
text-align: center;
}
<div class="row">
<label for='product-45-45'>
<input type='checkbox' style="float:left;" id='product-45-45' />
<div class="accord-text">
</div>
</label>
<strong>header:</strong> sub text
<strong>more text!</strong>
</div>
答案 1 :(得分:2)
检查此代码片段时,我已经修复了高度问题,
将display:block
和max-height
添加到此input[type=checkbox]:checked + .accord-text:before
input[type=checkbox] {
display: none;
}
label {
float:left;
}
input[type=checkbox] + .accord-text:before {
width: 30px;
height: 30px;
border-radius: 200%;
background-color: #d6e4ec;
border: 1px solid #000;
display: block;
font-size: 150%;
font-weight: 900;
content: "";
color: green;
text-align:center;
max-height:30px;
}
input[type=checkbox]:checked + .accord-text:before {
display: table;
content: "\2713";
max-height:30px;
display:block;
}
span {
float:left;
padding-left:5px;
}
<label for='product-45-45'>
<input type='checkbox' style="float:left;" id='product-45-45' />
<div class="accord-text"></div>
</label>
<span><strong>header:</strong> sub text
<strong>more text!</strong>
</span>
答案 2 :(得分:0)
您需要删除为左侧浮动输入设置样式的内联代码,在浮动打开时不能将其居中。然后添加保证金:0自动将其置于中心位置:
input[type=checkbox]:checked {
float: none;
}
input[type=checkbox] + .accord-text:before {
margin: 0 auto;
width: 30px;
height: 30px;
border-radius: 200%;
background-color: #d6e4ec;
border: 1px solid #000;
display: block;
font-size: 150%;
font-weight: 900;
content: "";
color: green;
}