CSS3弹性布局

传统的布局,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局实现起来比较麻烦,就比如垂直居中,伸缩等。实现起来就不是很容易。

弹性布局是CSS3一种新的布局模式,是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐,伸缩和分配空白空间。

1,开启弹性布局flex

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>弹性布局1</title>
    <style>
        .father{
            width: 1000px;
            height: 600px;
            background-color: #0e90d2;
            /*开启了弹性布局*/
            display: flex;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="child">1</div>
        <div class="child">2</div>
        <div class="child">3</div>
    </div>
</body>
</html>

打开页面可以看到元素从左往右进行的正常排列,顺序为1,2,3

总结

1,开启了flex的元素,就是弹性布局;

2,给元素设置: display:flex或 display:inline-flex,该元素就变为了弹性布局;

3,无论原来是哪种元素(块、行内块、行内),一旦开启了flex布局,全都会"块状化"";

4,弹性布局只能对一级子元素有效,如果是孙子元素或者是孙子的孙子元素不起任何作用;

5,display:inline-flex很少使用,因为可以给多个父容器设置;

2,主轴和侧轴

容器默认存在两根轴:水平的主轴垂直的交叉轴 ,项目默认沿主轴排列。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主轴和侧轴</title>
    <style>
        .father{
            width: 1000px;
            background-color: #0e90d2;
            margin: 0 auto;
            /*开启了弹性布局*/
            display: flex;
            /* 1, 设置主轴的方向,水平从左到右 默认 */
            /*flex-direction: row;*/
            /* 2, 调整主轴方向使用 row-reverse 从右往左 */
            /*flex-direction: row-reverse;*/
            /* 3,调整主轴方向从上往下   */
            /*flex-direction: column;*/
            /* 4,调整主轴方向从下往上   */
            flex-direction: column-reverse;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>
</body>
</html>

放开注释可以看到元素不同的排列方式

总结:

1.主轴与侧轴

·主轴:弹性布局沿着主轴排列,主轴默认是水平的从左到右(左边是起点,右边是终点,可以称之为x轴)。

.侧轴:与主轴垂直的就是侧轴,侧轴默认是垂直的,默认方向是:从上到下(上边是起点,下边是终点.可以称之为y轴)。
2.主轴方向

·修改主轴的属性(默认值):flex-direction常用值如下:

  1. row :主轴方向水平从左到右-―默认值

  2. row-reverse:主轴方向水平从右到左。

  3. column :主轴方向垂直从上到下。

  4. column-reverse :主轴方向垂直从下到上。

注意:改变了主轴的方向,侧轴方向也随之改变。

3,主轴换行flex-wrap

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>换行</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 610px;
            /*开启了弹性布局*/
            display: flex;
            /* 1, 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /*  主轴换行  不换行默认值*/
            /*flex-wrap: wrap;*/
            /*  反向换行  */
            flex-wrap: wrap-reverse;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
    <div class="child">4</div>
    <div class="child">5</div>
    <div class="child">6</div>
    <div class="child">7</div>
    <div class="child">8</div>
    <div class="child">8</div>
    <div class="child">10</div>
    <div class="child">11</div>
</div>
</body>
</html>

总结:主轴换行主要使用属性flex-wrap

1,wrap作用:让元素正常排列,多出的自动换行;

1,wrap-reverse作用:让元素从下往上,从左往右进行排列;

4,flex-flow

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex-flow</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 610px;
            /*开启了弹性布局*/
            display: flex;
            flex-flow: row wrap;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
    <div class="child">4</div>
    <div class="child">5</div>
    <div class="child">6</div>
    <div class="child">7</div>
    <div class="child">8</div>
    <div class="child">8</div>
    <div class="child">10</div>
    <div class="child">11</div>
</div>
</body>
</html>
复制代码
flex-flow是一个复合属性,结合了 flex-direction和flex-wrap两个属性 用的比较少。

5,主轴的对齐方式justify-content

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主轴的对齐方式justify-content</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 610px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /* 1, 起点对齐*/
            /*justify-content: flex-start;*/
            /* 2, 中间对齐  */
            /*justify-content: center;*/
            /* 3,终点*/
            /*justify-content: flex-end;*/
            /* 4,均匀分布,两端距离是中间距离的一半*/
            /*justify-content: space-around;*/
            /* 5,均匀分布,两端对齐*/
            /*justify-content: space-between;*/
            /* 6,均匀分布,两端距离与中间距离一致  */
            justify-content: space-evenly;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>
</body>
</html>

justify-content·常用值如下:

  1. flex-strt:主轴起点对齐。---―默认值

  2. flex-end:主轴终点对齐。

  3. center :居中对齐

  4. space-between:均匀分布,两端对齐(最常用)。

  5. space-around :均匀分布,两端距离是中间距离的一半。

  6. space-evenly :均匀分布,两端距离与中间距离一致。

6,侧轴的对齐方式一行align-items

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>侧轴对齐方式一行的情况</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 610px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /* 1, 主轴上的对齐方式  起点对齐*/
            justify-content: flex-start;
            /*1,  起始位置 */
            /*align-items: flex-start;*/
            /* 2, 中间位置 */
            /*align-items: center;*/
            /* 3, 终点位置 */
            /*align-items: flex-end;*/
            /* 4, 侧轴中间位置对齐 */
            /*align-items: baseline;*/
            /* 4, 没有高度的时候有效 拉伸到父容器的高度 */
            align-items: stretch;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
        }
        .child:nth-child(2){
            height: 400px;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>
</body>
</html>

所需属性: align-items。只适用于只有一行的情况

常用值如下:

  1. flex-start 起点对齐。

  2. flex-end :终点对齐。

  3. center :中点对齐。

  4. baseline:基线对齐。

  5. stretch: 没有高度的时候有效 拉伸到父容器的高度

7,侧轴的对齐方式多行align-content

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>侧轴对齐方式多行的情况</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 910px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /* 1, 主轴上的对齐方式  起点对齐*/
            justify-content: flex-start;
            flex-wrap: wrap;
            /*1,  侧轴的对齐方式  起始位置 */
            /*align-content: flex-start;*/
            /* 2, 侧轴的对齐方式  中间位置 */
            /*align-content: center;*/
            /* 3, 侧轴的对齐方式  终点位置 */
            /*align-content: flex-end;*/
            /* 4, 侧轴的对齐方式  伸缩项目间的距离相等,比距边缘大一倍 */
            /*align-content: space-around;*/
            /* 5, 侧轴的对齐方式  与侧轴两端对齐,中间平均分布 */
            /*align-content: space-between;*/
            /* 6, 侧轴的对齐方式  在侧轴上完全平分 */
            /*align-content: space-evenly;*/
            /* 7, 侧轴的对齐方式  占满整个侧轴 */
            align-content: stretch;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
        }
        .child:nth-child(2){
            height: 400px;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
    <div class="child">4</div>
    <div class="child">5</div>
    <div class="child">6</div>
    <div class="child">7</div>
    <div class="child">8</div>
    <div class="child">9</div>
    <div class="child">10</div>
    <div class="child">11</div>
</div>
</body>
</html>

所需属性: align-content常用值如下:

1.flex-stat :与侧轴的起点对齐。

  1. flex-end :与侧轴的终点对齐。

  2. center :与侧轴的中点对齐。

  3. space-between :与侧轴两端对齐,中间平均分布。

  4. space-around :伸缩项目间的距离相等,比距边缘大一倍。

  5. space-evenly :在侧轴上完全平分。

  6. stretch :占满整个侧轴。---―默认值

8,元素水平垂直居中-两种方式

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>元素的水平垂直居中</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 910px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /*方式一 x和y轴水平居中*/
            justify-content: center;
            align-items: center;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
            /*  方式二,直接给子元素margin:0 auto  */
            /*margin: 0 auto;*/
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
</div>
</body>
</html>

9,基准长度flex-basic

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基准长度</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 910px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /* 1, 主轴上的对齐方式  起点对齐*/
            justify-content: flex-start;
            /*进行换行*/
            flex-wrap: wrap;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
        }
        .child:nth-child(2){
            /*设置伸缩元素在主轴上的基准长度,主轴是横向的,宽失效,纵向高失效 它的默认值为auto*/
            flex-basis: 300px;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>
</body>
</html>

概念: flex-basis设置的主轴方向的基准长度会让宽度或高度失效。

备注:主轴横向:宽度失效;主轴纵向:高度失效

作用:浏览器根据这个属性设置的值,计算主轴上是否有多余空间,默认值auto,即:伸缩项目的宽或高。

10,弹性布局之拉伸flex-grow

父元素的宽度增加,子元素的宽度也会随之增加,并进行一定比较的分配。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>弹性布局-拉伸</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 910px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /* 1, 主轴上的对齐方式  起点对齐*/
            justify-content: flex-start;
            /*进行换行*/
            flex-wrap: wrap;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
            flex-grow: 1;
        }
        .child:nth-child(2){
            width: 300px;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>
</body>
</html>

概念:

flex-grow 定义伸缩项目的放大比例,默认为1,即:纵使主轴存在剩余空间,也不拉伸(放大)

规则:

1,若所有伸缩项目的 flex-grow值都为1,如果它们有空间的话,按等分进行空间的分配。

2,如果单独设置flex-grow,则根据计算规则进行分配。

11,弹性布局之压缩flex-shrink

父元素的宽度减小,子元素的宽度也会随之减小,并进行一定比较的分配。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>弹性布局-压缩</title>
    <style>
        .father{
            width: 1100px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 910px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /* 1, 主轴上的对齐方式  起点对齐*/
            justify-content: flex-start;
            /*进行换行*/
            /*flex-wrap: wrap;*/
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
            flex-shrink: 1;
        }
        .child:nth-child(2){
            width: 300px;
            flex-shrink: 2;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>
</body>
</html>

概念: flex-shrink定义了项目的压缩比例,默认为1。如果空间不足,该项目将会缩小。

注意:如果压缩到一定的程度,则以里面的子元素作为最小的单位进行展示,例如子元素里面有一个div的元素宽和高分别为50,则它压缩的最低宽度不会小于50

12,复合属性的使用-flex

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex复合属性的使用</title>
    <style>
        .father{
            width: 600px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 910px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /* 1, 主轴上的对齐方式  起点对齐*/
            justify-content: flex-start;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
            /*  可以拉伸  */
            /*flex-grow: 1;*/
            /*  可以压缩  */
            /*flex-shrink: 1;*/
            /*基准长度*/
            /*flex-basis: 100px;*/
            /* 这一个属性相当于上面的3个属性  拉伸,压缩,不设置基准长度  简写flex:auto;   */
            flex: 1 1 100px;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>
</body>
</html>

flex复合属性的用法

flex是复合属性,复合了: flex-grow , flex-shrink . flex-basis三个属性,默认值为0 1 auto

1,如荣写flex:1 1 auto ,则可简马为:flex:auto

2,如果写flex:1 1 0,则可简写为:flex : 1

3,如果写flex:0 0 auto ,则可简写为:flex : none

4,如果写flex:0 1 auto ,则可简写为: flex:0 auto ------即flex初始值。

13,项目排序和对齐align-self

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>项目排序和单独对齐</title>
    <style>
        .father{
            width: 600px;
            background-color: #0e90d2;
            margin: 0 auto;
            height: 610px;
            /*开启了弹性布局*/
            display: flex;
            /* 设置主轴的方向,水平从左到右 默认 */
            flex-direction: row;
            /* 1, 主轴上的对齐方式  起点对齐*/
            justify-content: flex-start;
        }
        .child{
            width: 200px;
            height: 200px;
            background-color: rebeccapurple;
            border: 1px solid red;
            flex: 1 1 100px;
        }
        .child:nth-child(2){
            order: -1;
            align-self: center;
        }
    </style>
</head>
<body>
<div class="father">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>
</body>
</html>

align-self属性常用的有3个

1,flex-start 起点对齐

2,center 居中对齐

3,flex-start:终点对齐

14,综合练习

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>练习</title>
	<style>
		body{
			background-color: slateblue;
		}
		ul{
			background-color: whitesmoke;
			list-style: none;
			padding: 0;
			width: 90px;
			height: 90px;
			border: 1px solid gray;
			float: left;
			margin: 10px;
			border-radius: 5px;
			/* 开启弹性布局 */
			display: flex;
		}
		li{
			width: 20px;
			height: 20px;
			margin: 5px;
			background-color: gray;
			border-radius: 50%;
		}
		ul:nth-child(2){
			justify-content: center;
		}
		ul:nth-child(3){
			justify-content: flex-end;
		}
		ul:nth-child(4){
			justify-content: flex-end;
			align-items: center;
		}
		ul:nth-child(5){
			justify-content: center;
			align-items: center;
		}
		ul:nth-child(6){
			justify-content: space-between;
			
		}
		ul:nth-child(7){
			justify-content: space-between;
		}
		ul:nth-child(7) li:nth-child(2){
			align-self: flex-end;
		}
		ul:nth-child(8){
			justify-content: space-between;
		}
		ul:nth-child(8) li:nth-child(2){
			align-self: center;
		}
		ul:nth-child(8) li:nth-child(3){
			align-self: flex-end;
		}
		ul:nth-child(9){
			justify-content: space-between;
			flex-direction: column;
		}
		ul:nth-child(10){
			flex-wrap: wrap;
			justify-content: space-between;
			align-content: space-between;
		}
		ul:nth-child(10) li{
			margin: 10px;
		}

		ul:nth-child(11){
			flex-wrap: wrap;
			justify-content: space-between;
			align-content: space-between;
		}
		ul:nth-child(11) li{
			margin: 5px 10px;
		}
		ul:nth-child(11) li:nth-child(3){
			margin: 5px 35px;
		}
		ul:nth-child(12){
			flex-wrap: wrap;
			justify-content: space-between;
			align-content: space-between;
		}
		ul:nth-child(13){
			flex-wrap: wrap;
			justify-content: flex-start;
			align-content: flex-start;
		}
		ul:nth-child(14){
			flex-wrap: wrap;
			justify-content: center;
			align-content: center;
		}
		ul:nth-child(15){
			flex-wrap: wrap;
			justify-content: flex-end;
			align-content: flex-end;
		}
		ul:nth-child(16){
			flex-wrap: wrap;
			justify-content: space-evenly;
			align-content: center;
		}
		ul:nth-child(17){
			flex-direction: column;
			flex-wrap: wrap;
			justify-content: space-evenly;
			align-content: center;
		}
		ul:nth-child(18){
			flex-direction: column;
			flex-wrap: wrap-reverse;
			justify-content: center;
			align-content: center;
		}
		ul:nth-child(19){
			flex-direction: row;
			flex-wrap: wrap-reverse;
			justify-content: center;
			align-content: center;
		}
		ul:nth-child(20){
			flex-direction: row;
			flex-wrap: wrap-reverse;
			justify-content: center;
			align-content: center;
		}
		ul:nth-child(21){
			flex-direction: column;
			flex-wrap: wrap-reverse;
			justify-content: center;
			align-content: center;
		}
		ul:nth-child(22){
			flex-direction: column-reverse;
			flex-wrap: wrap;
			justify-content: center;
			align-content: center;
		}
		ul:nth-child(23){
			flex-direction: column-reverse;
			flex-wrap: wrap-reverse;
			justify-content: flex-start;
			align-content: flex-start;
		}
		ul:nth-child(24){
			flex-direction: column;
			flex-wrap: wrap-reverse;
			justify-content: flex-start;
			align-content: flex-start;
		}
		ul:nth-child(25){
			flex-wrap: wrap;
			justify-content: center;
			align-content: center;
		}
		ul:nth-child(26){
			flex-direction: row;
			flex-wrap: wrap;
		}
	</style>
</head>
<body>
	<ul>
		<li></li>
	</ul>
	<ul>
		<li></li>
	</ul>
	<ul>
		<li></li>
	</ul>
	<ul>
		<li></li>
	</ul>
	<ul>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
</body>
</html>

完结。

相关推荐
轻口味1 小时前
命名空间与模块化概述
开发语言·前端·javascript
前端小小王1 小时前
React Hooks
前端·javascript·react.js
迷途小码农零零发2 小时前
react中使用ResizeObserver来观察元素的size变化
前端·javascript·react.js
娃哈哈哈哈呀2 小时前
vue中的css深度选择器v-deep 配合!important
前端·css·vue.js
旭东怪2 小时前
EasyPoi 使用$fe:模板语法生成Word动态行
java·前端·word
荆州克莱3 小时前
mysql中局部变量_MySQL中变量的总结
spring boot·spring·spring cloud·css3·技术
ekskef_sef4 小时前
32岁前端干了8年,是继续做前端开发,还是转其它工作
前端
sunshine6414 小时前
【CSS】实现tag选中对钩样式
前端·css·css3
真滴book理喻5 小时前
Vue(四)
前端·javascript·vue.js