CSS-弹性布局1-基础与主轴

简介: 1、弹性盒子模型弹性盒子是 CSS3 的一种新的布局模式,是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间.2、模型启用使用display:flex即可将该容器指定为"flex"布局。

1、弹性盒子模型

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

2、模型启用

使用display:flex即可将该容器指定为"flex"布局。需要注意的是,容器设置为:"flex"布局后,子元素的"float","clear","vertical-align"属性将失效。

3、基本感念

属性 说明
容器 设置了display:flex属性的元素,被称为容器。
项目 容器内的子元素被称为项目(item)
主轴 水平轴线(main axis)
交叉轴 垂直的轴线(cross axis)
main start 主轴的开始位置叫main start
main end 主轴的结束位置叫main end
cross start 交叉轴的开始位置叫做cross start
cross end 交叉轴的结束位置叫cross end
main size 单个项目占据的主轴空间叫做main size
cross size 单个项目占据的交叉轴空间叫做cross size
image.png

4、基本属性

属性 说明
flex-direction 主轴的方向,确定弹性子元素排列方式
flex-wrap 当弹性子元素超出弹性容器范围如何换行
flex-flow flex-direction + flex-wrap的简写
justify-content 主轴上的对齐方式
align-items 交叉轴上的对齐方式
align-content 交叉轴有空白时,交叉轴的对齐方式

4.1 flex-direction

主轴的方向,确定弹性子元素排列方式

属性值 说明
row (默认值) 水平从左到右排列
row-reverse 水平从右到左排列
column 垂直从上到下排列
column-reverse 垂直从下到上排列
image.png

4.2 flex-wrap

当弹性子元素超出弹性容器范围如何换行

属性值 说明
nowrap (默认值) 不换行
wrap 换行,第一行在上面
wrap-reverse 换行,第一行在下方

源代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex-wrap</title>
    <style type="text/css">
    .wrap{
        width: 200px;
        display: flex;
        flex-wrap: nowrap;
        height: auto;
    }
    div{
        width: 30px;
        height: 30px;
        border:1px solid red;
        margin:5px;
    }
    </style>
</head>
<body>
    <div class="wrap">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
        <div>6</div>
    </div>
</body>
</html>

nowrap 运行结果:

nowrap运行结果

wrap运行结果:
wrap运行结果

wrap-reverse运行结果:
wrap-reverse运行结果

4.3 flex-flow

该属性是flex-direction和flex-wrap的缩写。

4.4 justify-content

属性值 说明
flex-start(默认值) 左对齐
flex-end 右对齐
center 居中
space-between 两端对齐,元素之间的间隔都相等
space-around 每个元素的两侧都相等

** flex-start运行结果**


flex-start运行结果

** flex-end运行结果**


flex-end运行结果

** center运行结果**
center运行结果

** space-between运行结果**


space-between运行结果

** space-around运行结果**
space-around运行结果
相关文章
|
23天前
|
前端开发 安全 容器
CSS如何优雅实现卡片多行排列布局?
【8月更文挑战第24天】CSS如何优雅实现卡片多行排列布局?
37 3
|
23天前
|
前端开发 开发者 容器
探索现代Web开发中的CSS Grid布局技术
【8月更文挑战第29天】在数字时代的浪潮中,网页设计不断进化以适应日新月异的用户需求。CSS Grid布局技术作为一项革新性的前端工具,为设计师和开发者提供了前所未有的布局能力。本文旨在通过深入浅出的方式介绍CSS Grid的核心概念、基本用法以及在实际项目中的应用,帮助读者快速掌握这一强大的网页布局工具。
40 3
|
27天前
|
前端开发 开发者 容器
【Web布局的革命】探索CSS Grid栅格系统,打造未来网页设计!
【8月更文挑战第25天】在网页设计领域,布局至关重要。传统的布局方法难以满足复杂需求,CSS Grid 栅格系统因此诞生。它是一种二维布局模式,能直接控制行和列,简化复杂网格的设计。通过定义 `display: grid;` 创建网格容器,并利用 `grid-template-columns` 和 `grid-template-rows` 设置行列尺寸,轻松实现响应式布局。此外,CSS Grid 支持高级功能,如网格区域划分和对齐设置,极大提升了布局的灵活性和创意空间。随着浏览器兼容性的增强,CSS Grid 必将成为未来网页设计的关键技术之一。
49 1
|
1月前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
142 8
|
1月前
|
前端开发
CSS Grid 布局:span 关键字
CSS Grid 布局:span 关键字
35 0
|
1月前
|
前端开发 容器
css中弹性布局使用方法
css中弹性布局使用方法
32 0
|
1月前
|
编解码 前端开发 容器
CSS弹性布局:打造响应式与灵活的网页设计
CSS弹性布局:打造响应式与灵活的网页设计
72 0
|
2月前
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
2月前
|
前端开发
css 十字分割线(含四等分布局)
css 十字分割线(含四等分布局)
49 2
|
2月前
|
移动开发 前端开发 HTML5
CSS 【实战】 “四合院”布局
CSS 【实战】 “四合院”布局
31 0
CSS 【实战】 “四合院”布局