【css3】06-css3新特性之网页布局篇

目录

伸缩布局或者弹性布局【响应式布局】

 1 设置父元素为伸缩盒子

2 设置伸缩盒子主轴方向

3 设置元素在主轴的对齐方式

4 设置元素在侧轴的对齐方式

5 设置元素是否换行显示

6 设置元素换行后的对齐方式

7 效果测试原码


伸缩布局或者弹性布局【响应式布局】

 1 设置父元素为伸缩盒子


  ☞ 设置父元素为伸缩盒子直接父元素
        display: flex
      为什么在伸缩盒子中,子元素会在一行上显示?
             1. 子元素是按照伸缩盒子中主轴方向显示
             2. 只有伸缩盒子才有主轴和侧轴
             3. 主轴: 默认水平从左向右显示
             4。 侧轴: 始终要垂直于主轴

样例:一个box父盒子直接包含四个子盒子,且子盒子可能会超出父盒子(如图1),当设置父盒子为伸缩盒子display: flex后,四个盒子会在一行上显示,且不会超出父盒子(如图2)

      

设置伸缩盒子主轴方向

  ☞ 设置伸缩盒子主轴方向(flex-direction)

1、子项在容器中水平排列,从左到右(在默认的文档流中)。主轴是水平的。
    flex-direction: row; 【默认值】(图1)

 2、子项在容器中水平排列,但方向是从右到左。主轴是水平的,但方向是相反的。
    flex-direction: row-reverse; (图2)

3、子项在容器中垂直排列,从上到下。主轴是垂直的.
    flex-direction: column; (图3)

4、子项在容器中垂直排列,但方向是从下到上。主轴是垂直的,但方向是相反的。
    flex-direction: column-reverse; (图4)

   

  

3 设置元素在主轴的对齐方式


  ☞ 设置元素在主轴对齐方式( justify-content)
        /* 设置子元素在主轴方向的对齐方式 */

1、子项向主轴的起始位置对齐。例如,当 flex-direction 为 row 时,子项会左对齐。
    justify-content: flex-start;

2、子项向主轴的结束位置对齐。例如,当 flex-direction 为 row 时,子项会右对齐。
     justify-content: flex-end;

3、子项在主轴上居中对齐。无论 flex-direction 是 row 还是 column,子项都会在其中心位置。
    justify-content: center;

4、子项在主轴上均匀分布,首个子项位于主轴的起始位置,最后一个子项位于主轴的结束位置,而剩余的空间等分地分布在其他子项之间。
    justify-content: space-between;

5、子项在主轴上均匀分布,每个子项两侧的空白空间相等。这意味着子项之间的间隔和子项与容器边缘的间隔都是相等的。但是,请注意,子项之间的间隔实际上是两侧间隔的一半,因为两侧的间隔分布在子项两侧的空白区域中
    justify-content: space-around;

    

   

4 设置元素在侧轴的对齐方式

  ☞ 设置元素在侧轴的对齐方式 (align-items)

1、子项在交叉轴的起始位置对齐。例如,当 flex-direction 为 row 时,子项会向容器的顶部对齐(如果容器的 height 足够大以显示多个行)
            align-items: flex-start;

2、子项在交叉轴的结束位置对齐。例如,当 flex-direction 为 row 时,子项会向容器的底部对齐(如果容器的 height 足够大以显示多个行)。
            align-items: flex-end;

3、子项在交叉轴上居中对齐。无论 flex-direction 是 row 还是 column,子项都会在其交叉轴的中心位置
            align-items: center;

4、如果子项未设置高度或设为 auto,并且容器在交叉轴上有额外的空间,子项将占据容器的整个高度(或宽度,如果 flex-direction 是 column)。如果子项本身有高度设置,则忽略这个值,子项将保持其原有的高度。
            align-items: stretch;/* 默认值 */  拉伸

   

   

5 设置元素是否换行显示

  ☞ 设置元素是否换行显示(flex-wrap)
          1. 在伸缩盒子中所有的元素默认都会在一行上显示(跟不换行的效果一致)
          2. 如果希望换行:
            flex-wrap: wrap | nowrap;

  

6 设置元素换行后的对齐方式

  ☞ 设置元素换行后的对齐方式( align-content)

1、所有行都向交叉轴的起始位置对齐
            align-content: flex-start;

2、所有行都向交叉轴的结束位置对齐
            align-content: flex-end;

3、所有行在交叉轴上居中对齐
            align-content: center;

4、行在交叉轴上均匀分布,每行两侧的空白空间相等。但是,请注意,行之间的间隔和行与容器边缘的间隔并不完全相等,因为两侧的间隔分布在行两侧的空白区域中
            align-content: space-around;

5、行在交叉轴上均匀分布,第一行位于交叉轴的起始位置,最后一行位于交叉轴的结束位置,而剩余的空间等分地分布在其他行之间
            align-content: space-between;

6、如果容器在交叉轴上有额外的空间,并且行没有指定大小或设为auto,那么行将沿着交叉轴方向扩展以填充容器。但是,如果行本身设置了大小(如heightwidth),那么stretch值将被忽略,行将保持其原有的大小。
            align-content: stretch; /* 换行后的默认值 */

    
  

样式6效果align-content: stretch;每个子盒子设置了宽高;将每个子盒子的高注释,效果2

  

7 效果测试原码

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		.box {
			width: 400px;
			height: 400px;
			border: 1px solid red;

			/* 设置父元素为伸缩盒子 */
			display: flex;

			/* 设置子元素在主轴方向的对齐方式 */
			/* justify-content: flex-start; */
			/* justify-content: flex-end; */
			/* justify-content: center; */
			/* justify-content: space-between; */
			/* justify-content: space-around; */


			/* 设置主轴方向 */
			flex-direction: row;
			/* flex-direction: row-reverse; */
			/* flex-direction: column; */
			/* flex-direction: column-reverse; */


			/* 设置侧轴对齐方式 */
			/* align-items: flex-start; */
			/* align-items: flex-end; */
			/* align-items: center; */

			/* 默认值 */
			align-items: stretch;


			flex-wrap: wrap;


			/* 设置换行后的对齐方式 */
			/* align-content: flex-start; */
			/* align-content: flex-end; */
			/* align-content: center; */
			/* align-content: space-around; */
			/* align-content: space-between; */
			/* 换行后的默认值 */
			align-content: stretch;
		}

		.one {
			width: 100px;
			height: 100px;
			background-color: red;
			margin: 2px;

		}

		.two {
			width: 100px;
			height: 100px;
			background-color: pink;
			margin: 2px;
		}

		.three {
			width: 100px;
			height: 100px;
			background-color: yellowgreen;
			margin: 2px;
		}
	</style>
</head>

<body>

	<div class="box">
		<div class="one"></div>
		<div class="two"></div>
		<div class="three"></div>
		<div class="three"></div>
		<div class="three"></div>

	</div>
</body>

</html>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#屏蔽基类成员

可以用与积累成员名称相同的成员来屏蔽 要让编译器知道你在故意屏蔽继承的成员&#xff0c;可以用new修饰符。否则程序可以成功编译&#xff0c;但是编译器会警告你隐藏了一个继承的成员 using System;class someClass {public string F1 "Someclass F1";public v…

ISIS协议

isis协议基础 isis概述 isis&#xff1a;中间系统到中间系统isis是公有协议&#xff0c;属于IGP协议&#xff0c;主要应用于一个AS&#xff08;企业&#xff09;自治系统内部isis是一种链路状态协议&#xff0c;使用SPF算法早期的isis是基于CLNP&#xff08;无连接网络协议&a…

【知识蒸馏】feature-based 知识蒸馏 - - CWD(channel-wise knowledge dissillation)

一、CWD特征蒸馏介绍 大部分的KD方法都是通过algin学生网络和教师网络的归一化的feature map, 最小化feature map上的激活值的差异。 逐通道知识蒸馏&#xff08;channel-wise knowledge dissillation, CWD&#xff09;将每个通道的特征图归一化来得到软概率图。通过简单地最小…

一款颜值颇高的虚拟列表!差点就被埋没了,终于还是被我挖出来了

大家好&#xff0c;我是晓衡&#xff01; 今天&#xff0c;推荐一款颇有颜值的虚拟列表组件&#xff0c;不然真的被埋没就可惜了&#xff01; 我们先来看下效果&#xff1a; 感觉怎么样&#xff1f;还不错吧&#xff01; 为什么说这个资源差点被埋没呢&#xff1f;因为个朋友找…

Java面向对象知识总结+思维导图

&#x1f516;面向对象 &#x1f4d6; Java作为面向对象的编程语言&#xff0c;我们首先必须要了解类和对象的概念&#xff0c;本章的所有内容和知识都是围绕类和对象展开的&#xff01; ▐ 思维导图1 ▐ 类和对象的概念 • 简单来说&#xff0c;类就是对具有相同特征的一类事…

【全开源】多功能投票小程序(ThinkPHP+FastAdmin+Uniapp)

打造高效、便捷的投票体验 一、引言 在数字化快速发展的今天&#xff0c;投票作为一种常见的决策方式&#xff0c;其便捷性和效率性显得尤为重要。为了满足不同场景下的投票需求&#xff0c;我们推出了这款多功能投票小程序系统源码。该系统源码设计灵活、功能丰富&#xff0…

《AI学习笔记》大模型-微调/训练区别以及流程

阿丹&#xff1a; 之前一直对于大模型的微调和训练这两个名词不是很清晰&#xff0c;所有找了一个时间来弄明白到底有什么区别以及到底要怎么去使用去做。并且上手实践一下。 大模型业务全流程&#xff1a; 大模型为啥要微调&#xff1f;有哪些微调方式&#xff1f; 模型参数…

Jeecg | 如何解决 ERR Client sent AUTH, but no password is set 问题

最近在尝试Jeecg低代码开发&#xff0c;但是碰到了超级多的问题&#xff0c;不过总归是成功运行起来了。 下面说说碰到的最后一个配置问题&#xff1a;连接redis失败 Error starting ApplicationContext. To display the conditions report re-run your application with deb…

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示与单片机连接的按键的按键值的功能

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示与单片机连接的按键的按键值应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍TM1638键盘数码…

【设计模式】JAVA Design Patterns——Static Content Hosting(静态内容托管模式)

&#x1f50d;目的 将静态内容部署到基于云的存储服务&#xff0c;该服务可以将它们直接交付给客户端。 这可以减少对昂贵计算实例的需求。 &#x1f50d;解释 真实世界例子 全球性的营销网站&#xff08;静态内容&#xff09;需要快速的部署以开始吸引潜在的客户。为了将托管…

【STL】C++ vector基本使用

目录 一 vector常见构造 1 空容器构造函数&#xff08;默认构造函数&#xff09; 2 Fill 构造函数 3 Range 构造函数 4 拷贝构造函数 5 C11构造 二 vector迭代器 1 begin && end 2 rbegin && rend 3 补充排序 三 vector 容量操作 1 size 2 resize …

Gin框架学习笔记(六)——gin中的日志使用

gin内置日志组件的使用 前言 在之前我们要使用Gin框架定义路由的时候我们一般会使用Default方法来实现&#xff0c;我们来看一下他的实现&#xff1a; func Default(opts ...OptionFunc) *Engine {debugPrintWARNINGDefault()engine : New()engine.Use(Logger(), Recovery())…

探秘SpringBoot默认线程池:了解其运行原理与工作方式(@Async和ThreadPoolTaskExecutor)

文章目录 文章导图Spring封装的几种线程池SpringBoot默认线程池TaskExecutionAutoConfiguration&#xff08;SpringBoot 2.1后&#xff09;主要作用优势使用场景如果没有它 2.1版本以后如何查看参数方式一&#xff1a;通过Async注解--采用ThreadPoolTaskExecutordetermineAsync…

LiveGBS流媒体平台GB/T28181用户手册-基础配置:信令服务配置、流媒体服务配置、白名单、黑名单、更多配置

LiveGBS流媒体平台GB/T28181用户手册-基础配置:信令服务配置、流媒体服务配置、白名单、黑名单、更多配置 1、基础配置1.1、信令服务配置1.2、白名单1.3、黑名单1.4、流媒体服务配置 2、搭建GB28181视频直播平台 1、基础配置 LiveGBS相关信令服务配置和流媒体服务配置都在这里…

React 中Redux结合React-Redux使用类组件版本(一)

一、Redux是什么&#xff1f; 1.Redux是一个专门用于状态管理的js库 2.它可以用在React、Angular、Vue的项目中&#xff0c;但基本与React配合使用。 3.作用&#xff1a;集中式管理React应用中多个组件共享的状态。 二、Redux 工作流程 三、Redux的三个核心概念 1.action 动…

在AndroidStudio创建虚拟手机DUB-AI20

1.DUB-AI20介绍 DUB-AL20是华为畅享9全网通机型。 华为畅享9采用基于Android 8.1定制的EMUI 8.2系统&#xff0c;最大的亮点是配置了1300万AI双摄、4000mAh大电池以及AI人脸识别功能&#xff0c;支持熄屏快拍、笑脸抓拍、声控拍照、手势拍照等特色的拍照功能&#xff0c;支持移…

搭建属于自己的 Git 仓库:GitLab

搭建属于自己的 Git 仓库&#xff1a;使用 GitLab 文章目录 搭建属于自己的 Git 仓库&#xff1a;使用 GitLab什么是 GitLab&#xff1f;准备工作安装 Docker使用Docker Compose 快速构建GitLab1、从docker compose快速搭建GitLab2、部署到服务器并访问3、浏览器访问 在现代软件…

Ant Design pro 6.0.0 搭建使用以及相关配置

一、背景 在选择一款比较合适的中台的情况下&#xff0c;挑选了有arco design、ant design pro、soybean、vue-pure-admin等中台系统&#xff0c;经过筛选就选择了ant design pro。之前使用过arco design 搭建通过组件库拼装过后台管理界面&#xff0c;官方文档也比较全&#…

数据库SQL语言实战(十)(最后一篇)

目录 前言 练习题 实验八 实验九 题目一 题目二 总结 前言 本篇练习题的重点有两个&#xff1a; 一、测试提交commit和回滚rollback的作用,了解锁等待、授权等知识。 二、学会复制表结构、学会插入数据&#xff0c;特别是学会如何避免重复插入&#xff0c;也就是如何避…

I2C SPI UART TCP/UDP AD/DA PWM大总结

I2C SPI UART TCP/UDP AD/DA PWM大总结 1. I2C总线描述1.1 基础协议内容1.1.1 通信时序1.1.2 一般通讯时序1.1.3 Burst模式 2. SPI总线2.1 基础协议内容 3. UART4. TCP/UDP5. AD/DA5.1 AD的原理5.2 DA的原理 6. PWM 1. I2C总线描述 I2C的特点&#xff1a;半双工&#xff0c;同步…