纯CSS绘制一组阿拉伯数字实例页面
回到相关文章 »效果:
0
1
2
3
4
5
6
7
8
9
字号调整:
代码:
CSS代码:
/* by zhangxinxu(.com),可免费商用,保留此注释即可 */ .num { display: inline-block; line-height: 1; -webkit-text-fill-color: transparent; font-family: system-ui; font-weight: bold; position: relative; overflow: hidden; } .num:empty::after { content: '0'; } .num::before { content: ''; position: absolute; inset: 0; background-color: currentColor; } .num0::before { clip-path: polygon(0 0, 100% 0, 100% 100%, 60% 100%, 60% 20%, 40% 20%, 40% 80%, calc(60% - .01px) 80%, calc(60% - .01px) 100%, 0% 100%); } .num1 { text-indent: -.25em; } .num2::before, .num5::before { clip-path: polygon(0 0, 100% 0, 100% 60%, 50% 60%, 50% 80%, 100% 80%, 100% 100%, 0 100%, 0% 40%, 50% 40%, 50% 20%, 0% 20%); } .num3::before { clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%, 0% 80%, 50% 80%, 50% 60%, 0% 60%, 0% 40%, 50% 40%, 50% 20%, 0% 20%); } .num4::before { clip-path: polygon(0 0, 40% 0, 40% 50%, calc(100% - 40%) 50%, calc(100% - 40%) 0%, 100% 0%, 100% 100%, calc(100% - 40%) 100%, calc(100% - 40%) 70%, 0% 70%); } .num5::before { transform: scaleX(-1); } .num6::before, .num9::before { clip-path: polygon(0% 0%, 100% 0%, 100% 20%, calc(40% - .01px) 20%, calc(40% - .01px) 80%, calc(100% - 40%) 80%, calc(100% - 40%) 60%, 40% 60%, 40% 40%, 100% 40%, 100% 100%, 0% 100%); } .num7::before { clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 100%, 50% 20%, 0% 20%); } .num8::before { clip-path: polygon(0% 0%, calc(40% - .01px) 0%, calc(40% - .01px) 40%, 60% 40%, 60% 20%, 40% 20%, 40% 0%, 100% 0%, 100% 100%, 40% 100%, 40% 80%, 60% 80%, 60% 60%, calc(40% - .01px) 60%, calc(40% - .01px) 100%, 0% 100%); } .num9::before { transform: scale(-1); } @supports not (inset: 0) { .num::before { left: 0; right: 0; top: 0; bottom: 0; } }
HTML代码:
<span class="num num0">0</span> <span class="num num1">1</span> <span class="num num2">2</span> <span class="num num3">3</span> <span class="num num4">4</span> <span class="num num5">5</span> <span class="num num6">6</span> <span class="num num7">7</span> <span class="num num8">8</span> <span class="num num9">9</span>