如何使用纯CSS实现一块乐高积木(附源码)

本篇文章给大家带来的内容是关于php在web服务器上的运行模式详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

463518889-5b2ecb6298b30_articlex.png

源代码下载

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

代码解读

定义 dom,容器中包含一组 3 个面:

居中显示:

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

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background: radial-gradient(circle at center, white, skyblue);}

定义容器尺寸:

.brick {    width: 40em;    height: 30em;    font-size: 10px;}

画出积木的正面:

.brick {    position: relative;}.sides .front {    position: absolute;    width: 9em;    height: 6.8em;    background-color: #237fbd;    top: 19em;    left: 7em;}

画出积木的右面:

.sides > * {    position: absolute;    background-color: #237fbd;}.sides .right {    width: 18em;    height: 6.8em;    filter: brightness(0.8);    top: 19em;    left: calc(7em + 9em);}

画出积木的顶面:

.sides .top {    width: 18em;    height: 10.4em;    filter: brightness(1.2);    top: calc(19em - 10.4em);    left: calc(7em + 9em);}

把以上 3 个面组合成立方体:

.sides .front {    transform-origin: right;    transform: skewY(30deg);}.sides .right {    transform-origin: left;    transform: skewY(-30deg);}.sides .top {    transform-origin: left bottom;    transform: rotate(-60deg) skewY(30deg);}

接下来画积木的凸粒。

在 dom 中增加 8 个凸粒元素:

定义变量:

.studs span:nth-child(1) {    --n: 1;}.studs span:nth-child(3) {    --n: 3;}.studs span:nth-child(5) {    --n: 5;}.studs span:nth-child(7) {    --n: 7;}.studs span:nth-child(2) {    --n: 2;}.studs span:nth-child(4) {    --n: 4;}.studs span:nth-child(6) {    --n: 6;}.studs span:nth-child(8) {    --n: 8;}

画出左侧的凸粒:

.studs span:nth-child(odd) {    top: calc(4.6em + (var(--n) - 1) / 2 * 2.6em);    left: calc(23.3em - (var(--n) - 1) / 2 * 4.6em);}

画出右侧的凸粒:

.studs span:nth-child(even) {    top: calc(6.9em + (var(--n) - 2) / 2 * 2.6em);    left: calc(27.9em - (var(--n) - 2) / 2 * 4.6em);}

最后,画出凸粒的顶面:

.studs span::before {    content: '';    position: absolute;    width: inherit;    height: 2em;    background-color: #4cb7ff;    border-radius: 50%;}

以上就是如何使用纯CSS实现一块乐高积木(附源码)的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 03:12:06
下一篇 2025年12月24日 03:12:19

相关推荐

  • css怎么设置倾斜的字体样式?(代码详解)

    css怎么设置倾斜的字体样式?本篇文章就给大家介绍用css设置倾斜字体样式的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们要知道在css中设置对象内字体倾斜常常是使用css font-style属性来实现的,font-style 属性可以定义字体的风格。 下面我们通…

    2025年12月24日
    000
  • 如何使用纯CSS实现一张纪念卓别林的卡片(附源码)

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

    2025年12月24日
    000
  • css实现垂直居中的6种方法(代码示例)

    本篇文章给大家带来的内容是介绍css实现垂直居中的6种方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 html结构 垂直居中 默认css样式结构 .box{ width:200px; height:200px; background-color:green; }.…

    2025年12月24日
    000
  • css中display:table和display:table-cell的合用的妙处

    本篇文章给大家带来的内容是介绍css中display:table和display:table-cell的合用的妙处 。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 display的table和table-cell一般情况下用的不多,所以很少有人去关注它,但他们两个联手起来会给你惊…

    2025年12月24日
    000
  • 实例示范CSS中伪类选择器hover的使用方法

    在页面布局时,经常会用到css中的hover选择器,它可以设置鼠标经过时的特殊样式,作为一个前端开发人员,你知道css伪类选择器hover怎么使用吗?这篇文章就和大家讲讲css中hover的使用方法及实例示范,有一定的参考价值,感兴趣的朋友可以看看。 伪类选择器hover可以在鼠标移到链接上时设置一…

    2025年12月24日 好文分享
    000
  • css怎么设置字体加粗样式

    css设置字体加粗样式的方法:首先创建一个HTML示例文件;然后在body中定义一些文字内容;最后通过“font-weight:bold;”或“font-weight:bolder;”属性设置字体加粗样式即可。 本文操作环境:Windows7系统、Dell G3电脑、HTML5&&C…

    2025年12月24日
    000
  • 如何使用纯CSS实现打开内容弹窗的交互动画(附源码)

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

    2025年12月24日
    000
  • 如何实现图片在页面中宽高一直保持16:9的比例

    本篇文章给大家带来的内容是关于如何实现图片在页面中宽高一直保持16:9的比例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 目标:遇到一个需求,让图片在页面中,不管宽度如何变化。宽高保持16:9的比例。 实现: 方法一:这也是比较经典的一个方法,利用padding-bottom来实…

    好文分享 2025年12月24日
    000
  • css+html如何实现物流进度样式(代码示例)

    本篇文章给大家带来的内容是介绍css+html如何实现物流进度样式(代码示例),有需要的朋友可以参考一下,希望对你们有所帮助。 效果: css样式: ul li { list-style: none; } .package-status { padding: 18px 0 0 0 } .packag…

    2025年12月24日
    000
  • 分享HTML和CSS实现的炫酷登录页面代码

    大家在浏览网站时有没有发现,几乎每个网站都会要求你注册或登录,那作为一个前端开发人员,你知道html登录页面怎么制作吗?这篇文章就给大家分享一个由html 和css实现的炫酷的登录页面代码,有一定的实用价值,感兴趣的朋友可以参考一下。 制作这个炫酷的登录页面需要用到很多CSS中的属性,比如box-s…

    2025年12月24日
    000
  • 实例讲解CSS中相对定位和绝对定位的用法和区别(图文)

    css中的position属性可以设置元素的定位类型,比如fixed,relative,absolute等等,但是很多人搞不懂relative相对定位和absolute绝对定位的区别,这篇文章就和大家讲讲什么是绝对定位,什么是相对定位,以及相对定位和绝对定位的区别,有一定的参考价值,感兴趣的朋友可以…

    2025年12月24日
    000
  • css怎么重置样式?网页中8种css默认样式重置代码汇总

    本篇文章给大家带来的内容是介绍css怎么重置样式,总结了一些常用css默认样式重置的代码分享给大家。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在网页设计开发时,让人最头疼的莫过于让页面兼容各大浏览器,准确些是兼容它们“默认”的CSS样式表。那么,“抹掉”这些css默认样式表成…

    好文分享 2025年12月24日
    000
  • CSS3是什么?史上最全的CSS3简介

    本篇文章给大家带来的内容是关于css3是什么?史上最全的css3简介,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 对于没接触过CSS3的读者,看到CSS3的第一反应就是“CSS3跟CSS有什么区别呢?”其实CSS3是CSS的升级版本。CSS是从CSS1.0、CSS2.0、CSS2…

    2025年12月24日
    000
  • CSS3选择器是什么?CSS3选择器简介

    本篇文章给大家带来的内容是关于css3选择器是什么?css3选择器简介,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 选择器,说白了就是选取元素的一种方式。在CSS入门教程的“什么是CSS选择器”这一节已经详细给大家探讨过了。 CSS3在CSS2.1的基础上增加了很多实用的选择器,…

    2025年12月24日
    000
  • 如何利用css实现圆形效果?(代码实例)

    本篇文章给大家带来的内容是关于如何利用css实现圆形效果?(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 之前我们知道,CSS3动画效果由3大部分组成:变形、过渡和动画。前2章,我们已经对变形效果和过渡效果进行详细地讲解。这一章我们来讲解CSS3中“真正”的动画效果。 …

    2025年12月24日
    000
  • flex-shrink如何计算?flex-shrink的计算方法介绍

    本篇文章给大家带来的内容是关于flex-shrink如何计算?flex-shrink的计算方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 先回顾一下flex-grow 假设有一个div内包含三个子div1, div2, div3,宽度分别200px.对于flex-grow对…

    2025年12月24日
    000
  • CSS什么是继承?CSS如何使用?

    本篇文章给大家带来的内容是介绍css什么是继承?css如何使用?有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。 CSS的继承 css的继承指的是当标签具有嵌套关系时,内部标签自动拥有外部标签的不冲突的样式的性质。 在Css中有些属性不允许继承,例如,border属性没有继承性。多边框…

    好文分享 2025年12月24日
    000
  • CSS选择符是什么?CSS选择符有哪些?

    本篇文章给大家带来的内容是介绍css选择符是什么?css选择符有哪些?有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。 W3School离线手册(2017.03.11版)下载:https://pan.baidu.com/s/1c6cUPE7jC45mmwMfM6598A 选择符指的是要…

    好文分享 2025年12月24日
    000
  • 如何使用CSS和Vanilla.js实现展示苹果设备的交互动画(附源码)

    本篇文章给大家带来的内容是关于如何用css和vanilla.js实现展示苹果设备的交互动画(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代…

    2025年12月24日
    000
  • 如何使用纯CSS实现万圣节的toggle控件(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现万圣节的toggle控件(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码地址 https://github.com/shanyuhai123/learnCSS/tree/master/0159-hallow…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信