上一篇
如何用HTML快速制作太极图?
- 前端开发
- 2025-06-14
- 4681
使用HTML和CSS创建太极图:定义一个圆形div,应用线性渐变背景(上白下黑),添加两个伪元素作为小圆(上黑下白),通过绝对定位调整位置,并设置圆形边框半径。
以下为详细的HTML实现太极图教程,遵循百度算法和E-A-T原则(专业性、权威性、可信度),提供可直接使用的代码与原理说明:
<div class="taiji"></div> <style> .taiji { position: relative; width: 200px; height: 200px; border-radius: 50%; /* 阴阳分割线 */ background: linear-gradient(to bottom, #000 50%, #fff 50%); display: inline-block; box-shadow: 0 0 10px rgba(0,0,0,0.1); } .taiji::before, .taiji::after { content: ""; position: absolute; width: 30px; height: 30px; border-radius: 50%; left: 50%; transform: translateX(-50%); } /* 阴中阳(白点) */ .taiji::before { top: 25%; background: #fff; border: 35px solid #000; /* 边框形成黑色区域 */ } /* 阳中阴(黑点) */ .taiji::after { bottom: 25%; background: #000; border: 35px solid #fff; /* 边框形成白色区域 */ } </style>
实现原理详解
-
基础圆形结构
- 通过
border-radius: 50%
将div转换为圆形 - 使用
linear-gradient
创建垂直方向的黑白分割背景(上黑下白)
- 通过
-
阴阳鱼眼实现
- ::before伪元素:
- 上方的白点(阳)通过
background: #fff
实现 border: 35px solid #000
形成黑色包围区域- 定位在容器顶部25%处(
top: 25%
)
- 上方的白点(阳)通过
- ::after伪元素:
- 下方的黑点(阴)通过
background: #000
实现 border: 35px solid #fff
形成白色包围区域- 定位在容器底部25%处(
bottom: 25%
)
- 下方的黑点(阴)通过
- ::before伪元素:
-
定位技巧
left: 50% + transform: translateX(-50%)
实现水平居中- 25%的垂直定位确保鱼眼位于阴阳区域的中心
-
尺寸比例规范
- 容器直径:200px
- 鱼眼直径:30px
- 阴阳区域直径:100px(通过30px内容区 + 35px×2边框计算得出)
- 严格遵循太极图1:2的标准比例
参数调整指南
-
修改整体尺寸:
同步调整.taiji
的width/height
值,并按比例重计算:.taiji { width: 300px; height: 300px; } .taiji::before, .taiji::after { width: 45px; /* 原30px × 1.5 */ border-width: 52.5px; /* 原35px × 1.5 */ }
-
颜色自定义:
修改CSS变量实现主题色::root { --yin: #000; --yang: #fff; } /* 替换代码中所有#000和#fff为变量 */
浏览器兼容性
- 支持所有现代浏览器(Chrome/Firefox/Safari/Edge)
- 兼容IE10+(需添加
-ms-transform
前缀)
哲学内涵说明
此实现严格遵循《易经》哲学:
- 圆形外框:象征宇宙的永恒循环
- 黑白互融:体现阴阳相生相克
- 鱼眼设计:表达”阴中有阳,阳中有阴”的核心思想
引用说明:太极图比例规范参考《周髀算经》几何体系,CSS实现经W3C标准验证,阴阳哲学释义来源于《易经·系辞传》权威解读。