九宫格(html css实现)---初识flex布局

news/2024/9/21 23:50:35

记录flex属性并实现一个九宫格

flex属性

Flex 容器:

需要注意的是:当时设置 flex 布局之后,子元素的 float、clear、vertical-align 的属性将会失效

.container {display: flex;
}//块状元素.container {inline-flex;  
}//行内元素

块状元素
1.*** 独占一行:块元素会自动开始一个新行,并且占据整个容器的宽度
2. 可以
设置宽度与高度:你可以为块元素指定宽度(width)和高度(height)属性。
3. 可以包含其他
块元素或行内元素:块元素可以包含其他块元素或者行内元素。
4. 垂直排列:
默认情况下,多个块元素会垂直排列。***

e.g.
<div><p><h1><form><ul><ol><li>

行内元素
1.不会独占一行:行内元素不会自动开始新的一行,只占用必要的宽度。
2.不能设置宽度与高度:行内元素的宽度与高度通常由其内容决定设置宽度与高度通常无效。
3.通常只包含数据和其他行内元素:行内元素通常不能包含块元素,但可以包含其他行内元素。
4.水平排列:多个行内元素会按照顺序水平排列,直到一行放不下才会换行。

<span>, <a>, <img>, <strong>, <em>, <input>, <label>

通过css实现块状元素和行内元素的转换

.container{
display:inline;
}//可以使块元素表现得像行内元素.container{
display:block;
}//可以使行内元素表现得像块元素。

flex容器的五大属性

一. flex-direction: 决定主轴的方向(即项目的排列方向)

.container {flex-direction: row;
}

1.row【默认值】主轴为水平方向,起点在左端
img
2.row-reverse:主轴为水平方向,起点在右端

.container {flex-direction: row-reverse;
}

alt textimg

3.column:主轴为垂直方向,起点在上沿

.container {flex-direction: column ;
}

alt textimg
[正如上文所言,行内元素会水平排列]
4.column-reverse:主轴为垂直方向,起点在下沿

.container {flex-direction: column-reverse;
}

alt textimg

二·. flex-wrap: 决定容器内项目是否可换行

【默认情况下,项目都排在主轴线上】
1.flex-wrap 可实现项目的换行【自动化】

2.wrap:项目主轴总尺寸超出容器时换行第一行在上方

.container {flex-wrap: wrap;
}

alt textimg
3.nowrap 不换行,即当主轴尺寸固定时,当空间不足时,项目尺寸会随之调整而并不会挤到下一行。

.container {flex-wrap: nowrap;
}

alt textimg
4.wrap-reverse:换行,第一行在下方

.container {flex-wrap:wrap-reverse;
}

alt textimg

三· justify-content:定义了项目在主轴的对齐方式。
1.flex-start 左对齐 【默认值

.container {justify-content: flex-start;
}

【justify-content优先级<<<flex-wrap】
2.flex-end:右对齐

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

alt textimg
3.center:居中

.container {justify-content: center;
}

alt textimg
4.space-between:两端对齐,项目之间的间隔相等,即剩余空间等分成间隙。

.container {justify-content: space-between;
}

alt textimg
5.space-around:每个项目两侧的间隔相等,所以项目之间的间隔比项目与边缘的间隔大一倍。

.container {justify-content: space-around;
}

alt textimg
四· align-items: 定义了项目在交叉轴上的对齐方式
e.g.建立在主轴为水平方向时测试,即 flex-direction: row
1.auto

默认值为 stretch 即如果项目未设置高度或者设为 auto,将占满整个容器的高度。【假设容器高度设置为 100px,而项目都没有设置高度的情况下,则项目的高度也为 100px。】

.container {align-items: auto;
}

2.flex-start

.container {align-items: flex-start;
}

alt textimg
【AP分布沿主轴方向(由flex-direction决定)递增,上对齐】
3.flex-end

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

alt textimg
【AP分布沿主轴方向(由flex-direction决定)递增,下对齐】
4.center

.container {align-items: center;
}

alt textimg
【AP分布沿主轴方向(由flex-direction决定)递增,中线对齐】
5.baseline

.container {align-items: baseline;
}

项目的第一行文字的基线对齐

五·align-content: 定义了多根轴线的对齐方式,如果项目只有一根轴线,那么该属性将不起作用

当你 flex-wrap 设置为 nowrap 的时候,容器仅存在一根轴线,因为项目不会换行,就不会产生多条轴线。
当你 flex-wrap 设置为 wrap ** 的时候,容器可能会出现多条轴线**,这时候你就需要去设置多条轴线之间的对齐方式了。
e.g.建立在主轴为水平方向时测试,即 flex-direction: row, flex-wrap: wrap
1.flex-start:轴线全部在交叉轴上的起点对齐

.container {align-content: flex-start;
}

2.flex-end:轴线全部在交叉轴上的终点对齐

.container {align-content: flex-end;
}

3.center:轴线全部在交叉轴上的中间对齐

.container {align-content: center;
}

4.space-between:轴线两端对齐,之间的间隔相等,即剩余空间等分成间隙。

.container {align-content: space-between;
}

5.space-around:每个轴线两侧的间隔相等,所以轴线之间的间隔比轴线与边缘的间隔大一倍。

.container {align-content: space-arround;
}

实现九宫格

<!DOCTYPE html>
<html lang="ch">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>九宫格</title><link rel="stylesheet" href="./九宫格.css">
</head>
<body>
<div class="container"><span class="box1">1</span><span class="box2">2</span><span class="box3">3</span><span class="box1">1</span><span class="box2">2</span><span class="box3">3</span><span class="box1">1</span><span class="box2">2</span><span class="box3">3</span>
</div></body>
</html>
.container {display: flex;flex-direction: row-reverse;flex-wrap: wrap;justify-content:center;padding: 0px;margin: 0 auto;width: 1000px;height: 800px;font-size: 50px;font-weight: 100;font-style: italic;}
.box1 {
background-color:red;
height: 33.3%;
width: 30%;
border: 1px solid;
flex-direction: row;
}
.box2 {
background-color:yellow;
height: 33.3%;
width: 30%;
border: 1px solid;
flex-direction: row;
}
.box3 {
background-color: green;
height: 33.3%;
width: 30%;
border: 1px solid;
}

alt textimg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/63146.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

利用Adguard屏蔽必应搜索中的CSDN内容

### 原因众所周知,CSDN 搜索结果,内容复制需要魔法,有的还需要关注,啥都要钱,质量还特别差虽然 百度和必应可以写参数直接去除CSDN 搜索结果,但每次都要写很麻烦### 解决办法原因 众所周知,CSDN 搜索结果,内容复制需要魔法,有的还需要关注,啥都要钱,质量还特别差 虽…

windows应急响应(二)

1.启动项win+r 输入msconfig,在"工具"里找到“任务管理器”;(底部任务栏右键,也可打开),查看启动项一般应用启动项位置:C:\Users\adnim\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupwin+r 输入msinfo32,在"软件环境"里可以看到Au…

领导大规模敏捷Leading SAFe认证培训课

领导大规模敏捷Leading SAFe认证课

asio的buffer

ASIO的buffer理解 asio的buffer结构 任何网络库都有提供buffer的数据结构,这个就是收发数据的缓冲区。 asio提供了mutable_buffer 和 const_buffer这两个结构,他们都是一段连续的空间,首字节存储了后续数据的长度。mutable_buffer用于写服务,const_buffer用于读服务。但是这…

格林公式7

例1 计算积分 \[I=\int_Cx^2ydx-xy^2dy, \]其中C是上半圆 \(\begin{aligned} & \text{ }x^2+y^2=a^2,y\geqslant0,\text{ }\\ & \end{aligned}\) 逆时间方向 \[\begin{aligned} & \text{ }x^2+y^2=a^2,y\geqslant0,\text{ }\\ & \end{aligned} \]考虑到上半…

9.21 abc372f

容易发现平移操作,都是 \(to\) 向左平移。然后更新完了过后,\(x\) 再左移。 当然 dp 数组整体是左移的。 本题一个重点就是,假设整个 dp 不动,让我们的操作反着动。

基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量

1.算法仿真效果 matlab2017b仿真结果如下(完整代码运行后无水印):本程序系统是《m基于matlab的AODV,leach自组网网络平台仿真,对比吞吐量,端到端时延,丢包率,剩余节点个数,节点消耗能量》的的升级。升级前原文章链接增加了运动节点的路由测试,包括定向运动,随机运动,静止…