css面试题之flex实现麻将三饼布局

麻将应该很多人都熟悉吧,那如何通过flex布局尽可能使用少的节点来实现"三饼(也有人管它叫桶)"的效果呢?(ps:麻将牌效果如下)

实现步骤:

1.首先先通过flex修饰外层容器,内部的三个节点分别代表三个大饼。

2.通过设置justify-content: space-between;使得三个饼能够均分区域并排列。

3.对三个饼依次设置align-self为self-start、center、self-end来实现垂直均分。

具体代码如下:

html部分:

html 复制代码
<div class="testPage">
        <div class="point part1"></div>
        <div class="point part2"></div>
        <div class="point part3"></div>
</div>

css部分:

css 复制代码
.testPage {
        width: 120px;
        height: 170px;
        border: 1px solid black;
        border-radius: 2px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 20px;
    }
.point {
        width: 50px;
        height: 50px;
        border-radius: 50%;
    }
.part1 {
        width: 50px;
        height: 50px;
        background-color: rgb(28, 77, 156);
        align-self: self-start;
    }
.part2 {
        width: 50px;
        height: 50px;
        background-color: rgb(211, 19, 36);
        align-self: center;
    }
.part3 {
        width: 50px;
        height: 50px;
        background-color: rgb(29, 152, 53);
        align-self: self-end;
    }

实现效果:

总之,学习css是一个长期积累的过程,积硅步方可至千里。

希望本文会对您有所帮助 ^_^

相关推荐
Mintopia17 分钟前
🤖 算法偏见修正:WebAI模型的公平性优化技术
前端·javascript·aigc
Mintopia20 分钟前
🧩 TypeScript防御性编程:让Bug无处遁形的艺术
前端·typescript·函数式编程
JarvanMo22 分钟前
🔔 Flutter 本地通知: 吸引用户的完整指南—即使在他们离线时也能实现
前端
你想考研啊27 分钟前
一、redis安装(单机)和使用
前端·数据库·redis
江城开朗的豌豆29 分钟前
小程序与H5的“握手言和”:无缝嵌入与双向通信实战
前端·javascript·微信小程序
天蓝色的鱼鱼29 分钟前
React 19 发布一年后:对比 React 18,带来了哪些惊喜与变革
前端·react.js
江城开朗的豌豆34 分钟前
小程序静默更新?用户却无感?一招教你“强提醒”
前端·javascript·微信小程序
小张成长计划..35 分钟前
VUE工程化开发模式
前端·javascript·vue.js
_oP_i1 小时前
dify之Web 前端工作流编排(Workflow Builder)
前端·dify
Moment1 小时前
快手前端校招一面面经 🤔🤔🤔
前端·javascript·面试