Flex弹性盒子布局实现骰子6点

简介: Flex弹性盒子布局实现骰子6点

概念

Flex 容器(flex container)

Flex 项目(flex item)

水平的主轴(main axis)垂直的交叉轴(cross axis)

主轴的开始位置(与边框的交叉点)main start,结束位置叫做main end;

交叉轴的开始位置叫做cross start,结束位置叫做cross end。

单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size

容器的属性

作用

可选参数

默认值

flex-direction

主轴的方向

row|row-reverse | column | column-reverse

row

flex-wrap

换行

nowrap | wrap | wrap-reverse

nowrap

flex-flow

<flex-direction> <flex-wrap>

row nowrap

justify-content

主轴对齐方式

flex-start | flex-end | center | space-between | space-around

flex-start

align-items

交叉轴对齐

flex-start | flex-end | center | baseline | stretch

stretch

align-content

多根轴线的对齐方式

flex-start | flex-end | center | space-between | space-around | stretch

stretch


项目的属性

作用

可选参数

默认值

order

排列顺序

<integer>

0

flex-grow

放大比例

<number>

0

flex-shrink

缩小比例

<number>

1

flex-basis

项目占据的主轴空间

<length>

auto

flex

<flex-grow> <flex-shrink> <flex-basis>

0 1 auto

align-self

项目对齐方式

auto | flex-start | flex-end | center | baseline | stretch

auto

1、基础样式

h2{
    text-align: center;
}

.main{
    display: flex;
    flex-wrap: wrap;
    width: 680px;
    justify-content: space-between;
}

.container{
    display: flex;
    width: 320px;
    height: 320px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content:space-between;
}

.box{
    width: 90px;
    height: 90px;
    background-color: #EEEEEE;
    padding: 5px;
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;            
}

.row{
    display: flex;
    flex-basis: 100%;
}

.item{
    width: 24px;
    height: 24px;
    background-color: #000000;
    margin: 3px;
    border-radius: 50%;
}
    

/*排列方向*/
.flex-direction-column{
     flex-direction: column;
}

/*水平排列*/
.justify-content-center{
    justify-content: center;
}

.justify-content-flex-end{
    justify-content: flex-end;
}

.justify-content-space-between{
    justify-content: space-between;
}
    
/*垂直排列*/
 .align-items-center{
     align-items: center;
 }

 .align-items-flex-end{
     align-items: flex-end;
 }

 .align-items-space-between{
     align-items: space-between;
 }

/*多轴对齐*/
 .align-content-space-between{
    align-content: space-between;
 }

 /*项目排列*/
 .align-self-center{
    align-self: center;
 }

 .align-self-flex-end{
    align-self: flex-end;
 }

2、单项目

d25.1.png


代码如下

<div class="container">


<div class="box">
<span class="item"></span>
</div>

<div class="box justify-content-center">
<span class="item"></span>
</div>

<div class="box justify-content-flex-end">
<span class="item"></span>
</div>

<div class="box align-items-center">
<span class="item"></span>
</div>

<div class="box justify-content-center align-items-center">
<span class="item"></span>
</div>

<div class="box justify-content-flex-end align-items-center">
<span class="item"></span>
</div>

<div class="box align-items-flex-end">
<span class="item"></span>
</div>

<div class="box justify-content-center align-items-flex-end">
<span class="item"></span>
</div>

<div class="box justify-content-flex-end align-items-flex-end">
<span class="item"></span>
</div>
</div>

3、双项目

d25.2.png

<div class="container">
<div class="box">
<span class="item"></span>
<span class="item"></span>
</div>

<div class="box">
<span class="item"></span>
<span class="item align-self-center"></span>
</div>

<div class="box justify-content-space-between">
<span class="item"></span>
<span class="item align-self-flex-end"></span>
</div>

<div class="box justify-content-space-between">
<span class="item"></span>
<span class="item"></span>
</div>

<div class="box justify-content-space-between align-items-center">
<span class="item"></span>
<span class="item"></span>
</div>
<div class="box justify-content-space-between align-items-flex-end">
<span class="item"></span>
<span class="item"></span>
</div>

<div class="box justify-content-space-between flex-direction-column">
<span class="item"></span>
<span class="item"></span>
</div>

<div class="box justify-content-space-between align-items-center flex-direction-column">
<span class="item"></span>
<span class="item"></span>
</div>

<div class="box justify-content-space-between align-items-flex-end flex-direction-column">
<span class="item"></span>
<span class="item"></span>
</div>

</div>

4、多项目

d25.3.png


<div class="container">
<div class="box">
<span class="item"></span>
<span class="item align-self-center"></span>
<span class="item align-self-flex-end"></span>
</div>

<div class="box justify-content-flex-end align-content-space-between">
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
</div>

<div class="box align-content-space-between">
<div class="row justify-content-space-between">
<span class="item"></span>
<span class="item"></span>
</div>

<div class="row justify-content-space-between">
<span class="item"></span>
<span class="item"></span>
</div>
</div>

<div class="box align-content-space-between">
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
</div>

<div class="box align-content-space-between flex-direction-column">
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
</div>

<div class="box">
<div class="row">
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
</div>

<div class="row justify-content-center">
<span class="item"></span>
</div>

<div class="row justify-content-space-between">
<span class="item"></span>
<span class="item"></span>
</div>
</div>

<div class="box">
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
</div>

</div>

5、骰子6点

d25.4.png


<div class="container">
<div class="box justify-content-center align-items-center">
<span class="item"></span>
</div>

<div class="box justify-content-space-between">
<span class="item"></span>
<span class="item align-self-flex-end"></span>
</div>

<div class="box">
<span class="item"></span>
<span class="item align-self-center"></span>
<span class="item align-self-flex-end"></span>
</div>

<div class="box align-content-space-between">
<div class="row justify-content-space-between">
<span class="item"></span>
<span class="item"></span>
</div>

<div class="row justify-content-space-between">
<span class="item"></span>
<span class="item"></span>
</div>
</div>

<div class="box">
<div class="row justify-content-space-between">
<span class="item"></span>
<span class="item"></span>
</div>

<div class="row justify-content-center">
<span class="item"></span>
</div>

<div class="row justify-content-space-between">
<span class="item"></span>
<span class="item"></span>
</div>
</div>

<div class="box align-content-space-between flex-direction-column">
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
<span class="item"></span>
</div>
</div>

完成代码:

https://github.com/mouday/LearningNote/blob/master/html/flex-demo.html

其他

防止挤压

flex-shrink: 0

参考

  1. Flex 布局教程:语法篇
  2. Flex 布局教程:实例篇
  3. 30分钟彻底弄懂flex布局
  4. CSS3 弹性盒子(Flex Box)
            </div>
目录
相关文章
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
161 4
|
11月前
|
人工智能 算法 数据挖掘
StoryTeller:字节、上海交大、北大共同推出的全自动长视频描述生成一致系统
StoryTeller是由字节跳动、上海交通大学和北京大学共同推出的全自动长视频描述生成系统。该系统通过音频视觉角色识别技术,结合低级视觉概念和高级剧情信息,生成详细且连贯的视频描述。StoryTeller在MovieQA任务中展现出比现有模型更高的准确率,适用于电影制作、视频内容分析、辅助视障人士等多个应用场景。
466 0
StoryTeller:字节、上海交大、北大共同推出的全自动长视频描述生成一致系统
|
监控 NoSQL Redis
Redis分区容错秘诀:解密主从模式
Redis主从模式用于提高高可用性、负载均衡和数据备份。主节点处理写入,从节点复制数据并分担读取,实现故障切换和读写分离。配置主从关系后,从节点连接主节点进行全量和增量复制。当主节点故障,从节点可接管服务。然而,主从延迟和数据不一致性是挑战,可通过优化网络、使用Sentinel和Redis Cluster等解决。关注“软件求生”获取更多内容。
323 1
Redis分区容错秘诀:解密主从模式
|
机器学习/深度学习 人工智能 自然语言处理
【论文精读】AAAI 2022 - Unified Named Entity Recognition as Word-Word Relation Classification
到目前为止,命名实体识别(NER)已经涉及三种主要类型,包括扁平、重叠(又名嵌套)和不连续NER,它们大多是单独研究的。
434 0
【论文精读】AAAI 2022 - Unified Named Entity Recognition as Word-Word Relation Classification
|
设计模式 数据库 iOS开发
建站新功能上线,我用5分钟搭好一个网站!
建站新功能上线,我用5分钟搭好一个网站!
565 3
建站新功能上线,我用5分钟搭好一个网站!
|
Java 数据库连接 mybatis
MyBatis 是否支持延迟加载?怎么实现?什么时候启用?
MyBatis 是否支持延迟加载?怎么实现?什么时候启用?
284 0
|
Java Maven 数据安全/隐私保护
Could not transfer artifact from/to Authentication failed for 401 Unauthorized
Could not transfer artifact from/to Authentication failed for 401 Unauthorized
735 0
|
Java Apache Maven
如何给Maven管理的普通Java项目指定默认启动类
如何给Maven管理的普通Java项目指定默认启动类
485 0
|
数据安全/隐私保护 iOS开发 开发者
2022最新xcode打包IPA(完整详细图文)
本文详细讲述iOS的App开发后如何进行证书的创建和项目中如何配置证书及上传到苹果App管理后台后如何新增与更新版本。
|
XML 前端开发 Java
Spring、SpringMVC和SpringBoot看这一篇就够了!
SpringBoot只是Spring本身的扩展,使开发,测试和部署更加方便。
847 0
Spring、SpringMVC和SpringBoot看这一篇就够了!