初学应优先用多层 border-radius 圆形叠加模拟云朵:主云体用椭圆(border-radius: 50% / 30%),左右凸起用两个伪元素(:before/:after)各设 40px 圆+绝对定位,容器需 position: relative;上浮用 transform: translateY(-12px) 而非 margin;确保 background: #fff 硬编码且无 filter/opacity 干扰。

用 border-radius 拼出云朵轮廓,别用 clip-path 做初学方案
零基础直接上 clip-path 画云,大概率渲染异常或边缘锯齿——它依赖 SVG 路径精度,浏览器兼容性差(尤其 Safari 旧版本),且无法响应式缩放。真正适合入门的是多层圆形叠加 + border-radius 变形:用几个 div 模拟云朵的蓬松感,每个圆通过不同半径、偏移和背景色融合,视觉上自然过渡。
实操建议:
- 主云体用一个大椭圆:
width: 120px; height: 60px; border-radius: 50% / 30%;(注意斜杠分隔横向/纵向弧度) - 叠加两个小圆模拟云团凸起:分别设
width: 40px; height: 40px; border-radius: 50%;,用position: absolute;往左上、右上微调偏移 - 所有元素必须套在同一个
position: relative;容器里,否则定位失效 - 避免用
box-shadow模拟云边晕染——它会模糊边缘,破坏干净的云朵质感
:before 和 :after 复用同一组样式,减少 HTML 冗余
手写三个 div 不仅代码臃肿,还容易漏改某个云团的尺寸。用伪元素把云朵拆成「主体 + 左右凸起」三部分,HTML 只留一个标签,CSS 控制全部外观。
关键点:
- 父容器设
position: relative;,否则:before/:after无法绝对定位 -
:before画左侧凸起:content: ""; position: absolute; width: 40px; height: 40px; background: #fff; border-radius: 50%; top: -15px; left: -20px; -
:after画右侧凸起:right: -20px;替代left,其他参数镜像对称 - 主云体用父容器自身样式,别忘了加
background: #fff;和z-index: 1;确保盖住伪元素底层
云朵要「浮」起来?重点调 transform: translateY() 而非 margin-top
新手常给云加 margin-top: -20px 让它飘在文字上方,结果导致父容器高度塌陷、下方元素上移——这是盒模型计算错误。真正安全的上浮方式是 transform,它不参与文档流布局。
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
实操细节:
- 给整个云容器加
transform: translateY(-12px);(数值按需调整,一般 -10px ~ -15px 最自然) - 如果云朵需要随滚动淡入,
transform也比top更利于 GPU 加速,动画更顺滑 - 切忌同时用
margin和transform—— 两者叠加会让位置难以预测 - 若云朵需响应式缩放,优先用
scale()配合transform-origin: center;,而非改width/height
深色背景上云朵发灰?检查 background-color 是否漏写或被覆盖
明明写了 background: #fff;,云朵在黑色背景上却显灰白,大概率是父容器或 body 有全局 filter: brightness(0.9); 类似效果,或者 CSS 优先级被更高层样式劫持。
排查步骤:
- 打开开发者工具,选中云朵元素,看「Computed」面板里
background-color最终值是不是rgb(255, 255, 255) - 检查是否误用了
background: rgba(255,255,255,0.95);—— 半透明白色在深色背景上必然发灰 - 确认没在云容器上设
opacity: 0.98;,这个属性会连带模糊阴影和子元素 - 如果用伪元素,确保
:before和:after的background值与主体一致,别只写主体的
云朵最难的不是形状,是让它在任意背景上都「干净得像真的一样」——颜色值必须硬编码为 #fff,不能靠继承或计算。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










