css-demo 시리즈의 checkbox 구현
<div class="wrap">
<label> :</label>
<div class="cb-wrap"> <!-- checkbox, div -->
<input type="radio" name="sex1" value=" "></input> <!-- , -->
<span class="cb-icon"></span> <!-- , checkbox -->
<span class="cb-label"> </span> <!-- , -->
</div>
<div class="cb-wrap">
<input type="radio" name="sex1" value=" "></input>
<span class="cb-icon"></span>
<span class="cb-label"> </span>
</div>
</div>
css 구현:
.wrap {
label {
display: inline-block;
width: 50px;
text-align: right;
margin-right: 15px;
}
}
.cb-wrap {
display: inline-block; // div , ,
width: 50px;
height: 30px;
margin-right: 15px;
line-height: 30px;
position: relative; //
input {
opacity: 0; // 0
width: 100%; // checkbox(.cb-wrap)
height: 100%;
z-index: 2; //
position: absolute; // .cb-wrap
top: 0;
left: 0;
}
// :checked, checkbox
input:checked + span { // “ ”, checkbox
background: red;
}
input:checked ~ .cb-label { // “ ”,
color: red;
}
.cb-icon { // checkbox
display: inline-block; // span , !
width: 16px;
height: 16px;
border: 1px solid #ddd;
border-radius: 8px;
position: relative; // ,
top: 3px;
&:after { // (√)
content: "";
display: inline-block;
width: 9px;
height: 6px;
border-left: 1px solid #fff;
border-bottom: 1px solid #fff;
transform: rotate(-45deg);
position: absolute;
top: 3px;
right: 3px;
}
}
}
(예제2는 실례1에 비해 간단하고 원소로 시뮬레이션을 할 필요가 없는 체크박스이며
span
원소도 하나 없어졌다. 차이점은 cb-icon
의 실현이 다르다는 것이다)<div class="wrap">
<label> :</label>
<div class="cb-wrap">
<input type="radio" name="sex2" value=" "></input>
<span class="cb-icon"> </span>
</div>
<div class="cb-wrap">
<input type="radio" name="sex2" value=" "></input>
<span class="cb-icon"> </span>
</div>
</div>
css 구현:
.cb-wrap {
display: inline-block;
width: 50px;
height: 30px;
margin-right: 15px;
line-height: 30px;
position: relative;
input {
opacity: 0;
width: 100%;
height: 100%;
z-index: 2;
position: absolute;
top: 0;
left: 0;
}
input:checked + span {
background: orange;
color: #fff;
}
.cb-icon {
display: inline-block;
width: 50px;
height: 25px;
border: 1px solid #ddd;
text-align: center;
line-height: 25px;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.