CSS3 simulates IOS sliding switch effect
Jan 22, 2017 pm 05:30 PMPreface
The H5 site needs the effect of the IOS sliding button. After thinking about it, it seems that CSS3 can be used, so I tossed it out... It's quite simple.. Please see the comment
Effect
Code
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS3模拟IOS开关</title> <style type="text/css" media="screen"> /* ========================================================================== 设置根元素字体大小 ========================================================================== */ html { font-size: 100px; } /* ========================================================================== 设置模拟元素的包裹层,装饰...毫无卵用 ========================================================================== */ .ios-checkbox{ height:4rem; width:4rem; position:absolute; left:50%; top:50%; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%); border:.05rem dashed #3DB7A9; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; -webkit-flex-wrap:nowrap; -ms-flex-wrap:nowrap; flex-wrap:nowrap; -webkit-justify-content:space-around; -ms-flex-pack:distribute; justify-content:space-around; -webkit-box-align:center; -webkit-align-items:center; -ms-flex-align:center; align-items:center; } /* ========================================================================== label标签模拟按钮 ========================================================================== */ .emulate-ios-button { display: block; width: 2rem; height: 1rem; background: #ccc; border-radius: 5rem; cursor: pointer; position: relative; -webkit-transition: all .3s ease; transition: all .3s ease; } /* ========================================================================== 设置伪类,来实现模拟滑块滑动,过渡用了transition来实现 , translateZ来强制启用硬件渲染 ========================================================================== */ .emulate-ios-button:after { content: ''; display: block; width: .9rem; height: .9rem; border-radius: 100%; background: #fff; box-shadow: 0 1px 1px rgba(0, 0, 0, .1); position: absolute; left: .05rem; top: .05rem; -webkit-transform:translateZ(0); transform:translateZ(0); -webkit-transition: all .3s ease; transition: all .3s ease; } .emulate-ios-button:active:after { width: 1.1rem; } /* ========================================================================== 设置raw-checkbox,视觉直观比较 ========================================================================== */ .raw-checkbox{ height:2rem; width:2rem; } .raw-checkbox:checked+label { background: #34bf49; } /* 这里是伪元素偏移,初始是0.9+0.05 ,所以这里1.05rem */ .raw-checkbox:checked+label:after { left: 1.05rem; } .raw-checkbox:checked+label:active:after { left: .5rem; } .raw-checkbox:disabled+label { background: #d5d5d5; pointer-events: none; } .raw-checkbox:disabled+label:after { background: #bcbdbc; } </style> </head> <body> <div> <input type="checkbox" id="ios-checkbox" name="emulate-ios-button"> <label for="ios-checkbox"></label> </div> </body> </html>
Summary
For a more intuitive comparison, I have not hidden the raw checkbox.
The above is the content of CSS3 simulating the IOS sliding switch effect. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The first version of Apple's iOS 18 was exposed to have so many bugs: serious fever, WeChat delay

Apple releases open source Swift package for homomorphic encryption, deployed in iOS 18

Apple re-releases iOS/iPadOS 18 Beta 4 update, version number raised to 22A5316k

Update | Hacker explains how to install Epic Games Store and Fortnite on iPad outside the EU

New features of Apple's iOS 18 'Boundless Notes” app: expanded Scenes functionality, introduced grid alignment

Should iPhone12 ios16 be updated to ios17.5beta3? How is the experience of ios17.5beta3?

Apple iOS/iPadOS 18 Developer Preview Beta 4 released: Added CarPlay wallpapers, sorted out settings options, enhanced camera control

Apple releases iOS/iPadOS 16.7.9 and 15.8.3 updates to older iPhones/iPads: fix security vulnerabilities
