css的radio实现数字自行车锁效果代码
代码语言:html
所属分类:其他
代码描述:css的radio实现数字自行车锁效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> *, :before, :after { box-sizing: border-box; } :before, :after { content: ''; } body { background-color: #333333; margin: 0; height: 100vh; width: 100vw; font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; } input { display: none; opacity: 0; } .fb { display: flex; } .fbaic { align-items: center; } .fbjcc { justify-content: center; } h2 { font-size: 28px; color: rgba(255, 255, 255, 0.91); letter-spacing: 0.28px; font-weight: 400; text-shadow: 0 0 10px #cfcfcf; margin: 0; } .container { height: 100%; width: 100%; } .lock-title { padding-bottom: 25px; } .lock { position: relative; } .lock-rows { height: 240px; width: 600px; position: relative; } .lock-rows:before { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 2; display: none; cursor: pointer; } .lock-number { height: 60px; box-shadow: 0 0 2px #ffffff inset; transition: background-color 0.34s; position: relative; flex: 1; } .lock-number label { cursor: pointer; position: absolute; height: 100%; width: 100%; z-index: 1; } label:before { content: attr(value); } .lock-number:hover { background-color: rgb(190 190 190 / 95%); } .lock-number:before { height: 30px; width: 30px; border-radius: 50%; position: absolute; border: 2px solid white; left: 15px; top: 15px; } .lock-number:after { height: 16px; width: 16px; border-radius: 50%; position: absolute; left: 22px; top: 22px; } .input-row1-0:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(1):after, .input-row1-1:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(2):after, .input-row1-2:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(3):after, .input-row1-4:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(5):after, .input-row1-5:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(6):after, .input-row1-6:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(7):after, .input-row1-7:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(8):after, .input-row1-8:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(9):after, .input-row1-9:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(10):after, .input-row2-0:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(1):after, .input-row2-1:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(2):after, .input-row2-2:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(3):after, .input-row2-3:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(4):after, .input-row2-4:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(5):after, .input-row2-5:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(6):after, .input-row2-6:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(7):after, .input-row2-7:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(8):after, .input-row2-8:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(9):after, .input-row3-0:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(1):after, .input-row3-1:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(2):after, .input-row3-2:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(3):after, .input-row3-3:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(4):after, .input-row3-4:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(5):after, .input-row3-6:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(7):after, .input-row3-7:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(8):after, .input-row3-8:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(9):after, .input-row3-9:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(10):after, .input-row4-0:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(1):after, .input-row4-2:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(3):after, .input-row4-3:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(4):after, .input-row4-4:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(5):after, .input-row4-5:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(6):after, .input-row4-6:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(7):after, .input-row4-7:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(8):after, .input-row4-8:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(9):after, .input-row4-9:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(10):after { background-color: #ffffff; animation: centerCircSelect 0.22s forwards; } .input-row1-0:checked ~ .lock-wrapper .lock-result-1 span:nth-child(1), .input-row1-1:checked ~ .lock-wrapper .lock-result-1 span:nth-child(2), .input-row1-2:checked ~ .lock-wrapper .lock-result-1 span:nth-child(3), .input-row1-3:checked ~ .lock-wrapper .lock-result-1 span:nth-child(4), .input-row1-4:checked ~ .lock-wrapper .lock-result-1 span:nth-child(5), .input-row1-5:checked ~ .lock-wrapper .lock-result-1 span:nth-child(6), .input-row1-6:checked ~ .lock-wrapper .lock-result-1 span:nth-child(7), .input-row1-7:checked ~ .lock-wrapper .lock-result-1 span:nth-child(8), .input-row1-8:checked ~ .lock-wrapper .lock-result-1 span:nth-child(9), .input-row1-9:checked ~ .lock-wrapper .lock-result-1 span:nth-child(10), .input-row2-0:checked ~ .lock-wrapper .lock-result-2 span:nth-child(1), .input-row2-1:checked ~ .lock-wrapper .lock-result-2 span:nth-child(2), .input-row2-2:checked ~ .lock-wrapper .lock-result-2 span:nth-child(3), .input-row2-3:checked ~ .lock-wrapper .lock-result-2 span:nth-child(4), .input-row2-4:checked ~ .lock-wrapper .lock-result-2 span:nth-child(5), .input-row2-5:checked ~ .lock-wrapper .lock-result-2 span:nth-child(6), .input-row2-6:checked ~ .lock-wrapper .lock-result-2 span:nth-child(7), .input-row2-7:checked ~ .lock-wrapper .lock-result-2 span:nth-child(8), .input-row2-8:checked ~ .lock-wrapper .lock-result-2 span:nth-child(9), .input-row2-9:checked ~ .lock-wrapper .lock-result-2 span:nth-child(10), .input-row3-0:checked ~ .lock-wrapper .lock-result-3 span:nth-child(1), .input-row3-1:checked ~ .lock-wrapper .lock-result-3 span:nth-child(2), .input-row3-2:checked ~ .lock-wrapper .lock-result-3 span:nth-child(3), .input-row3-3:checked ~ .lock-wrapper .lock-result-3 span:nth-child(4), .input-row3-4:checked ~ .lock-wrapper .lock-result-3 span:nth-child(5), .input-row3-5:checked ~ .lock-wrapper .lock-result-3 span:nth-child(6), .input-row3-6:checked ~ .lock-wrapper .lock-result-3 span:nth-child(7), .input-row3-7:checked ~ .lock-wrapper .lock-result-3 span:nth-child(8), .input-row3-8:checked ~ .lock-wrapper .lock-result-3 span:nth-child(9), .input-row3-9:checked ~ .lock-wrapper .lock-result-3 span:nth-child(10), .input-row4-0:checked ~ .lock-wrapper .lock-result-4 span:nth-child(1), .input-row4-1:checked ~ .lock-wrapper .lock-result-4 span:nth-child(2), .input-row4-2:checked ~ .lock-wrapper .lock-result-4 span:nth-child(3), .input-row4-3:checked ~ .lock-wrapper .lock-result-4 span:nth-child(4), .input-row4-4:checked ~ .lock-wrapper .lock-result-4 span:nth-child(5), .input-row4-5:checked ~ .lock-wrapper .lock-result-4 span:nth-child(6), .input-row4-6:checked ~ .lock-wrapper .lock-result-4 span:nth-child(7), .input-row4-7:checked ~ .lock-wrapper .lock-result-4 span:nth-child(8), .input-row4-8:checked ~ .lock-wrapper .lock-result-4 span:nth-child(9), .input-row4-9:checked ~ .lock-wrapper .lock-result-4 span:nth-child(10) { transform: translate(0); transition: transform .38s; opacity: 1; } .lock-result { color: #ffffff; background: #1e1e1e; height: 100%; flex-direction: column; } .lock-result div { height: 60px; width: 60px; position: relative; overflow: hidden; transition: background-color 0.72s; box-shadow: 0 0 10px 2px rgb(0 0 0 / 12%) inset; } .lock-result span { align-items: center; justify-content: center; position: absolute; text-align: center; height: 100%; width: 100%; font-size: 35px; opacity: 0; text-shadow: 3px 3px 1px black; transform: translate(0, -100%); transition: 0.16s transform cubic-bezier(0, 0.24, 0.41, -2.04), opacity 0s 0.05s; } .input-row1-3:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(4), .input-row2-9:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(10), .input-row3-5:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(6), .input-row4-1:checked ~ .lock-wrapper .lock-row:nth-child(4) .lock-number:nth-child(2) { background-color: rgb(190 190 190 / 35%); } .input-row1-3:checked ~ .lock-wrapper .lock-row:nth-child(1) .lock-number:nth-child(4):after, .input-row2-9:checked ~ .lock-wrapper .lock-row:nth-child(2) .lock-number:nth-child(10):after, .input-row3-5:checked ~ .lock-wrapper .lock-row:nth-child(3) .lock-number:nth-child(6):after, .input-row4-1:checked ~ .lock-wrapper .lock-r.........完整代码请登录后点击上方下载按钮下载查看
网友评论0