我是靠谱客的博主 怕孤单板栗,最近开发中收集的这篇文章主要介绍用php做一个九行菱形,弹性布局之弹性容器---PHP第九期线上班学生的博客以主轴水平方向方向为例进行演示,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、弹性容器的两种类型

任何元素都可以通过给display添加flex属性值可以转为弹性盒子,也叫弹性容器。

弹性容器分为块级弹性元素和行内弹性元素。

实例

1.块级弹性盒子

item1

item2

item3


1.行内块级弹性盒子

item1

item2

item3

item1

item2

item3

.container{

border: 1px dashed #000;

margin: 15px;

background-color: #ccddcc;

}

/* 转为块级元素,设置box-sizing */

.item{

box-sizing: border-box;

border: 1px solid #000;

padding: 20px;

background-color: #eeddee;

}

/* 转为块级弹性盒子,转为弹性容器,它的直接子元素都会转为块元素 */

.flex{

display: flex;

}

/* 转为行内块级弹性容器,转为弹性容器,它的直接子元素都会转为块元素 */

.inline-flex{

display: inline-flex;

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

f6bced90238b2a18adcb83249249da20.png

1、总结:

2c6cdc59f4ebe94758f7d232f17b7b26.png

2、利用弹性盒子做一个导航

以前想要做一个导航是通过无序列表来实现的,代码量较大。现在使用弹性盒子可以简单的实现。

1)代码实现

实例

首页

教学视频

社区问答

软件下载

联系我们

/* 链接样式重置 */

a{

text-decoration: none;

background-color: lightgreen;

color: black;

padding: 5px 10px;

margin: 0 5px;

border-radius: 5px 5px 0 0;

}

a:hover a:focus{

background-color: orangered;

color: white;

}

nav{

display: flex;

border-bottom: 1px solid gray;

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2)实现效果

1be2a2af06f78619e4166f64b4668bd7.png

二、定义弹性容器的主轴方向:弹性元素的主轴上的排列方向

1、代码实现

实例

1.row:默认从左到右水平排列

item1

item2

item3


2.row-reverse:从右向左水平排列

item1

item2

item3


3.column:从上向下垂直排列

item1

item2

item3


4.column-reverse:从下向上垂直排列

item1

item2

item3

@import "style1.css";

.row{

flex-direction: row;

}

.row-reverse{

flex-direction: row-reverse;

}

.column{

flex-direction: column;

}

.column-reverse{

flex-direction: column-reverse;

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2、实现效果

427cf3450dfe777ffa51ec1ac5eacdd7.png

3、总结

c7d47fa7bbf31e18031bfd38977d356a.png

077d42025e5244c5aead096871905487.png

4、案例展示:博客页面

1)代码展示

实例

学生的博客

首页

教学视频

社区问答

软件下载

联系我们

            

PHP实战天龙八部之仿爱奇艺电影网站

立即学习

            

PHP实战天龙八部之微信支付视频教程

立即学习

            

PHP实战天龙八部之开发Mini版MVC框架仿糗事百科网站

立即学习

Copyright © 2018-2020 PHP中文网

@import "style2.css";

*{

outline: 1px solid #cccccc; /*参考线,不占用空间*/

margin: 10px;

padding: 10px;

}

/* 将页面中所有的布局元素转为flex */

body,nav,main,article{

display: flex;

}

/* 元素在主轴上的排列方向 */

body,article{

flex-direction: column;

}

footer{

border-top: 1px solid gray;

}

nav{

padding-bottom:0 ;

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2)效果展示

59f97e76847d5c048589ef014002a29f.png

三、弹性元素溢出与创建多行容器

1、代码展示

实例

以主轴水平方向方向为例进行演示

1.nowrap:默认不换行,元素自动缩小。缩小的是元素与元素之间的间距,元素本身的属性(margin,padding,contianer)空间不会缩放,实在放不下会溢出。

item1

item2

item3

item4

item5

item6

item7

item8

item9

item10

item11


2.wrap:换行,弹性元素超出容器边界的换到下一行显示

item1

item2

item3

item4

item5

item6

item7

item8

item9

item10

item11


3.wrap-reverse:换行(反向),弹性元素超出容器边界的换到下一行显示

item1

item2

item3

item4

item5

item6

item7

item8

item9

item10

item11

@import "style1.css";

.container{

width: 600px;

}

/* 1.nowrap:默认不换行,元素自动缩小。缩小的是元素与元素之间的间距,元素本身的属性(margin,padding,contianer)空间不会缩放,实在放不下会溢出。 */

.nowrap{

flex-direction: row;

flex-wrap: nowrap;

}

/* 2.wrap:换行,弹性元素超出容器边界的换到下一行显示 */

.wrap{

flex-direction: row;

flex-wrap: wrap;

}

/* 3.wrap-reverse:换行(反向),弹性元素超出容器边界的换到下一行显示 */

.wrap-reverse{

/* flex-direction: row;

flex-wrap: wrap-reverse; */

flex-flow: row  wrap-reverse;

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2、效果展示

cf2187a7881c4cfe93fa794063300c5d.png

3、总结

e764c7d624b8ae436e171d022dec2dee.png

四、弹性元素在主轴上的对齐方式与空间分布

1、代码实现

实例

flex-strat:主轴起点开始排序

1.单行

item1

item2

item3


1.多行

item1

item2

item3

item3

item4

item5

item6

item7


flex-end:主轴终点开始排序

1.单行

item1

item2

item3


1.多行

item1

item2

item3

item3

item4

item5

item6

item7


flex-center:弹性元素作为一个整体居中显示

1.单行

item1

item2

item3


1.多行

item1

item2

item3

item3

item4

item5

item6

item7


space-between:每一行的首位元素紧贴起止点,其他元素平分剩余空间

1.单行

item1

item2

item3


1.多行

item1

item2

item3

item3

item4

item5

item6

item7


space-around:每一行的每一个弹性元素的左右或上下"外边距"都相等

1.单行

item1

item2

item3


1.多行

item1

item2

item3

item3

item4

item5

item6

item7


space-evenly:每一行的每一个元素以及元素到起止点的空间全部相等

1.单行

item1

item2

item3


1.多行

item1

item2

item3

item3

item4

item5

item6

item7

@import "style1.css";

.container{

width: 500px;

}2

.wrap{

flex-wrap: wrap;

}

/* 从左向右排列显示 */

.flex-strat{

justify-content: flex-start;

}

/* 从右向左排列显示 */

.flex-end{

justify-content: end;

}

/* 将弹性元素作为一个整体居中显示 */

.flex-center{

justify-content: center;

}

/* 每一行的首位元素紧贴起止点,其他元素平分剩余空间 */

.space-between{

justify-content: space-between;

}

/* 每一个元素两边空间相等,相邻元素空间累加 */

.space-around{

justify-content: space-around;

}

/* 每一行的每一个元素以及元素到起止点的空间全部相等 */

.space-evenly{

justify-content: space-evenly;

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2、效果实现

61a62a21a732174a2bccd65de72b1a52.png

9fd096b6141a5005fb8835f8d4c1fdf8.png

8d2404a046a831990af0354b5f659643.png

3、总结

2a6fd188326acf8284f0c7e0bb5c8fc3.png

4、实例展示----实现导航的居中效果

1)代码展示

实例

首页

教学视频

社区问答

软件下载

联系我们

/* 链接样式重置 */

a{

text-decoration: none;

background-color: lightgreen;

color: black;

padding: 5px 10px;

margin: 0 5px;

border-radius: 5px 5px 0 0;

}

a:hover a:focus{

background-color: orangered;

color: white;

}

nav{

display: flex;

border-bottom: 1px solid gray;

}

nav{

justify-content: center;

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2)效果展示

51febaa903ce12154ffa78fe23ebe1e8.png

五、弹性元素在垂直轴上的对齐方式与空间分布

1、代码展示

实例

弹性元素在垂直轴上的分布方式

1.stretch:默认值,元素高度自动拉伸充满整个容器

单行容器

item1

item2

item3

多行容器

item1

item2

item3

item4

item5

item6

item7


2.flex-start:元素紧贴容器起点

单行容器

item1

item2

item3

多行容器

item1

item2

item3

item4

item5

item6

item7


3.flex-end:元素紧贴容器终点

单行容器

item1

item2

item3

多行容器

item1

item2

item3

item4

item5

item6

item7


4.center:弹性元素作为一个整体在垂直方向居中显示

单行容器

item1

item2

item3

多行容器

item1

item2

item3

item4

item5

item6

item7


5.space-between:垂直方向首尾行紧贴起止点,其他元素均匀分配

多行容器

item1

item2

item3

item4

item5

item6

item7


6.space-around:垂直方向每一行的每一个弹性元素的左右或上下"外边距"都相等

多行容器

item1

item2

item3

item4

item5

item6

item7


7.space-between:垂直方向每一行的每一个元素以及元素到起止点的空间全部相等

多行容器

item1

item2

item3

item4

item5

item6

item7

@import "style1.css";

.container{

width: 500px;

height: 300px;

}

.wrap{

flex-wrap: wrap;

}

/* 单行容器 */

/* 默认值,元素高度自动拉伸充满整个容器 */

.stretch{

align-items: stretch;

}

.flex-start{

align-items: flex-start;

}

.flex-end{

align-items: flex-end;

}

/* 多行容器 */

/* align-content:设置多行容器中弹性元素在垂直轴上的对齐方式 */

.wrap-stretch{

align-content: stretch;

}

.wrap-flex-atart{

align-content: flex-start;

}

.wrap-flex-end{

align-content: flex-end;

}

.wrap-space-between{

align-content: space-between;

}

.wrap-space-around{

align-content: space-around;

}

.wrap-space-evenly{

align-content: space-evenly;

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2、效果展示

8c163958693844df27496af8837ed7d1.png

3ea9922faf079731bbe0a07d0cf7a841.png

405045d8e9f0026e4877ff067fe1ffab.png

b68dddc6460deaa7eb2a728c520a9f94.png

205b5f83b3ad71ebcd0c5826ac255df5.png

7907def212754b8ea39c03e694ac6cfd.png

3、总结

30d7765103cbbc6303be25cbd644f51a.png

08c4d7377bd36b727ad1568c5edad6f1.png

a82a8fb3328453e0875c0c80e5c01b4d.png

379d52e501ba08ef990727eceef2f4e6.png

最后

以上就是怕孤单板栗为你收集整理的用php做一个九行菱形,弹性布局之弹性容器---PHP第九期线上班学生的博客以主轴水平方向方向为例进行演示的全部内容,希望文章能够帮你解决用php做一个九行菱形,弹性布局之弹性容器---PHP第九期线上班学生的博客以主轴水平方向方向为例进行演示所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(25)

评论列表共有 0 条评论

立即
投稿
返回
顶部