css绘制一个Pinia小菠萝
效果如下:
pinia
小菠萝分为头部和身体,头部三片叶子,菠萝为身体
头部
先绘制头部的盒子,将三片叶子至于头部盒子中
先绘制中间的叶子,利用border-radius
实现叶子的效果,可以借助工具来快速实现圆角的预想效果
https://9elements.github.io/fancy-border-radius/
<div class="center_lafe"></div>
.center_lafe{width: 100px;height: 200px;background: linear-gradient(-130deg,#61d572,#52ce63);border-radius: 50% 50% 50% 50% / 100% 100% 0% 0% ;&::before{content: '';width: 100px;height: 200px;position: absolute;border-radius: 50% 50% 50% 50% / 100% 100% 0% 0% ;background: linear-gradient(-180deg,rgba(255,255,255,0.2) 30%,transparent);}
}
再绘制两侧的叶子,方法和绘制中间的叶子一样
<div class="left_lafe"></div>
<div class="right_lafe"></div>
.left_lafe{width: 100px;height: 100px;background: linear-gradient(-130deg,#86e798,#52ce63);border-radius: 5% 95% 50% 50% / 5% 50% 50% 95% ;position: absolute;left: 50px;bottom: -16px;transform: rotate(5deg);
}
.right_lafe{width: 100px;height: 100px;background: linear-gradient(-130deg,#86e798,#52ce63);border-radius: 95% 5% 50% 50% / 50% 5% 95% 50% ;position: absolute;right: 20px;bottom: -30px;transform: rotate(5deg);
}
两篇叶子的层级在中间叶子和菠萝身体之下,所以两片叶子的被覆盖的地方有一层阴影用来表示层级,阴影用伪元素配合渐变实现,下面是左侧叶子的阴影:绘制一个和左侧叶子一样的形状,利用渐变和颜色透明度实现
.left_lafe::before{content: '';width: 100px;height: 100px;position: absolute;border-radius: 5% 95% 50% 50% / 5% 50% 50% 95% ;background: linear-gradient(-25deg,rgba(51, 51, 51,0.3),transparent);
}
右侧叶子同理,看一下头部叶子的整体效果:
身体
开始绘制小菠萝身体部分
身体部分利用border-radius
实现,身体部分的层级高于叶子
<div class="piniaBody"></div>
.piniaBody{width: 300px;height: 320px;background: #ccc;border-radius: 50% 50% 48% 48% / 65% 65% 38% 38% ;background: linear-gradient(to bottom,#ffe56c,#ffc73b);margin-top: -20px;z-index: 10;position: relative;
}
额头
绘制额头上的X
图案,其实就是绘制一侧的斜线,另一侧同样的写法,更改位置和角度即可。
<div class="forehead"></div>
.forehead{width: 70px;height: 70px;position: absolute;left: 50%;top: 30px;transform: translate(-50%);&::before,&::after{content: '';width: 100%;height: 8px;position: absolute;background: #ffc73b;border-radius: 6px;left: 45%;top: 40%;transform: translateX(-50%) rotate(50deg);}&::after{content: '';left: 55%;top: 40%;transform: translateX(-50%) rotate(-50deg);}
}
眼睛
眼睛部分利用三个圆形分别堆叠即可,分别是眼白、黑眼球、高光
<div class="left_eyesBox"></div>
.left_eyesBox{width: 50px;height: 50px;background: #fff;border-radius: 50%;position: relative;&::before{content: '';position: absolute;width: 30px;height: 30px;background: black;border-radius: 50%;left: 50%;top: 50%;transform: translate(-50%,-50%);}&::after{content: '';width: 12px;height: 12px;background: #fff;border-radius: 50%;position: absolute;left: 25%;top: 35%;}
}
眼睛下面有一个眼影,这里新建一个div
,圆角50%
,层级在眼睛之下。
<div class="eyeshadow"></div>
.eyeshadow{width: 40px;height: 20px;background: #eaadcc;position: relative;top: 40px;left: -10px;z-index: -1;border-radius: 50%;
}
右眼的写法和左眼一致,把左眼拿过来更改一下位置即可。
嘴巴
嘴巴部分:先绘制一个椭圆,椭圆的背景色为透明色,给椭圆设置阴影,阴影向下偏移5px
,只保留阴影的颜色就可以得到嘴巴的效果了
<div class="mouth"></div>
.mouth{width: 40px;height: 20px;position: absolute;left: 50%;bottom: 20px;border-radius: 50%;transform: translate(-50%) scale(1);box-shadow: 0px 5px 0px 0px black;
}
底部
小菠萝底部的X
图案跟额头的X
图案绘制方法大致相同,例如:左侧横线旋转45deg
,右侧横线旋转-45deg
,即可得到一个交叉的X
,width
就是横线的长度,调整左右侧横线长度的比例即可得到不规则的X
图案,剩下的只需要调整斜线的位置和比例即可,左右的X
图案绘制方法是一样的。
<div class="left_jaw"></div>
<div class="right_jaw"></div>
.left_jaw,.right_jaw{width: 90px;height: 70px;position: absolute;bottom: 40px;&::before{content: '';width: 100%;height: 8px;position: absolute;background: #ecb732;border-radius: 6px;left: 45%;top: 40%;transform: translateX(-50%) rotate(50deg);}&::after{content: '';width: 100%;height: 8px;position: absolute;background: #ecb732;border-radius: 6px;left: 55%;top: 40%;transform: translateX(-50%) rotate(-50deg);}
}.left_jaw{left: 30px;&::after{width: 70%;}
}
.right_jaw{right: 30px;&::before{width: 70%;}
}
到这里我们的小菠萝就绘制完成了
最后看一下官网的原图:
技巧总结:
1、利用border-radius
绘制大部分不规则的椭圆
2、高光利用背景色
和层级叠加
实现
3、不规则的交叉图案使用translate
调整旋转位置
4、元素的层级表现利用线性渐变
和颜色透明度
来实现
5、利用z-index
调整画面层级表现
案例源码:https://gitee.com/wang_fan_w/css-diary
如果觉得这篇文章对你有帮助,欢迎点赞、收藏、转发哦~
相关文章:
![](https://img-blog.csdnimg.cn/77d0d8a2b231490c92692e753e4c3dc0.png)
css绘制一个Pinia小菠萝
效果如下: pinia小菠萝分为头部和身体,头部三片叶子,菠萝为身体 头部 先绘制头部的盒子,将三片叶子至于头部盒子中 先绘制中间的叶子,利用border-radius实现叶子的效果,可以借助工具来快速实现圆角的预想…...
![](https://img-blog.csdnimg.cn/51987e549aff48dbb49b497dd99d8423.png)
OpenCV入门(二十)快速学会OpenCV 19 对象测量
OpenCV入门(二十)快速学会OpenCV 19 对象测量1.对象测量2.多边形拟合3.计算对象中心作者:Xiou 1.对象测量 opencv 中对象测量包括: 如面积,周长,质心,边界框等。 弧长与面积测量; …...
![](https://img-blog.csdnimg.cn/58435e5072d9434dae3d8f878462908e.png)
TCP和UDP协议的区别?
是否面向连接: TCP 是面向连接的传输,UDP 是面向无连接的传输。 是否是可靠传输:TCP是可靠的传输服务,在传递数据之前,会有三次握手来建立连接;在数据传递时,有确认、窗口、重传、拥塞控制机制…...
![](https://img-blog.csdnimg.cn/5e6617d2c1064f209be7542fe3136562.png)
【C语言蓝桥杯每日一题】——排序
【C语言蓝桥杯每日一题】—— 排序😎前言🙌排序🙌总结撒花💞😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简介&am…...
![](https://www.ngui.cc/images/no-images.jpg)
学校官网的制作
学校官网 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}.top{background-color: #3D3BB8;width: 100%;position: fixed;padding: 20px 0 12px 0;}.box{width…...
![](https://img-blog.csdnimg.cn/69c2949667024350ae5a5262e6f17c0d.png)
【云原生】k8s集群命令行工具kubectl之故障排除和调试命令
kubectl之故障排除和调试命令一、describe二、logs三、attach四、exec五、port-forward六、proxy七、cp八、debug8.1、案例1:共享进程空间8.2、案例2:更改启动命令、容器镜像8.3、案例3:调试节点8.4、其他一、describe 显示某个资源或某组资…...
![](https://img-blog.csdnimg.cn/img_convert/b62ad4280c2e112f311c6eedf749bb1c.png)
AJAX,Axios,JSON简单了解
一. AJAX简介概念: AJAX(Asynchronous JavaScript And XML): 异步的JavaScript 和XMLAJAX作用:1.与服务器进行数据交换: 通过AJAX可以给服务器发送请求,并获取服务器响应的数据使用了AJAX和服务器进行通信,就可以使用 HTMLAJAX来替换JSP页面了2.异步交互…...
![](https://www.ngui.cc/images/no-images.jpg)
私域流量该如何打造?这套模式直接借鉴
梦龙商业案例分析,带你了解商业背后的秘密 古往今来,消费方与购买方的地位似乎就没有变过,消费者始终是处在被动接受的地位。 但到了现在,其实消费地位早已经不知不觉产生了改变。 就比如以前都是厂家有什么消费者买什么&#…...
![](https://img-blog.csdnimg.cn/f612bba1c38b4bfebc8007c5126622f5.png)
【jenkins部署】一文弄懂自动打包部署(前后台)
这里写目录标题序言软件安装jdkmaven配置maven阿里镜像以及本地库位置git安装安装jenkins插件安装环境配置创建项目配置gitee生成gitee WebHookmaven打包验证是否打包成功连接远程服务器并重启服务远程服务器生成私钥配置ssh项目配置ssh脚本vue项目打包nodejs安装下载配置环境变…...
![](https://img-blog.csdnimg.cn/6da43ec842e240cf8c7a51c1d5b3c311.png#pic_center)
应届生投腾讯,被面试官问了8个和 ThreadLocal 相关的问题。
问:谈一谈ThreadLocal的结构。 ThreadLocal内部维护了一个ThreadLocalMap静态内部类,ThreadLocalMap中又维护了一个Entry静态内部类,和Entry数组。 Entry类继承弱引用类WeakReference,Entry类有一个有参构造函数,参数…...
![](https://img-blog.csdnimg.cn/img_convert/a34d5ea3c18e45ea095c634a1ff0d295.jpeg)
Linux命令scp用法
本文主要讲的是scp用法如果哪里不对欢迎指出,主页https://blog.csdn.net/qq_57785602?typeblogscp 可以在win系统使用,本文百分之八十写的是win系统怎么使用,在本地上到服务器文件,从服务器下载文件到本地用工具连接到公司服务器时ÿ…...
![](https://img-blog.csdnimg.cn/7928123a83434c04b2981e280555fdda.png)
数据质量怎么监控
目录 一、任务基线级别 二、任务级别 & 表级别 三、字段级别 1. 对指标字段的监控 2. 对维度字段的监控 四、报表级别监控 五、总结 跑了几场面试,数据质量怎么监控是经常被问到的问题,仅次于自我介绍。 因为数据行业发展了几年,数…...
![](https://img-blog.csdnimg.cn/eecfd4b0658049da8aa1b5e71beb9a16.png#pic_center)
.NET Core 实现Excel的导入导出
.NET Core 使用NPOI实现Excel的导入导出前言NPOI简介一、安装相对应的程序包1.1、在 “管理NuGet程序包” 中的浏览搜索:“NPOI”二、新建Excel帮助类三、调用3.1、增加一个“keywords”模型类,用作导出3.2、添加一个控制器3.3、编写导入导出的控制器代码…...
![](https://img-blog.csdnimg.cn/img_convert/e997dc65416134e9e0fec5e85a17f9b3.jpeg)
排好队,一个一个来:宫本武藏教你学队列(附各种队列源码)
文章目录前言:理解“队列”的正确姿势一个关于队列的小思考——请求处理队列的两大“护法”————顺序队列和链式队列数组实现的队列链表实现的队列循环队列关于开篇,你明白了吗?最后说一句前言: 哈喽!欢迎来到黑洞晓…...
![](https://img-blog.csdnimg.cn/9031241c9cfb4a7689222ab9acd18e81.png)
C语言--动态内存管理1
目录前言动态内存函数介绍mallocfreecallocrealloc常见的动态内存错误对NULL指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存忘记释放(内存泄漏)对通讯…...
![](https://www.ngui.cc/images/no-images.jpg)
HTTPS 的工作原理
1、客户端发起 HTTPS 请求 这个没什么好说的,就是用户在浏览器里输入一个 https 网址,然后连接到 server 的 443 端口。 2、服务端的配置 采用 HTTPS 协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请…...
![](https://img-blog.csdnimg.cn/a729057223d04fd3bc1650985876416f.png)
游戏开发中建议使用半兰伯特光照
游戏开发中建议使用半兰伯特光照模型 在基本光照模型中求出漫反射部分的计算公式: 漫反射 = 入射光线的颜色和强度(c light) * 材质漫反射系数 (m diffuse)* 表面法线(n) * 其光源防线 (I) 在shader中为了不让 n和i的点乘结果为负数,即使用了saturate函数让值截取在[0,1]区…...
![](https://img-blog.csdnimg.cn/img_convert/76b0c6f338e578ff841ad735036b1fd9.png)
JavaScript到底如何存储数据?
1.var的迷幻操作 普遍的观点:JavaScript中的基本数据类型是保存在栈空间,而引用数据类型则是保存在堆空间里, 是否正确? 浏览器环境下JavaScript变量类型的运行实践结果: var a 10;console.log(a);console.log(window.a); console.log(wind…...
![](https://img-blog.csdnimg.cn/img_convert/8f7d3fa3a2991fa77ab9551b869c2891.png)
python实战应用讲解-【numpy专题篇】numpy应用案例(一)(附python示例代码)
目录 用Python分析二手车的销售价格 用Python构建GUI应用的铅笔草图 需要的包 实现步骤 完整代码 用Python分析二手车的销售价格 如今,随着技术的进步,像机器学习等技术正在许多组织中得到大规模的应用。这些模型通常与一组预定义的数据点一起工作…...
![](https://img-blog.csdnimg.cn/23c5299f56e64fda98ee66c4881a8793.png)
网络割接项目
某企业准备采购2台华为设备取代思科旧款设备,针对下列问题作出解答。 (1)做设备替换的时候,如何尽可能保证业务稳定性,请给出解决方案。 a)对现网拓扑进行分析,分析现网拓扑的规划(链路类型、cost、互联IP、互联接口等信息)、分析现网流量模型(路由协议、数据流向特…...
![](https://img-blog.csdnimg.cn/img_convert/77b51acddf1340f699ea241643724fac.png)
SpringBoot整合数据可视化大屏使用
1 前言 DataV数据可视化是使用可视化应用的方式来分析并展示庞杂数据的产品。DataV旨让更多的人看到数据可视化的魅力,帮助非专业的工程师通过图形化的界面轻松搭建专业水准的可视化应用,满足您会议展览、业务监控、风险预警、地理信息分析等多种业务的展示需求, 访问地址:h…...
![](https://img-blog.csdnimg.cn/b3088f3dabaf44a0babd0c360e21c13d.png)
蓝桥杯Web前端练习题-----水果拼盘
一、水果拼盘 介绍 目前 CSS3 中新增的 Flex 弹性布局已经成为前端页面布局的首选方案,本题可以使用 Flex 属性快速完成布局。 准备 开始答题前,需要先打开本题的项目代码文件夹,目录结构如下: ├── css │ └── style.…...
![](https://img-blog.csdnimg.cn/36ac257989cb483ba2c986e8e6ac8a53.png#pic_center)
[攻城狮计划]如何优雅的在RA2E1上运行RT_Thread
文章目录[攻城狮计划]|如何优雅的在RA2E1上运行RT_Thread准备阶段🚗开发板🚗开发环境🚗下载BSP🚗编译烧录连接串口总结[攻城狮计划]|如何优雅的在RA2E1上运行RT_Thread 🚀🚀开启攻城狮的成长之旅࿰…...
![](https://www.ngui.cc/images/no-images.jpg)
1.linux操作命令
1. pwd -> 打印当前绝对工作路径。 2. ls -> 查看目录的文件名 ls -> 默认列出当前目录的全部文件名 ls . -> 列出当前目录的全部文件名(.代表当前目录) ls / -> 列出根目录下的全部文件命名 ls -a -> 列出当前目录下全部文件名(包括隐藏…...
![](https://www.ngui.cc/images/no-images.jpg)
STL--vector
vector 头文件 #include<vector>向量的定义: vector<int> vec;//定义一个vec型的向量a vector<int> vec(5); //定义一个初始大小为5的向量 vector<int> vec(5,1); //初始大小为5,值都为1的向量二维数组࿱…...
![](https://img-blog.csdnimg.cn/485e23fe171340ac8aa6484295c452bf.png)
Java每日一练(20230324)
目录 1. 链表插入排序 🌟🌟 2. 最接近的三数之和 🌟🌟 3. 寻找旋转排序数组中的最小值 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一…...
![](https://img-blog.csdnimg.cn/img_convert/8d8d59e1dd7c395c7fdd72192c2ef6f0.png)
你掌握了吗?在PCB设计中,又快又准地放置元件
在印刷电路板设计中,设置电路板轮廓后,将零件(占地面积)调用到工作区。然后将零件重新放置到正确的位置,并在完成后进行接线。 组件放置是这项工作的第一步,对于之后的平滑布线工作是非常重要的工作。如果在接线工作期间模块不足…...
![](https://img-blog.csdnimg.cn/2a17b3da5c3044d4a02088ecfc8d3602.png)
springboot学生综合测评系统
031-springboot学生综合测评系统演示录像2022开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件&…...
![](https://img-blog.csdnimg.cn/6750a6203bfa4852a3e76e8204673245.gif)
【Unity3D】法线贴图和凹凸映射
1 法线贴图原理 表面着色器中介绍了使用表面着色器进行法线贴图,实现简单快捷。本文将介绍使用顶点和片元着色器实现法线贴图和凹凸映射,实现更灵活。 本文完整代码资源见→法线贴图和凹凸映射。 1)光照原理 Phong 光照模型和 Blinn Phong 光…...
![](https://www.ngui.cc/images/no-images.jpg)
代码误写到master分支(或其他分支),此时代码还未提交,如何转移到新建分支?
问题背景 有时候,我们拿到需求,没仔细看当前分支是什么,就开始撸代码了。完成了需求或者写到一半发现开发错分支了。 比如此时新需求代码都在master分支上,提交必然是不可能的,所有修改还是要在新建分支上进行&#x…...
![](/images/no-images.jpg)
上海广告公司网站制作/百度云资源搜索网站
1、DES算法:Java代码 收藏代码/**加解密算法param data 加解密数据param key 秘钥param mode 模式return 加解密结果*/public static byte[] desCryt(byte[] data, byte[] key, int mode){byte[] result null ;try {SecureRandom sr new SecureRandom();SecretKey…...
![](/images/no-images.jpg)
推广网站的几种方法/网站关键词优化的价格
Linux 大作业局域网聊天室项目组成员列表课序号学号姓名班级任务分工组员02201192网1103客户端代码,详细设计02201192软1113引言需求分析概要设计,界面代码02201192软1113服务器,客户端代码,总结02201192软1113文档参与大连理工大…...
![](https://img-blog.csdnimg.cn/img_convert/9dbe962b3826c40c55cdb2eb870d9bdb.png)
大学网站建设方案书/网站视频播放代码
近日,中国信息通信研究院发布《2020年数字金融App安全观测报告》(简称《报告》)。《报告》检测了2万余款金融行业App,超9成App存在安全漏洞。与2019年相比,流氓行为类恶意程序感染率增长明显,广东省受到恶意程序感染的App数量最多…...
![](http://upload-images.jianshu.io/upload_images/2085791-a3593714c18c3b1b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
做自己看视频的网站/免费域名服务器
2019独角兽企业重金招聘Python工程师标准>>> Fiori里的busy dialog有两种表现形式,一种是下图里的花朵形状,由5个不断旋转的花瓣组成。另一种是下图的3/4个圆环不断旋转的效果。 关于前者的效果,可以看我制作的这个视频。这个视频…...
![](https://images2018.cnblogs.com/blog/1459131/201808/1459131-20180827113237506-2033944124.png)
整人关不掉的网站怎么做/外贸营销型网站设计
calendar是与日历相关的模块,calendar模块文件里定义了很多类型,主要有Calendar,TextCalendar以及HTMLCalendar类型。其中,Calendar是TextCalendar与HTMLCalendar的基类。该模块文件还对外提供了很多方法,例如…...
![](/images/no-images.jpg)
各大网站黑白几天/腾讯广告推广怎么做
创建一个存储过程create procedure porc () #存储过程名称porc begin select user from mysql.user; #sql语句 end;调用存储过程call porc();删除存储过程DROP PROCEDURE IF EXISTS porc;转载于:https://blog.51cto.com/quliren/1984097...