如何使用CSS的Grid布局实现小鸡邮票(附代码)

本篇文章给大家带来的内容是关于如何使用css的grid布局实现小鸡邮票(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

1823763689-5ba9be40dcb54_articlex.png

源代码下载

https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,容器表示邮票:

居中显示:

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background-color: teal;}

设置容器尺寸:

立即学习“前端免费学习笔记(深入)”;

.stamp {    position: relative;    width: 57em;    height: 71em;    font-size: 5px;    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, teal 50%, transparent 50%),        radial-gradient(circle, teal 50%, transparent 50%);    background-size: 3.5em 3.5em;}.stamp::before {    top: 1.5em;    background-repeat: repeat-y;    background-position: -3% 0, 103% 0;}.stamp::after {    left: 1.5em;    background-repeat: repeat-x;    background-position: 0 -2.5%, 0 102.5%;}

html 文件中增加小鸡的 dom 元素,子元素分别表示头部、喙、身体、尾巴、腿、爪子、太阳、桔子:

设置 grid 布局的行列尺寸:

.rooster {    display: grid;    grid-template-columns: 22.5em 13em 1.75em 14.5em 4.5em;    grid-template-rows: 12.5em 14.5em 15em 8em 5.5em;    background-color: wheat;    padding: 2em;    margin-top: -2em;}

画出扇形的头部:

.head {    grid-column: 4;    grid-row: 2;    background-color: burlywood;    border-top-left-radius: 100%;}

画出小鸡的眼睛和脸上的红晕:

.head {    position: relative;}.head::after {    content: '';    position: absolute;    width: 2.8em;    height: 2.8em;    border-radius: 50%;    background-color: black;    right: 30%;    box-shadow: 2em 4em 4em rgba(255, 100, 0, 0.5);}

画出扇形的喙:

.beak {    grid-column: 5;    grid-row: 2;    height: 4.5em;    background-color: darkorange;    border-bottom-right-radius: 100%;}

画出半圆形的身体:

.body {    grid-column: 2 / 5;    grid-row: 3;    width: 30em;    background-color: saddlebrown;    border-radius: 0 0 15em 15em;}

用伪元素,通过阴影画出翅膀:

.body {    position: relative;    overflow: hidden;}.body::after {    content: '';    position: absolute;    width: 20em;    height: 10em;    border-radius: inherit;    box-shadow: 4em 2em 4em rgba(0, 0, 0, 0.3);    left: calc((30em - 20em) / 2);}

画出扇形的尾巴:

.tail {    grid-column: 1;    grid-row: 1 / 3;    height: 22.5em;    background-color: burlywood;    align-self: end;    border-top-left-radius: 100%;}

画出扇形的腿:

.leg {    grid-column: 4;    grid-row: 4;    width: 8em;    background-color: burlywood;    border-bottom-right-radius: 100%;}

画出扇形的小爪子:

.foot {    grid-column: 4;    grid-row: 5;    width: 5.5em;    background-color: darkorange;    border-top-right-radius: 100%;}

画出半圆形的太阳:

.sun {    grid-column: 3 / 5;    grid-row: 1;    width: 17em;    --h: calc(17em / 2);    height: var(--h);    background-color: darkorange;    border-radius: 0 0 var(--h) var(--h);}

画出圆形的桔子和半圆形的叶片,注意此处叶片的画法与前面画半圆形的画法不同:

.orange-stuff {    grid-column: 1;    grid-row: 3 / 6;    width: 16em;    height: 16em;    background-color: darkorange;    align-self: end;    justify-self: end;    border-radius: 50%;    position: relative;}.orange-stuff::before {    content: '';    position: absolute;    width: 8em;    height: 8em;    background: linear-gradient(45deg, transparent 50%, saddlebrown 50%);    border-radius: 50%;    top: -6.8em;    left: 10%;}

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

Rooster comehope 120

设置标题的文字样式:

.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: brown;}

设置作者的文字样式:

.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布局实现小鸡邮票(附代码)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:44:39
下一篇 2025年12月24日 02:44:50

相关推荐

  • 如何使用css3新增属性content?content属性的使用(代码实例)

    本章给大家介绍如何使用css3新增属性content?content属性的使用(代码实例),详解css3 content(内容)属性,让大家知道如何利用content属性如何插入清除浮动,插入内容。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 一、详解content属性 1、co…

    2025年12月24日 好文分享
    000
  • 如何使用CSS的Grid布局实现小松鼠邮票的效果(附源码)

    本篇文章给大家带来的内容是关于如何使用css的grid布局实现小松鼠邮票的效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-…

    2025年12月24日
    000
  • 如何让伪进度条在页面上显示成gif图像

    在工作中为了方便,我们需要加上一些效果,这篇文章就和大家讲讲伪进度条如何在页面上显示gif图像,感兴趣的朋友可以参考一下,希望可以帮助到你。 最近做的一个项目中,点击某个操作后,由于后台做的事情比较多,花的时间比较久一点。而这个过程中前台又看不出一点变化,为了防止客户点击后再次点击该按钮,就在第一次…

    2025年12月24日
    000
  • 图文详解CSS3中filter滤镜属性的使用(实例代码)

    最近在网上偶然发现了一个特别牛逼的属性,就是css3中的filter滤镜属性,这个属性可以改变图片的颜色,一张图片可以呈现多种效果,接下来就给大家介绍css3中的filter过滤器的使用方法,以及实例示范filter滤镜的效果,感兴趣的朋友继续往下看吧。 很多人不知道CSS filter是什么意思。…

    2025年12月24日
    000
  • 深入理解CSS中的filter属性的使用方法

    这篇文章只要讲了css滤镜的使用方法,非常详细,有需要的小伙伴可以参考一下,希望对你有用。 CSS滤镜的使用方法:filter:filtername(parameters) 即 filter:滤镜名称(参数) alpha:设置透明层次blur:创建高速度移动效果,即模糊效果chroma:制作专用颜色…

    好文分享 2025年12月24日
    000
  • 如何使用纯CSS实现文本的淡入动画效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现文本的淡入动画效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,…

    2025年12月24日
    000
  • css3鼠标移入特效:如何实现div颜色渐变和放大缩小的效果

    本篇文章给大家带来的内容是关于css3中如何利用transition实现鼠标悬停的时候div的颜色、高度和宽度都改变的效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 我们平时在浏览web网页的时候会见到这样一种情况:当鼠标悬停的某个区域的时候,该区域的形状会在指定时间内进行放大…

    2025年12月24日
    000
  • 使用css3在网页中实现五角星样式(原理解析)

    本篇文章给大家带来的内容是关于使用css3在网页中实现五角星样式,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 我们平时在web网页中看到的各种图形包括正方形,长方形,三角形,圆形等,大部分是使用css3或者背景图片来实现的,但是在开发的过程中,使用背景图片的截取有着很多的不足,比…

    2025年12月24日
    000
  • CSS3实现动态打开大门效果(代码实例)

    本章给大家介绍css3实现动态打开大门效果(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助 先看看效果图: 动态打开大门效果主要运用到了3D旋转和定位技术。具体步骤如下: 1、首先在页面主体加三个很简单的div标签: 2、给外层盒子(.door) 加上基本的属性、背景、视…

    2025年12月24日
    000
  • 前端开发CSS3技术经验分享

    最近对前端的一些知识进行了归纳总结,方便自己以后查看,同时也分享给大家,希望大家少走弯路。这篇文章主要总结了css3中的相关知识,有需要的朋友可以参考一下,希望对你有用。 1、设置字体(兼容所有浏览器) @font-face {font-family: ‘iconfont’;src: url(“fo…

    好文分享 2025年12月24日
    000
  • 分享九种纯CSS实现垂直居中的方法

    这篇文章围绕垂直居中展开,主要介绍了垂直居中的多种方法,相信总有一款是你需要的,感兴趣的朋友可以参考一下,希望对你有帮助。 垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法。有了css3,针对移动端的垂直居中就更加…

    好文分享 2025年12月24日
    000
  • 你知道怎么让一个float:left的元素居中吗?

    在页面布局中,经常用到浮动,那浮动以后的元素还可以居中吗?这篇文章主要讲了如何让一个float:left的元素居中,不知道的小伙伴继续往下看吧。听起来很高端大气上档次的样子 但是其实试了一下还是很简单 第一种方法 .box { float: left; width: 100px; height: 1…

    2025年12月24日
    000
  • 当float属性导致换行后,应该怎么处理?

    页面布局离不开float浮动的使用,当float属性导致换行后,应该怎么处理?想知道的小伙伴继续往下看吧,希望可以帮助到你。 在h5开发中,经常会使用float属性来解决一些布局问题。但在某些复杂的布局中也会遇到使用float属性是导致一行中的元素无法对齐或者float元素换行等现象。在遇到这种问题…

    好文分享 2025年12月24日
    000
  • 如何让ul实现横向排列不换行的效果

    大家在页面布局时有没有遇到这种情况,让ul横向排列时,它会换行,但是这不是我们希望看到的效果,你知道怎么处理这种情况吗?这篇文章就和大家聊聊如何让ul实现横向排列不换行,感兴趣的欢迎阅读评论。 刚学前端不久,尝试着写各种布局。今天想实现一个横向排列的照片列表,于是最先想到的就是利用ul将list-s…

    好文分享 2025年12月24日
    000
  • css中如何设置hr的样式?css 标签多种样式(图文)

    在对html网页进行美化的时候,肯定少不了要用的hr标签进行修饰页面,但默认的hr标签样式对页面的修饰起不到什么好的作用,有经验的前端工作者就会通过使用css样式来对hr标签进行一些美化的操作。那么如何在css中给hr标签设置样式呢?本章就给大家介绍css设置hr标签的几种样式。有一定的参考价值,有…

    2025年12月24日 好文分享
    000
  • css如何使用利用border和border-radius绘制一些小图形(代码实例)

    在页面开发中,常常需要一些小图形来美化页面。这些图形可以用图片形式展现,但页面每次加载图片需要花费时间,那么用css如何实现这些图形?本章就给大家介绍css如何使用利用border和border-radius绘制一些小图形(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。…

    2025年12月24日 好文分享
    000
  • 分享三种给li标签添加图标的方法

    我们在页面布局时,经常会用到li标签,单独使用li标签比较单调,有时候为了页面效果,需要加入图片,那怎么在li标签中添加图片呢?这篇文章就和大家分享三种给li标签添加图标的方法,希望对你有用。 1.使用CSS的特殊属性 ul{list-style-type:disc;} //disc的作用是在每个l…

    好文分享 2025年12月24日
    000
  • 使用css3在网页中实现各种三角形样式集合(原理解析)

    大家在浏览web网页的时候经常看到有各种各样的图形,比如圆形,正方形,长方形,三角形等,今天特意做了一个关于用css实现三角形的教程,那css三角形怎么写呢?css实现三角形的原理是什么? 推荐手册:css在线手册 请看一下实例详解。 (相关视频教程推荐:CSS教程) css3三角形使用场景 我们知…

    2025年12月24日
    000
  • 浅谈CSS加载失败的6个原因

    在页面布局时,都主张结构与样式分离,但是有些时候,css样式不能成功加载,这是为什么呢?这篇文章主要讲了css加载失败的6个原因,有需要的朋友可以参考一下,希望对你有用。 有很多刚刚接触css的新手有时会遇到css加载失败这个问题,但测试时,网页上没有显示该样式的问题,这就说明CSS加载失败了。出现…

    好文分享 2025年12月24日
    000
  • css中linear-gradient()函数是干什么的?实现线性渐变的圆形边框(代码)

    在前端开发过程中,有时会利用linear-gradient实现各种各样的效果,本章给大家介绍css中linear-gradient()函数是干什么的?实现线性渐变的圆形边框(代码)。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、css linear-gradient()是什么?…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信