Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Rotate the form
Choose Your Language
JavaScript
PHP
Python
Swift
css
* { border: 0; box-sizing: border-box; margin: 0; padding: 0; } :root { --bg: #e3e4e8; --fg: #17181c; --formBg: #fff; --radioBg: #fff; --radioBgActive: #e3e4e8; --radioBorder: #c7cad1; --radioBorderActive: #c7cad1; --radioSide: #c7cad1; --primary1: #0b46da; --primary2: #255ff4; --primary3: #5583f6; --primary4: #86a6f9; --depth: -4.5em; --ballDiam: 0.75em; --xAngle: -30deg; --yAngle: 45deg; font-size: calc(16px + (24 - 16)*(100vw - 320px)/(1280 - 320)); } body, h3, input { color: var(--fg); font: 1em/1.5 Hind, sans-serif; } body, form, form h3, form label { transform-style: preserve-3d; } body { background: var(--bg); overflow-x: hidden; padding-top: 1.5em; height: 100vh; text-align: center; } h3 { font-weight: bold; } input[type=checkbox] { margin-right: 0.375em; } /* Layer setup */ form { box-shadow: 0 0 0 0.1em var(--radioBorder) inset; max-width: 17em; margin: 4.5em auto 1.5em auto; padding: 1.5em; text-align: left; transform: rotateX(0) rotateY(0) translateZ(calc(var(--depth) / -2)); transition: transform 0.25s linear; } form:before, form label:before, form h3:before, .dot, .dot-shadow { position: absolute; } form:before, form input[type=radio], form label:before, form h3:before { transform: translateZ(var(--depth)); } form:before { background: var(--formBg); content: ""; display: block; top: 0; left: 0; width: 100%; height: 100%; } input[type=checkbox]:checked ~ form { transform: rotateX(var(--xAngle)) rotateY(var(--yAngle)) translateZ(calc(var(--depth) / -2)); } /* Radios */ form input[type=radio], form span, form label:before, form h3:before { transition: all 0.15s linear; } form input[type=radio], span { border-radius: 50%; } form input[type=radio] { background: var(--radioBg); box-shadow: 0 0 0 var(--radioSide), 0 0 0 0.1em var(--radioBorder) inset, 0 0 0 #0003; margin-right: 0.5em; width: 1.5em; height: 1.5em; -webkit-appearance: none; appearance: none; } input[type=checkbox]:checked ~ form input[type=radio] { box-shadow: -0.25em -0.25em 0 var(--radioSide), 0 0 0 0.1em var(--radioBorder) inset, -0.25em -0.25em 0.25em #0005; } form input[type=radio]:active, form input[type=radio]:focus { background: var(--radioBgActive); box-shadow: 0 0 0 var(--radioSide), 0 0 0 0.1em var(--radioBorderActive) inset, 0 0 0 #0003; } input[type=checkbox]:checked ~ form input[type=radio]:active, input[type=checkbox]:checked ~ form input[type=radio]:focus { box-shadow: -0.25em -0.25em 0 var(--radioSide), 0 0 0 0.1em var(--radioBorderActive) inset, -0.25em -0.25em 0.25em #0005; } form input[type=radio]:focus { outline: transparent; } /* Text shadows */ form h3 { position: relative; } form label { cursor: pointer; display: flex; margin: 0.75em 0; position: relative; -webkit-tap-highlight-color: transparent; } form label:before, form h3:before { color: transparent; content: attr(data-text); top: 0; text-shadow: 0 0 0.25em transparent; transition-delay: 0.15s; } form label:before { left: 2em; } input[type=checkbox]:checked ~ form label:before, input[type=checkbox]:checked ~ form h3:before { text-shadow: 0 0 0.25em #0005; transition-delay: 0; } form h3:before { top: 0; left: 0; } /* Dots */ .dot, .dot-shadow { display: block; pointer-events: none; top: 0.375em; left: 0.375em; width: var(--ballDiam); height: var(--ballDiam); } .dot { background: var(--primary2); box-shadow: -0.2em -0.2em 0.4em var(--primary1) inset, 0 0.2em 0.4em var(--primary3) inset; transform: translateZ(var(--depth)) rotateY(0) rotateX(0) scale(0); } form input[type=radio]:active ~ .dot, form input[type=radio]:focus ~ .dot { background: var(--primary3); box-shadow: -0.2em -0.2em 0.4em var(--primary2) inset, 0 0.2em 0.4em var(--primary4) inset; } form input[type=radio]:checked ~ .dot { transform: translateZ(calc(var(--ballDiam) / -2)) rotateY(0) rotateX(0) scale(1); } input[type=checkbox]:checked ~ form input[type=radio] ~ .dot { transform: translateZ(var(--depth)) rotateY(calc(var(--yAngle) * -1)) rotateX(calc(var(--xAngle) * -1)) scale(0); } input[type=checkbox]:checked ~ form input[type=radio]:checked ~ .dot { transform: translateZ(calc(var(--ballDiam) / -2)) rotateY(calc(var(--yAngle) * -1)) rotateX(calc(var(--xAngle) * -1)) scale(1); } /* Dot shadows */ .dot-shadow { background: radial-gradient(100% 100%,#000,#0000 50%); opacity: 0.9; transform: translateZ(var(--depth)) scale(0); } input[type=radio]:checked ~ .dot-shadow { opacity: 0.4; transform: translateZ(var(--depth)) scale(1); } /* Dark mode */ @media (prefers-color-scheme: dark) { :root { --bg: #17181c; --fg: #e3e4e8; --formBg: #2e3138; --radioBg: #454954; --radioBgActive: #5c6270; --radioBorder: #454954; --radioBorderActive: #5c6270; --radioSide: #17181c; --primary1: #255ff4; --primary2: #5583f6; --primary3: #86a6f9; --primary4: #b6cafb; } }
JavaScript
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title> css 3d单选表单-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号