カスタムチェックボックス(span:before
)内にCSSチェックマーク(span:after
)を縦横に配置しようとしていますが、そのボックスの右に1emの余白を追加していますが、所望の効果を有する。カスタムチェックボックスのセンタリング
CSS:
form label {
display: inline-block;
position: relative;
cursor: pointer;
}
form label:not(:last-child) {
padding-right: 60px;
}
form input[type="checkbox"] {
display: none;
}
form input[type="checkbox"] + span:before {
content: "";
display: inline-block;
position: absolute;
top: 50%;
transform: translateY(-50%);
height: 2ex;
width: 2ex;
background-color: white;
border: 1px solid grey;
box-shadow: inset 0 0 4px 0 rgba(0, 0, 0, 0.3);
margin-right: 3em;
}
form input[type="checkbox"]:checked + span {
position: relative;
cursor: pointer;
}
form input[type="checkbox"]:checked + span:after {
content: "";
position: absolute;
width: 1.2ex;
height: 0.4ex;
background: transparent;
top: 50%;
transform: translateY(-50%);
left: 0.4ex;
border: 3px solid blue;
border-top: none;
border-right: none;
transform: rotate(-45deg);
}
デモ:CodePen
ありがとう!
ええ、それは正確には感じられません。また、チェックボックスとテキストラベルの間に余白を追加しようとしています。 Thanks –
[更新されたフィドル](https://jsfiddle.net/yak613/n81o394s/)を参照してください。 – TricksfortheWeb