当前位置: 首页 > Web前端 > CSS

用css画一个菠萝

时间:2023-03-31 11:49:11 CSS

的效果如下:菠萝分为头部和身体,头部有三片叶子,菠萝是身体头部先画头部盒子,把三片叶子放在headbox先在中间画叶子,使用border-radius实现叶子的效果,可以使用工具快速实现预期的圆角效果https://9elements.github.io/fancy-border-radius/

.center_lafe{宽度:100px;高度:200px;背景:线性渐变(-130deg,#61d572,#52ce63);边界半径:50%50%50%50%/100%100%0%0%;&::之前{内容:'';宽度:100px;高度:200px;位置:绝对;边界半径:50%50%50%50%/100%100%0%0%;背景:线性渐变(-180deg,rgba(255,255,255,0.2)30%,透明);}}画两边的叶子,方法同画中间的叶子
.left_lafe{width:100像素;高度:100px;背景:线性渐变(-130deg,#86e798,#52ce63);边界半径:5%95%50%50%/5%50%50%95%;位置:绝对;左:50px;底部:-16px;变换:旋转(5度);}.right_lafe{宽度:100px;高度:100px;背景:线性渐变(-130deg,#86e798,#52ce63);边界半径:95%5%50%50%/50%5%95%50%;位置:绝对;右:20px;底部:-30px;transform:rotate(5deg);}两片叶子的水平低于中间的叶子和菠萝的身体,所以两片叶子的覆盖区域有一层阴影来表示水平。阴影是用伪元素和渐变实现的。下面是左叶的影子:画一个和左叶一样的形状,使用渐变和颜色透明度。.left_lafe::before{内容:'';宽度:100px;高度:100px;位置:绝对;边界半径:5%95%50%50%/5%50%50%95%;背景:线性渐变(-25deg,rgba(51、51、51、0.3),透明);右边的叶子也是一样的,我们看一下头部叶子的整体效果:身体开始画小菠萝。部分层次高于叶子
.piniaBody{width:300px;高度:320px;背景:#ccc;边界半径:50%50%48%48%/65%65%38%38%;背景:线性渐变(到底部,#ffe56c,#ffc73b);边距顶部:-20px;z-指数:10;position:relative;}Forehead在额头上画X图案其实就是在一边画斜线,另一边也一样写,只是换个位置和角度.forehead{宽度:70px;高度:70px;位置:绝对;左:50%;顶部:30px;&::之后{内容:'';宽度:100%;高度:8px;位置:绝对;背景:#ffc73b;边界半径:6px;左:45%;顶部:40%;转换:translateX(-50%)rotate(50deg);}&::after{内容:'';左:55%;顶部:40%;变换:translateX(-50%)rotate(-50deg);圆圈可以分开叠加,分别是眼白、黑眼圈和高光。.left_eyesBox{宽度:50px;高度:50px;背景:#fff;边界半径:50%;位置:相对;&::之前{内容:'';位置:绝对;宽度:30px;高度:30px;背景:黑色;边界半径:50%;左:50%;顶部:50%;转换:翻译(-50%,-50%);}&::after{内容:'';宽度:12px;:12px;背景:#fff;边界半径:50%;位置:绝对;左:25%;顶部:35%;下面.eyeshadow{width:40px;高度:20px;背景:#eaadcc;位置:相对;顶部:40px;左:-10px;z-指数:-1;border-radius:50%;}右眼的写法和左眼一样,只是拿左眼换个位置。嘴巴:先画一个椭圆。椭圆的背景色是透明色。为椭圆设置阴影。阴影向下移动5px。只有保留阴影的颜色才能得到嘴巴的效果。.mouth{宽度:40px;高度:20px;位置:绝对;左:50%;底部:20px;边界半径:50%;变换:平移(-50%)比例(1);:0px5px0px0pxblack;}小菠萝底部的X图案绘制方法与额头X图案相同,例如:将左边的水平线旋转45度,将左边的水平线旋转45度右转-45度以获得交叉X。宽度是水平线的长度。调整左右水平线的长度比例,得到不规则的X图案。其余的只需要调整对角线的位置和比例即可。左右X图案的绘制方式相同。.left_jaw,.right_jaw{宽度:90px;高度:70px;位置:绝对;底部:40px;&::之前{内容:'';宽度:100%;高度:8px;位置:绝对;背景:#ecb732;边界半径:6px;左:45%;顶部:40%;变换:平移X(-50%)旋转(50度);}&::after{内容:'';宽度:100%;高度:8px;位置:绝对;背景:#ecb732;边界半径:6px;左:55%;顶部:40%;变换:translateX(-50%)rotate(-50deg);}}.left_jaw{左:30px;&::之后{宽度:70%;}}.right_jaw{右:30px;&::之前{宽度:70%;}}至此,我们的小菠萝就画好了。最后看一下官网原图:技巧总结:1.使用border-radius绘制大部分不规则的椭圆。.使用translate调整不规则交叉图案的旋转位置。4.利用线性渐变和颜色透明度实现元素的层次表现。5.使用z-index调整屏幕层次表现。案例源码:https://gitee.com/wang_fan_w/css-如果日记觉得本文对您有帮助,请点赞收藏转发~