挑战一个盒子实现小米logo

简介: 大家好呀!学习完spring感觉神清气爽,今天突发奇想试试使用一个盒子来实现小米的logo,主要学习伪元素的使用,以及阴影的妙用,话不多说,看下最终实现效果🚀

922d3d78386d4b6b99df53fe52ad775d.png


1,首先是 html 部分,只是用一个div


<div></div>


2,css样式


首先是基础样式,全局取消内外边距以及使用的盒子模型

给body设置flex布局 display: flex; align-items: center; justify-content: center; min-height: 100vh;,使得内容水平垂直居中,这个动画就是旋转,可有可无

然后就是对div盒子写一下基本样式了,宽高背景颜色,因为子绝父相,所以添加了相对定位 position: relative;,border-radius: 110px;处理圆角,🆗,look look


*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    animation:  d3 15s infinite;
    perspective: 2000px;
}
div{
    position: relative;
    width: 300px;
    height: 300px;
    background-color: #ff6a00;
    border-radius: 110px;
}

09bbe738b9334a1d966c34140058e397.png


关于这个一个盒子实现logo,就是通过这一个盒子的伪元素来实现,所以主要学习内容就是伪元素的使用,以及阴影的妙用,好,🆗


注意:

html都可以使用伪元素,使用伪元素时必须有content: "";,没有内容就写空,这句必不可少,否则不生效


阴影box-shadow: offset-x offset-y blur spread color position; 当不给blur spread 这两个参数时,就像一个有宽高有背景颜色的盒子一样,利用这点对它进行叠加微调,就能实现啦!🚀


div::before{
    content: "";
    display: block;
    position: absolute;
    width: 88px;
    height: 110px;
    top: 84px;
    left: 45px;
    border:solid #fff;
    border-left-width: 30px;
    border-right-width: 30px;
    border-top-width: 26px;
    border-radius: 3px;
    border-top-right-radius: 42px;
    border-bottom-width: 0;
}
div::after{
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 35px;
    top: 125px;
    left: 105px;
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 30px #fff,
    0 56px #fff,
    120px -30px #fff,
    120px -43px #fff,
    120px 0 #fff,
    120px 30px #fff,
    120px 56px #fff;
}
@keyframes d3{
    0%,100%{
        transform: rotate3d(0,1,0,0deg);
    }
    50%{
        transform: rotate3d(0,1,0,360deg);
    }
}


完整代码


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>小米 logo</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            animation: d3 15s infinite;
            perspective: 2000px;
        }
        div {
            position: relative;
            width: 300px;
            height: 300px;
            background-color: #ff6a00;
            border-radius: 110px;
        }
        div::before {
            content: "";
            display: block;
            position: absolute;
            width: 88px;
            height: 110px;
            top: 84px;
            left: 45px;
            border: solid #fff;
            border-left-width: 30px;
            border-right-width: 30px;
            border-top-width: 26px;
            border-radius: 3px;
            border-top-right-radius: 42px;
            border-bottom-width: 0;
        }
        div::after {
            content: "";
            display: block;
            position: absolute;
            width: 30px;
            height: 35px;
            top: 125px;
            left: 105px;
            background-color: #fff;
            border-radius: 3px;
            box-shadow: 0 30px #fff,
                0 56px #fff,
                120px -30px #fff,
                120px -43px #fff,
                120px 0 #fff,
                120px 30px #fff,
                120px 56px #fff;
        }
        @keyframes d3 {
            0%,
            100% {
                transform: rotate3d(0, 1, 0, 0deg);
            }
            50% {
                transform: rotate3d(0, 1, 0, 360deg);
            }
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>


相关文章
|
3月前
|
前端开发 UED
超越静态:CSS动画轮播图,引领视觉新体验!
超越静态:CSS动画轮播图,引领视觉新体验!
|
3月前
|
前端开发
类抖音logo的光影之旅:CSS动画效果,让标志更具吸引力!
类抖音logo的光影之旅:CSS动画效果,让标志更具吸引力!
|
C语言 Perl
西门子LOGO!是什么?它有哪些应用?
LOGO!是西门子公司研制的通用逻辑模块,下面将对它进行一个简单的介绍。
西门子LOGO!是什么?它有哪些应用?
|
运维 安全
经典“科技蓝”LOGO设计,你也可以拥有!
经典“科技蓝”LOGO设计,你也可以拥有!
835 0
经典“科技蓝”LOGO设计,你也可以拥有!
|
编译器 区块链 C语言
华为太空人智能表盘代码仅需100行?
我来告诉你他到底有什么秘密,风儿风儿吹风儿风儿吹吹!听说最近太空人智能表盘很火啊,那么如何用C++做一个好玩的智能太空人表盘呢?安排!
215 0
华为太空人智能表盘代码仅需100行?
|
前端开发
仅用一个HTML标签,实现带动画的抖音Logo(一)
大家好,我是零一,今天给大家表演 仅用一个HTML标签实现带动画的抖音LOGO,涉及了很多知识点,欢迎交流讨论
389 0
仅用一个HTML标签,实现带动画的抖音Logo(一)
|
人工智能 Android开发
荣耀手机四周年大猜想,AI战略与海外布局或成主体
几年间,互联网手机变天。来自赛诺的数据显示,2017年1-9月,荣耀超越小米,成为互联网手机出货量、销售额双料第一。至此,荣耀将曾经以12.5%份额在国内市场领头的小米斩落马下,互联网手机已经告别了三年前诸侯混战的大乱局,国内大势已成。
174 0
荣耀手机四周年大猜想,AI战略与海外布局或成主体
浅析IPTV盒子和OTT盒子的差别,如何选择?
电视盒可以说是目前家庭电视最常见的搭档了,那么面对市场上众多的盒子品牌,是选择IPTV盒子还是OTT盒子呢?它们之间有哪些区别呢?
3435 0