Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Select a hole
Springtop Hill
Pebble Lighthouse
Canary Beach
Rolling Greens
css
@import url('https://fonts.googleapis.com/css2?family=Sura:wght@400;700&display=swap'); :root { --color-primary: lightgreen; --color-primary-accent: green; --color-secondary: red; --space-sm: 0.5rem; --space: 1rem; --space-md: 3rem; --space-lg: 6rem; --ball-size: 1.25rem; --ball-start-x: calc((var(--space-lg) * -1) - (var(--ball-size) / 2)); --border-width: 0.15rem; --club-offset: max(10vw, 6rem); --hole-height: calc(var(--hole-width) / 1.75); --hole-width: 3rem; } *, *:before, *:after { box-sizing: border-box; } html, body { height: 100%; } body { display: grid; place-items: center; padding: 0 var(--space); font-size: 1.2rem; font-family: 'Sura', serif; overflow: hidden;background-color: #1F1F1F; } .putting-green { position: relative; padding: var(--space) var(--space-md) var(--space-lg) var(--space-lg); background-color: var(--color-primary); border-radius: 59% 41% 64% 36% / 36% 51% 49% 64%; box-shadow: inset rgba(0,0,0,0.05) -230px -10px 0, inset rgba(0,0,0,0.025) -50px -20px 0; } .putting-green > * + * { margin-top: 2rem; } legend { position: relative; top: -2rem; margin-left: -1.75rem; z-index: 0; } legend::before { --width: 0.25rem; --height: 7rem; --offset: 14px; content: ''; position: absolute; top: -6px; left: 1px; width: var(--width); height: var(--height); background: repeating-linear-gradient(to bottom, red, red var(--offset), whitesmoke var(--offset), whitesmoke calc(var(--offset) * 2)); border-radius: 360px 360px 0 0; box-shadow: inset rgba(0,0,0,0.075) -2px 0 0, rgba(0,0,0,0.05) 0 2px 0; z-index: -1; } legend .string { position: relative; display: block; padding: var(--space-sm) var(--space); font-weight: 700; font-size: 0.8em; text-shadow: rgba(0,0,0,0.25) 1px 1px 0; color: white; background-color: red; box-shadow: inset rgba(0,0,0,0.05) -12px -2px 12px; } legend .string::after { --offset: 8px; content: ''; position: absolute; top: calc(var(--offset) / -2); left: calc(100% - var(--offset)); width: 2rem; height: 100%; background-color: red; clip-path: polygon(0 0, 100% 0, 70% 50%, 100% 100%, 0 100%); box-shadow: inset rgba(0,0,0,0.2) 6px 0 12px; z-index: -1; } label { position: relative; display: flex; align-items: center; font-size: clamp(1.125rem, 4vw, 1.4rem); line-height: 1.2; cursor: pointer; } label input { opacity: 0; width: 0; height: 0; } .hole { position: relative; flex: 0 0 var(--hole-width); margin-right: var(--space); width: var(--hole-width); height: var(--hole-height); background-color: black; border: var(--border-width) solid black; border-radius: 50%; box-shadow: inset var(--color-primary-accent) 0 calc(var(--border-width) * 1.25) 0; transform: translateY(calc(var(--border-width) * -1)); } .ball { position: absolute; top: calc(var(--border-width) * -2); right: calc(var(--border-width) * -2); width: calc(var(--space-lg) + var(--hole-width)); height: var(--hole-height); border-radius: 0 0 360px 0; z-index: 100; pointer-events: none; overflow: hidden; } .ball::before { content: ''; visibility: hidden; position: absolute; top: 0; right: calc(var(--ball-size) - var(--border-width) * 1.5); width: var(--ball-size); height: var(--ball-size); background-color: white; border-radius: 50%; border: var(--border-width) solid black; box-shadow: inset rgba(0,0,0, 0.1) -3px -2px 0; } .club { position: absolute; visibility: hidden; top: -7.5rem; right: calc(100% + var(--space-lg)); width: 0.25rem; height: 8rem; background-color: silver; transform-origin: 50% 0; box-shadow: inset rgba(0,0,0,0.2) -2px 0 0, black 0 0 0 var(--border-width); } .club::before, .club::after { content: ''; position: absolute; box-shadow: inset rgba(0,0,0,0.2) -5px -1px 0, black 0 0 0 var(--border-width); } .club::before { left: -2px; width: calc(100% + 4px); height: 50%; border-radius: 360px; background: repeating-linear-gradient(to bottom, gray, gray 2px, black 2px, black 3px); transform: translateY(-50%); } .club:after { left: -6px; bottom: 0; width: calc(100% + 12px); height: 0.6rem; border-radius: 4px 4px 50% 50%; transform: translateY(50%); background-color: inherit; } label .string { position: relative; top: -0.125rem; padding-right: var(--space); } /* Checked states */ input:checked ~ .hole .club { visibility: visible; animation: take-a-stroke 1s cubic-bezier(0.33, 1, 0.68, 1) forwards; } input:checked ~ .hole .ball::before { visibility: visible; animation: roll 1.5s linear forwards; } input:checked ~ .string { color: var(--color-primary-accent); } /* Animation keyframes */ @keyframes take-a-stroke { 0% { opacity: 0; transform: rotate(5deg) scale(1.001); } 40% { opacity: 1; transform: rotate(10deg) scale(1.001); } 70% { transform: rotate(-15deg) scale(1.001); animation-timing-function: ease-in; } 80% { opacity: 1; } 100% { opacity: 0; transform: translateX(-200%) scale(1.001); } } @keyframes roll { 0% { opacity: 0; transform: translateX(var(--ball-start-x)); animation-timing-function: ease-out; } 10% { opacity: 1; } 30% { transform: translateX(var(--ball-start-x)); animation-timing-function: ease-out; } 50% { transform: translateX(calc(var(--ball-size) * -1.5)); animation-timing-function: ease-out; } 80% { background-color: white; transform: translateX(calc(var(--ball-size) * -0.75)) translateY(3px); animation-timing-function: ease-in; } 90% { background-color: lightgray; transform: translateX(0) translateY(100%); } 93% { transform: translateX(0) translateY(60%); } 96% { transform: translateX(0) translateY(90%); } 98% { transform: translateX(0) translateY(70%); } 99% { transform: translateX(0) translateY(80%); } 100% { background-color: lightgray; transform: translateX(0) translateY(85%); } }
JavaScript
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>CSS高尔夫单选按钮-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号