纯CSS+HTML正五角星
<style>.star5 {
margin: var(--bw);
width: 0;
height: 0;
border-left: var(--bw) solid transparent;
border-right: var(--bw) solid transparent;
border-top: calc(var(--bw) * tan(36deg)) solid red;
position: relative;
--bw: 120px;
}
.star5::before, .star5::after {
position: absolute;
content: '';
border-left: inherit;
border-right: inherit;
border-top: inherit;
transition: .6s;
}
.star5:hover::before { border-top-color: green; opacity: .5; }
.star5:hover::after { border-top-color: blue; opacity: .5; }
.star5::before{ transform: translate(-50%,-100%) rotate(70deg); }
.star5::after{ transform: translate(-50%,-100%) rotate(-70deg); }
</style>
<p>鼠标移动到五角星,会呈现组成正五角星三个三角形:<br><br></p>
<div class="star5"></div>
本帖最后由 马黑黑 于 2023-6-24 07:56 编辑
代码
<style>
.star5{
/* 用元素的边框 border 绘制正五角星
正五角星由三个特殊等腰三角形旋转拼凑而成
底角36°,设等边为 bw,则 底边 = bw*tan(36)
一个三角形保持原样,另两个三角形移动(-50%,-100%) 且分别旋转 70deg 和 -70deg
*/
margin: var(--bw);
width: 0;
height: 0;
border-left: var(--bw) solid transparent;
border-right: var(--bw) solid transparent;
border-top: calc(var(--bw) * tan(36deg)) solid red;
position: relative;
--bw: 200px;
}
.star5::before, .star5::after {
position: absolute;
content: '';
border-left: inherit;
border-right: inherit;
border-top: inherit;
}
.star5::before{ transform: translate(-50%,-100%) rotate(70deg); }
.star5::after{ transform: translate(-50%,-100%) rotate(-70deg); }
</style>
<div class="star5"></div>
最简单的纯CSS+HTML正五角星,使用 clip-path 裁剪,元素尺寸可随意更改:
<style>
#mydiv {
width: 200px;
height: 200px;
background: tan;
clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
</style>
<div id="mydiv"></div>
还真是三个三角形呢,有趣{:4_187:} 马黑黑 发表于 2023-6-24 08:00
最简单的纯CSS+HTML正五角星,使用 clip-path 裁剪,元素尺寸可随意更改:
还是裁剪的这个更简洁{:4_204:} 问好老师,欣赏精彩佳作,谢谢分享!{:4_180:}
红影 发表于 2023-6-24 10:25
还是裁剪的这个更简洁
对的 红影 发表于 2023-6-24 10:23
还真是三个三角形呢,有趣
读小学时我们是这么画五角星的{:4_170:} 醉美水芙蓉 发表于 2023-6-24 12:12
奇怪怎么看不见效果呢?
浏览器不支持 CSS 的 tan 函数,浏览器内核版本低的都会如此。 第一次看到这样三角形组合,学到了{:4_199:} 本帖最后由 马黑黑 于 2023-6-24 17:54 编辑
南无月 发表于 2023-6-24 17:50
第一次看到这样三角形组合,学到了
我读小二的时候就有人这么教我们了 醉美水芙蓉 发表于 2023-6-24 14:55
老师可以推荐一款浏览器吗?
我一直推荐百分浏览器:
http://www.centbrowser.cn/ 马黑黑 发表于 2023-6-24 17:53
我读小二的时候就有人这么教我们了
我小时候读的二小{:4_170:} 南无月 发表于 2023-6-24 17:55
我小时候读的二小
二小比一小强 马黑黑 发表于 2023-6-24 12:34
对的
简洁了才更好。{:4_187:} 马黑黑 发表于 2023-6-24 12:34
读小学时我们是这么画五角星的
小学时候的事儿都忘了,黑黑还记得啊,厉害。{:4_173:} 红影 发表于 2023-6-24 18:48
小学时候的事儿都忘了,黑黑还记得啊,厉害。
人老了就记得住小时候的事情 红影 发表于 2023-6-24 18:47
简洁了才更好。
差不多吧