Flex实现九宫格

Posted baimeishaoxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flex实现九宫格相关的知识,希望对你有一定的参考价值。

写一个靠谱的flex布局

技术图片

<!DOCTYPE html>
<html>
<style>
.block {
    padding-top: 30%;
    margin-top: 3%;
    border-radius: 10%;
    background-color: orange;
    width: 30%;
}
.container-flex2  {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
</style>
<body>
   <div class="container-flex2">
        <div class="block"></div>
        <div class="block"></div>
        <div class="block"></div>
        <div class="block"></div>
        <div class="block"></div>
        <div class="block"></div>
        <div class="block"></div>
        <div class="block"></div>
        <div class="block"></div>
    </div>
</body>
</html>

关键点:利用了padding-top和flex-wrap:wrap,当设置background-color时,是包括盒子模型中的content和padding的,但是为什么不设置height呢?因为父元素没有高度,所以定义height:30%是没有用的,且若想每个block都为正方形,最好的方式就是设置padding-top/padding-bottom:a%,因为此时的百分比是父元素宽度的百分比,而width也为父元素宽度的百分比,所以block可以成为正方形。

以上是关于Flex实现九宫格的主要内容,如果未能解决你的问题,请参考以下文章

九宫格布局使用了flex,两个和多个元素排版样式问题。

Android实现九宫格解锁的实例代码

IOS 自定义按钮(代码实现)+九宫格

IOS 自定义按钮(代码实现)+九宫格

iOS代码实现九宫格

React九宫格抽奖