评论资讯 [ 总 430 则 ]
·飞飞 - 2024-12-26 15:58
·悄然 - 2024-12-26 15:56
·悄然 - 2024-12-24 19:55
·小希 - 2024-12-24 19:51
·飞飞 - 2024-12-24 19:45
·悄然 - 2024-12-24 19:41
·了了 - 2024-12-18 21:32
·悄然 - 2024-12-17 15:19
·悄然 - 2024-12-15 15:12
·悄然 - 2024-12-9 12:32
·悄然 - 2024-12-26 15:56
·悄然 - 2024-12-24 19:55
·小希 - 2024-12-24 19:51
·飞飞 - 2024-12-24 19:45
·悄然 - 2024-12-24 19:41
·了了 - 2024-12-18 21:32
·悄然 - 2024-12-17 15:19
·悄然 - 2024-12-15 15:12
·悄然 - 2024-12-9 12:32
友情链接
网站统计
脚链
以下这组代码,通过CSS transform属性的rotate与translate的巧妙配合,将子元素围成一圈。参与实现总体效果的实现机制还有:父元素以grid布局约束子元素绝对居中、子元素的border-radius属性及box-shadow属性、JS的相关算法。其中,通过修改border-radius属性值可以轻易改变子元素的形状。代码:
<style> #mydiv { margin: 30px; width: 200px; height: 200px; border: 2px dotted purple; border-radius: 50%; position: relative; display: grid; place-items: center; --size: 30px; --borderRadius: 0 50%; --mnColor: rgba(0,100,0,.75); } li-zi { position: absolute; width: var(--size); height: var(--size); border-radius: var(--borderRadius); } </style> <div id="mydiv"></div> <script> let total = 15; Array.from({length: total}).forEach( (item,key) => { let cc = '#' + Math.random().toString(16).substr(-6); item = document.createElement('li-zi'); item.style.cssText += ` background: ${cc}; transform: rotate(${360 / total * key}deg) translateY(100px); box-shadow: inset 0 0 ${10 + Math.random() * 10}px var(--mnColor); `; mydiv.appendChild(item); }); </script>
前一篇: CSS关键帧动画驱动的时钟
下一篇: svg : circle to path 演示
发表评论:
评论列表 [0条]