1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > CSS布局之“弹性盒子布局”

CSS布局之“弹性盒子布局”

时间:2022-04-02 08:33:16

相关推荐

CSS布局之“弹性盒子布局”

弹性盒子,通常被称为 flexbox,是一种一维的布局模型。它给弹性元素提供了强大的空间分布和对齐能力,极大的方便了网页的布局和美化。

目录

前言

一、弹性盒子概述

二、弹性盒子组成

三、弹性容器(Flex Container)样式

(1)display属性(定义弹性容器)

(2)flex-direction属性——行布局、列布局

(3)flex-wrap属性

(4)flex-flow属性

(5)justify-content属性

(6)align-items属性

(7)align-content属性

四、弹性元素(Flex Item)样式

(1)样式添加方法

(2)flex-grow属性

(3)flex-basis属性

(4)flex-shrink属性

(5)flex属性

(6)order属性

(7)align-self属性

总结

前言

弹性盒子,通常被称为flexbox,是一种一维的布局模型。它给弹性元素提供了强大的空间分布和对齐能力,极大的方便了网页的布局和美化。但是对于初学者来说,初次接触弹性盒子这一概念有些模糊,本文通过总结和梳理弹性盒子的概念和属性,更好的帮助大家学习弹性盒子。限于本人知识有限,文章难免有不如意之处,欢迎大家在评论区讨论,我也会虚心听取大家的意见,积极改正。

一、弹性盒子概述

(1)弹性盒子布局(Flexbox Layout),元素可以拉伸以填充额外的空间,也可以收缩以适应更小的空间

(2)Flexbox可以解决弹性元素在弹性容器中的垂直居中、间隙平均分配和自动占据剩余空间等问题。

二、弹性盒子组成

弹性盒子(Flexbox)由弹性容器(Flex Container)弹性元素(Flex Item)组成。

下面我们分别讲解弹性容器(Flex Container)和弹性盒子(Flex Item)的样式。

三、弹性容器(Flex Container)样式

(1)display属性(定义弹性容器)

HTML代码:

<div class=“flex-container”><div class=“flex-item”>1</div><div class=“flex-item”>2</div><div class=“flex-item”>3</div></div>

CSS代码:

.flex-container{display:flex;/*定义弹性容器*/}

(2)flex-direction属性——行布局、列布局

了解这一属性之前,我们得清楚主轴、辅轴的区别。

通俗来讲:主轴:确认排列的方向(默认水平排列);辅轴:与主轴垂直的方向称为辅轴

flex-direction属性的取值有以下四种情况:row、row-reverse、column和column-reverse,具体表现形式如下:

(3)flex-wrap属性

该属性,决定弹性容器内的弹性元素排列空间不够时是否折行,取值有nowrap(不折行)、wrap(折行)和wrap-reverse(逆向折行),直观表现形式如下:

(4)flex-flow属性

使用flex-flow属性,可以一步设置弹性容器的flex-direction属性和flex-wrap属性。

具体格式为:flex-flow:flex-direction flex-wrap

例如:

(5)justify-content属性

该属性设置元素在主轴上的对齐方式,取值有flex-start(主轴起始位置对齐)、center(主轴居中对齐)、flex-end(主轴结束位置对齐)、space-between(两端对齐)和space-around(拉手对齐)。所谓拉手对齐,就是每个元素主轴方向的两边都会有相等的间隔,当几个元素一起排列时,他们之间的间隔会叠加,看起来就像手拉着手一样。

它们的具体表现形式如下:

(6)align-items属性

有设置元素在主轴上对齐方式的属性,那么也有设置元素在辅轴上对齐方式的属性,它就是align-items属性。掌握了justify-content属性,那么理解align-items属性会简单许多。它的取值主要有flex-start(辅轴起始位置对齐)、center(辅轴居中对齐)、flex-end(辅轴结束位置对齐)和stretch(辅轴方向拉伸以占据剩余空间)。特别注意的是,设置了stretch,需要去除元素高度,否则会以设置的元素高度为主。

它们的具体表现形式如下:

(7)align-content属性

该属性用于设置多行元素在容器中的整体对齐方式,只有一行或者一列,该属性不起作用。

align-content可有以下取值:flex-start、flex-end、center、space-between、space-around、stretch等。

四、弹性元素(Flex Item)样式

介绍完了弹性容器样式,我们来看看弹性元素样式。

(1)样式添加方法

HTML代码:

<div class= “flex-container”><div class= “flex-item”>1</div><div class= “flex-item”>2</div><div class= “flex-item”>3</div></div>

CSS代码:

.flex-item{/*样式添加在这里*/}

(2)flex-grow属性

该属性设置元素被拉大的比例,按比例分配容器剩余空间。

1.默认值为0:元素不占用剩余空间。

2.取值为n:元素占据剩余空间若干份中的一份。

例如:

(3)flex-basis属性

设置元素在主轴上的默认尺寸,其优先级高于width属性。

(4)flex-shrink属性

设置元素被压缩的比例,默认为1,表示弹性元素默认等比例压缩,0表示不压缩。

例如:

CSS代码:

.flex-container{display:flex;/*定义弹性容器*/width:50%;}.flex-item{flex-basis:120px;border:1px solid;font-size:20px;}div:nth-child(1){flex-shrink:0;}div:nth-child(2){flex-shrink:1;}div:nth-child(3){flex-shrink:2;}

样式:

(5)flex属性

前面的三种属性,一个一个设置的话,有时候会很麻烦。通过flex属性,我们可以一步设置前面三种属性,高效、方便,但是我们要注意它们的设置顺序。

flex:flex-grow flex-shrink flex-basis;

(6)order属性

设置子元素在弹性容器中的排列顺序,数值越小排名越靠前

<div class="flex-container"><div class="flex-item">main</div><div class="flex-item">menu</div><div class="flex-item">aside</div></div>

(7)align-self属性

设置单个弹性元素在辅轴上的对齐方式,align-items是全部元素。其取值有:auto、flex-start、flex-end、center、baseline、stretch。

总结

以上就是CSS布局中弹性盒子的一些知识点归纳讲解,限于本人知识匮乏,文章写的也不尽人意,大家有什么意见欢迎在评论区讨论,我会虚心听取大家的意见并积极改正。创作不易,感谢点赞加关注。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。