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

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

相关推荐
LPieces1 小时前
从零实现 AI 流式对话:SSE + Node.js 完整指南
前端
Crystal3281 小时前
【终极指南】前端方面解决 uni-app APP 端 SSE 流式请求被缓冲拦截、无法实时渲染的问题
android·前端·ai编程
BG1 小时前
利用Codex GPT-5.5 基于extended_image新增图片透视变换功能
前端·flutter
小四的小六1 小时前
WebView 内存治理与稳定性实战:那些线上OOM教会我的事
前端·webview
我命由我123451 小时前
前端开发概念 - 无障碍树
javascript·css·笔记·学习·html·html5·js
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_29:(动态构建与更新 DOM 树)
前端·javascript·ui·html·html5·媒体
编程技术手记2 小时前
html table布局平衡
前端·html
huoyueyi2 小时前
3D数字孪生项目 LCP 优化指南
前端·3d·几何学
菜鸟小芯3 小时前
【腾讯位置服务开发者征文大赛】校园美食雷达 —— 基于 CodeBuddy + 腾讯 LBS 开发实战
前端·美食
搜狐技术产品小编20233 小时前
深度解析与业务实战:将 screenshot-to-code 改造为支持 React + Ant Design 的前端利器
前端·javascript·react.js·前端框架·ecmascript