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是一个长期积累的过程,积硅步方可至千里。

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

相关推荐
IT_陈寒13 小时前
React状态更新那点事儿,我掉坑里爬了半天
前端·人工智能·后端
cwxcc14 小时前
Google Core Web Vitals(核心网页指标)
前端·性能优化
|晴 天|14 小时前
Vue 3 + LocalStorage 实现博客游戏化系统:成就墙、每日签到、积分商城
前端·vue.js·游戏
逾明14 小时前
Claude Code及Codex的MCP安装和Mastergo MCP的使用
前端·mcp
LovroMance15 小时前
如何进行组件封装
前端
難釋懷15 小时前
Redis服务器端优化-慢查询优化
前端·redis·bootstrap
sghuter15 小时前
Chrome如何重塑Web标准未来
前端·chrome
渣渣xiong15 小时前
从零开始:前端转型AI agent直到就业第十四天-第十七天
前端·人工智能
changshuaihua00115 小时前
React 入门
前端·javascript·react.js
兰为鹏15 小时前
做前端需求总结出的非常好用的skill
前端