十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下CSS的Grid布局怎么实现小狗邮票,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
成都创新互联公司服务项目包括西塞山网站建设、西塞山网站制作、西塞山网页制作以及西塞山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,西塞山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到西塞山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
代码解读
定义dom,容器表示邮票:
居中显示:
body{
margin:0;
height:100vh;
display:flex;
align-items:center;
justify-content:center;
background-color:teal;
}
设置容器尺寸:
.stamp{
position:relative;
width:40.5em;
height:71em;
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.5%0,104.5%0;
}
.stamp::after{
left:1.5em;
background-repeat:repeat-x;
background-position:0-2.5%,0102.5%;
}
在html文件中增加小狗的dom元素,子元素分别表示耳朵、头部、眼睛、舌头、身体、尾巴和爪子:
设置grid布局的行列尺寸:
.puppy{
display:grid;
grid-template-columns:10em22.5em8em;
grid-template-rows:21em12.5em3.75em22.5em;
background-color:tan;
padding:2em;
margin-top:-1em;
}
画出小狗的头部,跨第1列和第2列、第2行和第3行,是一个半圆形:
.head{
grid-column:1/3;
grid-row:2/4;
border-bottom-left-radius:calc(12.5em+3.75em);
border-bottom-right-radius:calc(12.5em+3.75em);
background-color:bisque;
}
用伪元素画出鼻子,是一个扇形,多余的部分被隐藏了:
.head{
position:relative;
overflow:hidden;
}
.head::before{
content:'';
position:absolute;
width:7em;
height:7em;
border-bottom-right-radius:100%;
background-color:sienna;
}
画出半圆形的眼晕:
.eyes{
grid-column:2;
grid-row:2;
justify-self:end;
position:relative;
height:10.5em;
width:21em;
border-radius:0010.5em10.5em;
background-color:sienna;
}
用径向渐变画出眼珠:
.eyes{
background-image:radial-gradient(
circleat37%33%,
black1.4em,
transparent1.4em
);
}
画出半圆形的耳朵:
.ear{
grid-column:2;
grid-row:1;
justify-self:end;
width:10.5em;
border-radius:21em0021em;
background-color:sienna;
}
画出扇形的舌头:
.tongue{
grid-column:1;
grid-row:3;
width:5.5em;
height:5.5em;
background-color:indianred;
border-bottom-left-radius:100%;
}
画出扇形的身体:
.body{
grid-column:2;
grid-row:4;
background-color:sienna;
border-top-left-radius:100%;
}
用伪元素,通过阴影画出中蹲着的腿:
.body{
position:relative;
overflow:hidden;
}
.body::after{
content:'';
position:absolute;
height:50%;
width:100%;
border-radius:11.25em11.25em00;
box-shadow:2em04emrgba(0,0,0,0.3);
bottom:0;
}
画出半圆形的尾巴:
.tail{
grid-column:1;
grid-row:4;
justify-self:end;
align-self:end;
height:17.5em;
width:8.75em;
background-color:bisque;
border-radius:17.5em0017.5em;
}
画出半圆形的小爪子:
.foot{
grid-column:3;
grid-row:4;
align-self:end;
height:4em;
background-color:bisque;
border-radius:4em4em00;
}
在dom中再增加一些文本,包括标题、作者和面值:
设置标题的文字样式:
.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:sienna;
}
设置作者的文字样式:
.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布局怎么实现小狗邮票”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!