250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 백엔드
- 프론트엔드
- SWIFT
- button
- react
- keyframes
- iPhone
- php
- image
- HTML
- xcode
- 애니메이션
- iOS 개발자
- ipad
- javascript
- css3
- 자바스크립트
- hover
- IOS
- CSS
- effect
- MAC
- 비전공자
- jQuery
- 풀스택
- 개발자
- html5
- front-end
- 비전공 개발자
- Animation
Archives
- Today
- Total
비전공자 개발일기
Stylish Checkbox 본문
728x90
SMALL
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>STYLISH CHECKBOX</title>
<link rel="stylesheet" href="style.css">
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css' integrity='sha512-MV7K8+y+gLIBoVD59lQIYicR65iaqukzvf/nwasF0nqhPay5w/9lJmVM2hMDcnK1OnMGCdVK+iQrJ7lzPJQd1w==' crossorigin='anonymous'/>
</head>
<body>
<input type="checkbox" name="checkbox" id="input-toggle" class="input-toggle" />
<div class="checkbox__container">
<label for="input-toggle" class="label-for-toggle">
<span class="ball arrow">
<i class="fas fa-arrow-right"></i>
</span>
</label>
</div>
</body>
</html>
*,
*::after,
*::before {
margin: 0;
padding: 0;
box-sizing: border-box;
position: relative;
}
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: hsl(188deg 3% 83%);
}
:root {
--container: 16rem;
--height: 5.125rem;
--ball: 4.25rem;
}
[type="checkbox"] {
appearance: none;
display: none;
}
.checkbox__container {
transform: scale(1.2);
display: grid;
inline-size: var(--container);
block-size: var(--height);
border-radius: 100vh;
background: linear-gradient(45deg, hsl(39, 100%, 80%), hsl(300, 47%, 85%));
box-shadow: 0px 1.9px 3.2px rgba(0, 0, 0, 0.25);
outline: 1px solid hsl(0, 0%, 60%, 0.2);
}
.label-for-toggle {
cursor: pointer;
isolation: isolate;
display: grid;
place-content: center start;
width: inherit;
border-radius: inherit;
border: 16px solid hsl(200, 0%, 100%, 0.825);
box-shadow: 0 2px 2px 1px #0003 inset, inset 0 -1px 1.5px 1px #fff7;
}
.ball {
place-self: center start;
position: absolute;
left: 0.5rem;
mix-blend-mode: color;
display: grid;
place-content: center;
width: var(--ball);
aspect-ratio: 1;
background: linear-gradient(135deg, #3DDBD9, #8DA2EC, #FE95FF);
border-radius: 50%;
transition: transform 500ms cubic-bezier(0.4, 0.47, 0.66, 0.86);
box-shadow: 0 0 0.75rem 0 #0004;
}
.ball i {
font-size: 2.5em;
color: #FFF;
-webkit-text-stroke: 1px #0006;
}
:checked ~ .checkbox__container .ball {
transform: translateX(calc(var(--container) - var(--ball) - 1rem))
rotate(540deg);
}
728x90
LIST
'HTML _CSS' 카테고리의 다른 글
Responsive Tabs (0) | 2023.01.19 |
---|---|
3D Cube Slider (0) | 2023.01.17 |
Animated Instagram Logo (0) | 2023.01.14 |
Animated Service Section Card UI (0) | 2023.01.13 |
Skeleton Screen (0) | 2023.01.12 |