CSS特效之丑蘑菇

简介: CSS特效之丑蘑菇

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

上图看效果

image.png

图如其名,接下来我讲解排版思路

实现思路


蘑菇分为头部,根部,俩大部分,头部还有一些不规则形状的蘑菇点

头部通过盒子先花一个半圆,然后通过伪元素的方式定位到头部盒子的最底部,实现头部的效果

根部就很简单了,这里就不说了

小圆点通过定位的方式实现不同位置的排列,其中还通过CSS的扭曲属性实现不规则的小圆点

transform: skew(0deg, 10deg);

页面结构


<!-- 大盒子 -->
    <div class="mushroom_box">
        <!-- 蘑菇头 -->
        <div class="mushroom_top">
            <!-- 不规则小圆点 -->
            <i></i>
            <i></i>
            <i></i>
            <i></i>
            <i></i>
        </div>
        <!-- 蘑菇根部 -->
        <div class="mushroom_bottom"></div>
    </div>

先给大盒子排好基本布局样式免得最后样式错乱,大盒子采用flex布局的方式设置Y轴为主轴侧轴居中,实现盒子里面的子元素居中排列

/* 大盒子 */
        .mushroom_box {
            position: relative;
            box-sizing: border-box;
            width: 750px;
            padding-top: 20px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

蘑菇头部


首先先画出来一个半圆

image.png

/* 蘑菇头 */
         .mushroom_top {
            position: relative;
            width: 400px;
            height: 200px;
            background: #FE876F;
            border-top-left-radius: 200px;
            border-top-right-radius: 200px;
        }

画出半圆后在通过伪元素的方式完成蘑菇头的基本样式,伪元素这里要采用定位的方式把他定位到半圆的底部,这样就实现了一个头部的基本轮廓

image.png

.mushroom_top::after {
            content: '';
            position: absolute;
            top: 100%;
            width: 400px;
            height: 100px;
            border-bottom-left-radius: 200px;
            border-bottom-right-radius: 200px;
            background: #FE876F;
        }

头部完成后,需要在给上边框,这样才能实现一个初步的效果,伪元素也需要给边框,整个头部都需要有边框,伪元素有了边框之后会和头部的盒子对不起,这是因为伪元素是基准头部盒子的content部分进行定位的,但是边框不在content部分,这个时候需要给通过定位的left属性减去边框的宽度就可以实现对齐的效果了

image.png

/* 蘑菇头 */
        .mushroom_top {
            border: 4px solid #000;
        }
        .mushroom_top::after {
            content: '';
            position: absolute;
            top: 100%;
            left: -4px;
            border: 4px solid #000;
            border-top: none;
        }

蘑菇头根部


蘑菇头根部比较简单,给宽高和边框就好了,最后在通过边框圆角的方式实现一个圆底

image.png

/* 蘑菇根部 */ 
        .mushroom_bottom {
            width: 120px;
            height: 300px;
            background: #FFF6E5;
            border: 4px solid #000;
            border-top-left-radius: 150px;
            border-top-right-radius: 150px;
            border-bottom-left-radius: 100px;
            border-bottom-right-radius: 100px;
        }

不规则蘑菇圆点


image.png

不规则蘑菇圆底,通过给蘑菇头里面的标签定位的方式结合css序选择器实现圆点的大小和不同位置的排列,在通过css3的skew扭曲属性实现不规则的圆点大小

/* 蘑菇小黄点 */
        .mushroom_top>i {
            position: absolute;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background: #FFF9D6;
            border: 3px solid #000;
            top: 20%;
            left: 40%;
        }
        .mushroom_top>i:nth-child(2) {
            top: 30%;
            left: 20%;
            width: 40px;
            height: 50px;
            transform: skew(30deg, 20deg);
        }
        .mushroom_top>i:nth-child(3) {
            top: 70%;
            left: 60%;
            width: 70px;
            height: 70px;
            z-index: 8;
        }
        .mushroom_top>i:nth-child(4) {
            top: 70%;
            left: 20%;
            width: 90px;
            height: 90px;
            transform: skew(0deg, 10deg);
            z-index: 8;
        }
        .mushroom_top>i:nth-child(5) {
            top: 15%;
            left: 60%;
            width: 90px;
            height: 90px;
            z-index: 8;
        }


image.png

相关文章
CSS 05 transition特效
transition-property 过渡属性,默认值为all transition-duration 过渡持续时间,默认时间为0s transition-timing-function 过渡函数,默认ease函数,还有ease-out(先快后慢)、ease-in(先慢后快)、linear(匀速)等等函数 transition-delay 过渡延迟时间,默认0s <div class="ceng"> </div> .ceng{ width:100px; height:100px; background-color:pink; cursor:point
|
前端开发
HTML+CSS+JS实现卡通人物C罗ui特效
2022年卡塔尔世界杯(英语:FIFA World Cup Qatar 2022)是第二十二届世界杯足球赛,是历史上首次在卡塔尔和中东国家境内举行、也是第二次在亚洲举行的世界杯足球赛。除此之外,卡塔尔世界杯还是首次在北半球冬季举行、首次由从未进过世界杯决赛圈的国家举办的世界杯足球赛
HTML+CSS+JS实现卡通人物C罗ui特效
|
前端开发
CSS特效集锦(9款 , 总有一款是你喜欢的)
主要是: 穿越时空特效, 图片放大镜, 3D相册, 立方体相册, 昼夜更替特效, 飘雪, 七彩雨, 签名生成器, 水波纹动画等
CSS特效集锦(9款 , 总有一款是你喜欢的)
|
前端开发
|
前端开发 JavaScript 程序员
基于H5+css+JavaScript实现旋转水滴网页加载特效
基于H5+css+JavaScript实现旋转水滴网页加载特效
205 0
基于H5+css+JavaScript实现旋转水滴网页加载特效
|
前端开发 JavaScript 程序员
基于H5+css+JavaScript实现流光圆环加载特效页面
基于H5+css+JavaScript实现流光圆环加载特效页面
355 0
|
前端开发 JavaScript 程序员
基于H5+css+JavaScript实现经典加载特效
基于H5+css+JavaScript实现经典加载特效
132 0
基于H5+css+JavaScript实现经典加载特效
|
前端开发 JavaScript 程序员
H5+css+JavaScript满屏彩色泡泡小特效(适合表白哦~做完发给让你每天想念的人吧~)
H5+css+JavaScript满屏彩色泡泡小特效(适合表白哦~做完发给让你每天想念的人吧~)
139 0
H5+css+JavaScript满屏彩色泡泡小特效(适合表白哦~做完发给让你每天想念的人吧~)
|
前端开发 容器
用CSS实现超美星空特效
最近真是越来越对CSS感兴趣了,于是再来整一手,夜晚的星星,再配合上皎洁的月光,这唯美的星空,它来了! 今天带领大家,用CSS实现一下,这美丽的星空。
|
前端开发
纯CSS3不规则瀑布流布局特效
纯CSS3不规则瀑布流布局特效
170 0
纯CSS3不规则瀑布流布局特效