怎么用CSS的Grid布局实现小松鼠邮票的效果

发布时间:2022-02-24 15:14:28 作者:小新
来源:亿速云 阅读:174

这篇文章主要介绍怎么用CSS的Grid布局实现小松鼠邮票的效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    代码解读

    定义dom,容器表示邮票:

    <divclass="stamp">

    </div>

    居中显示:

    body{

    margin:0;

    height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    background-color:teal;

    }

    设置容器尺寸:

    .stamp{

    position:relative;

    width:45em;

    height:63em;

    font-size:6px;

    padding:5em;

    background-color:white;

    }

    用重复背景绘制出邮票的齿孔:

    .stamp{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    }

    .stamp::after,

    .stamp::before{

    content:'';

    width:100%;

    height:100%;

    position:absolute;

    background:

    radial-gradient(circle,teal50%,transparent50%),

    radial-gradient(circle,teal50%,transparent50%);

    background-size:3.5em3.5em;

    }

    .stamp::before{

    top:1.5em;

    background-repeat:repeat-y;

    background-position:-4%0,104%0;

    }

    .stamp::after{

    left:1.5em;

    background-repeat:repeat-x;

    background-position:0-3%,0103%;

    }

    在html文件中增加小鸡的dom元素,子元素分别表示耳朵、头部、身体、尾巴下部、尾巴上部、腿、爪子:

    <pclass="stamp">

    <pclass="squirrel">

    <pclass="ear"></p>

    <pclass="head"></p>

    <pclass="body"></p>

    <pclass="tail-start"></p>

    <pclass="tail-end"></p>

    <pclass="leg"></p>

    <pclass="foot"></p>

    </p>

    </p>

    设置grid布局的行列尺寸:

    .squirrel{

    display:grid;

    grid-template-columns:11.5em7em15.5em10.5em;

    grid-template-rows:13em5em11.5em22.5em;

    background-color:silver;

    padding:2em;

    margin-top:-2em;

    }

    画出扇形的头部:

    .head{

    grid-column:1;

    grid-row:3;

    background-color:chocolate;

    border-bottom-left-radius:100%;

    }

    用径向渐变画出眼睛:

    .head{

    background-image:radial-gradient(

    circleat58%22%,

    black1.4em,

    transparent1.4em

    );

    }

    画出扇形的耳朵:

    .ear{

    grid-column:2;

    grid-row:2;

    width:5em;

    background-color:bisque;

    border-bottom-right-radius:100%;

    }

    画出扇形的身体:

    .body{

    grid-column:2/4;

    grid-row:4;

    background-color:chocolate;

    border-top-right-radius:100%;

    position:relative;

    overflow:hidden;

    }

    用伪元素,通过阴影画出蜷曲的腿:

    .body::before{

    content:'';

    position:absolute;

    width:100%;

    height:50%;

    box-shadow:2em-2em4emrgba(0,0,0,0.3);

    bottom:0;

    --w:calc((7em+15.5em)/2);

    border-top-left-radius:var(--w);

    border-top-right-radius:var(--w);

    }

    画出半圆形的小爪子:

    .foot{

    grid-column:1;

    grid-row:4;

    height:4em;

    width:8em;

    background-color:saddlebrown;

    justify-self:end;

    align-self:end;

    border-radius:4em4em00;

    filter:brightness(0.8);

    }

    画出半圆形的尾巴下部:

    .tail-start{

    grid-column:4;

    grid-row:4;

    --h:calc(22.5em-1.5em);

    height:var(--h);

    background-color:bisque;

    align-self:end;

    border-radius:0var(--h)var(--h)0;

    }

    画出半圆形的尾巴上部:

    .tail-end{

    grid-column:3;

    grid-row:1/5;

    --h:calc(13em+5em+11.5em+1.5em);

    height:var(--h);

    background-color:chocolate;

    border-radius:var(--h)00var(--h);

    }

    在dom中再增加一些文本,包括标题、作者和面值:

    <pclass="stamp">

    <pclass="puppy">

    <!--略-->

    </p>

    <pclass="text">

    <spanclass="title">Squirrel</span>

    <spanclass="author">comehope</span>

    <spanclass="face-value">200</span>

    </p>

    </p>

    设置标题的文字样式:

    .text{

    position:relative;

    width:calc(100%+2em*2);

    height:6em;

    font-family:sans-serif;

    }

    .text.title{

    position:absolute;

    font-size:6em;

    font-weight:bold;

    color:darkslategray;

    }

    设置作者的文字样式:

    .text.author{

    position:absolute;

    font-size:3em;

    bottom:-1.2em;

    color:dimgray;

    }

    设置面值的文字样式:

    .text.face-value{

    position:absolute;

    font-size:14em;

    right:0;

    line-height:0.9em;

    color:darkcyan;

    }

    大功告成!

以上是“怎么用CSS的Grid布局实现小松鼠邮票的效果”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 什么是css grid布局
  2. css中grid布局的案例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css grid

上一篇:怎么用CSS3中的属性box-direction控制布局顺序

下一篇:怎么用CSS3的Animations实现平滑的页面加载

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》