前端基础之Flex布局

【图书推荐】《HTML5+CSS3 Web前端开发与实例教程(微课视频版)》-CSDN博客

Flex布局概述

Flex布局全称为Flexible Box布局模式,是CSS3规范中一项革命性的强大布局技术。它以“弹性”为核心理念,旨在提供一种更为灵活且功能丰富的设计解决方案。运用Flex布局的容器具备卓越的适应性,能够根据设备屏幕宽度的多样性进行动态调整,无论是桌面显示器、平板电脑还是智能手机,都能完美适配并展现最佳视觉效果。

在Flex布局的框架下,容器能够智能地伸缩其内部子元素的宽度和高度,并对子元素的排列方式进行灵活调控,从而使得整体布局能够在各种复杂场景中充分利用空间资源,实现高效的空间填充与布局优化。尤其当面临那些宽度不确定或需要精细对齐分布的设计需求时,Flex布局就显得更为重要和实用。

Flex布局的相关概念

1. Flex容器和项目

使用Flex布局的元素(display: flex或者display: inline-flex)被称为Flex容器(Flex Container),简称为“容器”。容器中的所有子元素(注意是子元素,而非后代元素)会变成Flex元素,该元素被称为Flex项目(Flex Item),简称为“项目”。

2. 主轴、交叉轴、线轴起止点

Flex容器如图12-1所示,容器中存在两根轴,默认情况下水平方向为主轴(main axis),垂直方向为交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫作main start,结束位置叫作main end;交叉轴的开始位置叫作cross start,结束位置叫作cross end。项目默认沿主轴排列,单个项目占据的主轴空间叫作main size,占据的交叉轴空间叫作cross size。

图12-1  Flex容器

display属性

任何一个容器(块级元素或行内元素)都可以指定为Flex布局,只需将其display属性值设置为flex或者inline-flex即可,示例代码如下:

01   .container {

02       display: flex | inline-flex;

03   }

父容器设为Flex布局以后,子元素的float、clear和vertical-align属性将失效,且子元素的display属性将变为inline-block。

flex-direction属性

主轴方向决定了容器内项目的排列方向,通过CSS3中的flex-direction属性可以改变主轴的方向,语法格式如下:

flex-direction: row | row-reverse | column | column-reverse;

flex-wrap属性

默认情况下,所有项目会在一条轴线上显示,当容器的宽度不足时,项目的宽度会自动进行缩放。我们也可以通过flex-wrap属性来定义换行的方式,语法格式如下:

flex-wrap: nowrap | wrap | wrap-reverse;

 justify-content属性

CSS3中提供justify-content属性定义项目在主轴上的对齐方式,语法格式如下:

justify-content: flex-start | flex-end | center | space-between | space-around;

align-items属性

CSS3中提供align-items属性来定义项目在交叉轴上的对齐方式,语法格式如下:

align-items: flex-start | flex-end | center | baseline | stretch;

align-content属性

align-content属性用于设置多行Flex项目(当 flex-wrap 设置为 wrap 或wrap-reverse时)在交叉轴上的对齐方式。这个属性仅适用于具有多行内容的弹性容器,即子元素因为容器空间不足而换行的情况。如果项目只有一根轴线,那么该属性不起作用。语法格式如下:

align-content: flex-start | flex-end | center | space-between | space-around | stretch;

《HTML5+CSS3 Web前端开发与实例教程(微课视频版)(Web前端技术丛书)》【摘要 书评 试读】- 京东图书 (jd.com)

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

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

相关文章

论文复现丨物流中心选址问题:蜘蛛猴算法求解

路径优化系列文章: 1、路径优化历史文章2、物流中心选址问题论文复现丨改进蜘蛛猴算法求解 物流中心选址问题 一般物流中心选址问题是指:在有限的用户(即需求点)中找出一定数量的地点建立配送中心,实现从物流中心到用户之间的配送&#xf…

如何追查一个packet在linux 系统哪里丢失

要想追一个包在系统哪里丢失了, 就要了解 一个应用层的包在送出时 要经历那些 检查点 和被丢掉的点。 1. 在传输层,如果是 tcp 包 会有contrack 的 buf 的限制 可能会导致 packets 的丢失。 > 检查办法:查看dmesg日志有报错:k…

类和对象——对象的初始化和清理

本文为观看 C黑马程序员 的学习笔记。 构造函数和析构函数 构造函数:进行初始化操作 析构函数:进行清理操作 构造函数 语法:类名(){} 构造函数,没有返回值,也不写void函数名称与类名相同构造…

Python 实验五 高级数据结构

一、实验目的 (1)掌握序列的基本操作 (2)掌握集合、字典的基本操作 二、实验环境 联网计算机一台/每人,内装Windows 7以上操作系统和安装Python 3.7集成开发环境IDLE。 三、实验内容 Sy5-1 列表实现。编写一个…

CentOS 7 网络配置

如想了解请查看 虚拟机安装CentOS7 第一步:查看虚拟机网络编辑器、查看NAT设置 (子网ID,网关IP) 第二步:配置VMnet8 IP与DNS 注意事项:子网掩码与默认网关与 第一步 保持一致 第三步:网络配置…

解决一下git clone失败的问题

1).不开梯子,我们用https克隆 git clone https://github.com 报错: Failed to connect to github.com port 443 after 2091 ms: Couldnt connect to server 解决办法: 开梯子,然后# 注意修改成自己的IP和端口号 gi…

中伟视界:矿山智能化——未戴自救器检测AI算法实时检测井下作业人员自救器佩戴情况

矿山作业环境复杂且危险,确保作业人员佩戴必要的安全设备是保障安全生产的重要措施之一。自救器是井下作业人员必须佩戴的重要防护设备,用于在突发危险时保护生命安全。未戴自救器检测AI算法通过先进的图像识别和人工智能技术,实时监控井下人…

STM32第二十一课:FreeRTOS事件组软件定时器

目录 一、事件组1.事件组创建2.事件组置位3.事件组等待 二、软件定时器1.软件定时器创建2.软件定时器执行3.例程代码 一、事件组 本质上是任务同步,但比二值信号量优秀的是可以一对多。 我的理解:事件组就是标志位的集合,将多个标志位放到一个…

昇思25天学习打卡营第23天|DCGAN生成漫画头像

今天是参加昇思25天学习打卡营的第23天,今天打卡的课程是“DCGAN生成漫画头像”,这里做一个简单的分享。 1.简介 DCGAN(深度卷积对抗生成网络,Deep Convolutional Generative Adversarial Networks)是GAN的直接扩展。…

ArkUI状态管理

State装饰器 在声明式UI中,是以状态驱动试图更新 状态 (State) 指驱动视图更新的数据(被装饰器标记的变量) 试图(View) 基于UI描述渲染得到用户界面 说明 1.State装饰器标记的变量必须初始化,不能为空 2.State支持Object、classstring、number、b…

kettle从入门到精通 第七十六课 ETL之kettle kettle连接hive教程

1、群里有小伙伴询问kettle连接hive的demo,今天抽点时间整理下。其实kettle连接hive和连接mysql数据库也是一样的。 1)kettle中的lib目录下放hive驱动jar,这里我使用的是kyuubi-hive-jdbc-shaded-1.9.0.jar。 2)设置hive连接参数…

Ubuntu部署K8S集群-图文并茂(超详细)

Ubuntu部署K8S集群 1. 模版机系统环境准备1.1 安装Ubuntu1.2 设置静态IP地址 2. 主机准备2.1 使用模板机创建主机2.2 主机配置2.2.1 修改静态IP2.2.2 修改主机名2.2.3 主机名-IP地址解析2.2.4 时间同步2.2.5 内核转发、网桥过滤配置2.2.6 安装ipset和ipvsadm2.2.7 关闭SWAP分区…

pnpm install安装失败

ERR_PNPM_META_FETCH_FAIL GET https://registry.npmjs.org/commitlint%2Fcli: request to https://registry.npmjs.org/commitlint%2Fcli failed, reason: connect ETIMEDOUT 2606:4700::6810:123:443 1. 检查网络连接 确保你的网络连接正常并且没有被防火墙或代理服务器阻止…

【docker 部署springboot项目】

一、docker安装 1.检查Linux内核版本高于3.10才可安装 uname -r 2. 卸载旧版本 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 3. 使用docker仓库进行安装 安装所需的软…

java代理模式之JDK动态代理

目录 什么是动态代理? 动态代理的两种方式? jdk动态代理; cglib静态代理 为什么需要代理? 1、原有功能增强 2、降低耦合 JDK动态代理代码实例: 实体类: 持久层接口实现类(使用jdbc进行…

【2024】VsCode + Latex + Linux(Ubuntu) + wsl环境下配置教程 | 包含 中文配置,和 格式化处理

前言 本篇教程是针对WSL下的Ubuntu操作系统的配置教程,它和一般的Linux环境下的配置有所不同,并且和Windows环境下的也有所不同。 本篇博客编写参考了 官方文档(Tex) 和 插件官方(Texlive Workshop) 文档…

动手学RAG:Part1 什么是RAG?

1、大模型的幻觉问题、时效性问题、数据安全问题 2、大模型的结构和参数数量导致对其修改、微调和重新训练变得很困难 3、基于知识的问答,依赖于信息抽取

Logback日志异步打印接入指南,输出自定义业务数据

背景 随着应用的请求量上升,日志输出量也会成线性比例的上升,给磁盘IO带来压力与性能瓶颈。应用也遇到了线程池满,是因为大量线程卡在输出日志。为了缓解日志同步打印,会采取异步打印日志。这样会引起日志中的追踪id丢失&#xf…

2024 HNCTF PWN(close ezpwn idea what beauty)

文章目录 closeezpwn代码利用exp idea代码exp whatexp beauty libc 2.35IDA中文乱码解决代码思路exp close int __fastcall main(int argc, const char **argv, const char **envp) {puts("**********************************");puts("* Welcome to the H…

kubernetes k8s Deployment 控制器配置管理 k8s 红蓝部署 金丝雀发布

目录 1、Deployment控制器:概念、原理解读 1.1 Deployment概述 1.2 Deployment工作原理:如何管理rs和Pod? 2、Deployment资源清单文件编写技巧 3、Deployment使用案例:创建一个web站点 4、Deployment管理pod:扩…