CSS3新增的语法(四)

CSS3新增的语法(四)【布局】

    • 14. 多列布局
    • 15.伸缩盒模型
      • 1. 伸缩盒模型简介
      • 2. 伸缩容器、伸缩项目
      • 3. 主轴与侧轴
      • 4. 主轴方向
      • 5. 主轴换行方式
      • 6. flex-flow
      • 7. 主轴对齐方式
      • 8. 侧轴对齐方式
        • 8.1 一行的情况
        • 8.2 多行的情况
      • 9.flex 实现水平垂直居中
      • 10. 伸缩性
        • 1. flex-basis
        • 2. flex-grow(伸)
        • 3. flex-shrink(缩)
      • 11. flex复合属性
      • 12. 项目排序
      • 13. 单独对齐
    • 16. 响应式布局(媒体查询)
      • 1.1 媒体类型
      • 1.2 媒体特性
      • 1.3 运算符
      • 1.4 常用阈值
      • 1.5 结合外部样式的用法
    • 17. BFC
      • 1. 什么是BFC
      • 2. 开启了BFC能解决什么问题
      • 3. 如何开启BFC

14. 多列布局

  • 作用:专门用于实现类似于报纸的布局。
  • 例如:

在这里插入图片描述

  • 常用属性如下:
    • column-count :指定列数,值是数字。
    • column-width :指定列宽,值是长度。(图片的width:100%;依据列宽)
    • columns :同时指定列宽和列数,复合属性;值没有数量和顺序要求。
    • column-gap :设置列边距,值是长度。
    • column-rule-style :设置列与列之间边框的风格,值与border-style 一致。
    • column-rule-width :设置列与列之间边框的宽度,值是长度。
    • column-rule-color :设置列与列之间边框的颜色。
    • coumn-rule :设置列边框,复合属性。
    • ------以上属性加在父元素身上------
    • column-span 指定是否跨列;值: none,all。(加在需要横跨列的元素身上,例如文章标题)
  • 应用场景
    • 文章
    • 瀑布流布局

15.伸缩盒模型

1. 伸缩盒模型简介

  • 2009 年,W3C 提出了一种新的盒子模型 —— Flexible Box (伸缩盒模型,又称:弹性盒 子)。
  • 它可以轻松的控制:元素分布方式、元素对齐方式、元素视觉顺序 …
  • 截止目前,除了在部分IE浏览器不支持,其他浏览器均已全部支持。
  • 伸缩盒模型的出现,逐渐演变出了一套新的布局方案 —— flex 布局。
  1. 传统布局是指:基于传统盒状模型,主要靠: display 属性 + position 属性 + float 属性。
  2. flex 布局目前在移动端应用比较广泛,因为传统布局不能很好的呈现在移动设备上。

2. 伸缩容器、伸缩项目

  • 伸缩容器: 开启了 flex 的元素,就是:伸缩容器。
    1. 给元素设置:display:flex 或 display:inline-flex ,该元素就变为了伸缩容器。
    2. display:inline-flex 很少使用,因为可以给多个伸缩容器的父容器,也设置为伸缩容器。(不独占一行)
    3. 一个元素可以同时是:伸缩容器、伸缩项目。
  • 伸缩项目:伸缩容器所有子元素自动成为了:伸缩项目。
    1. 仅伸缩容器的子元素成为了伸缩项目,孙子元素、重孙子元素等后代,不是伸缩项目。
    2. 无论原来是哪种元素(块、行内块、行内),一旦成为了伸缩项目,全都会“块状化”。

3. 主轴与侧轴

  • 主轴: 伸缩项目沿着主轴排列,主轴默认是水平的,默认方向是:从左到右(左边是起点,右边 是终点)。
  • 侧轴: 与主轴垂直的就是侧轴,侧轴默认是垂直的,默认方向是:从上到下(上边是起点,下边 是终点)。

4. 主轴方向

  • 属性名:flex-direction
  • 常用值如下
    1. row :主轴方向水平从左到右 —— 默认
    2. row-reverse :主轴方向水平从右到左。
    3. column :主轴方向垂直从上到下。
    4. column-reverse :主轴方向垂直从下到上。
      在这里插入图片描述

!!!注意:改变了主轴的方向,侧轴方向也随之改变。

5. 主轴换行方式

  • 属性名:flex-wrap
  • 常用值如下:
    1. nowrap :默认值,不换行。
      在这里插入图片描述
    2. wrap :自动换行,伸缩容器不够自动换行。
      在这里插入图片描述
    3. wrap-reverse :反向换行。
      在这里插入图片描述

6. flex-flow

  • flex-flow 是一个复合属性,复合了 flex-direction 和 flex-wrap 两个属性。 值没有顺序要求。

flex-flow: row wrap;

7. 主轴对齐方式

  • 属性名:justify-content
  • 常用值如下:
    1. flex-start :主轴起点对齐。—— 默认值
    2. flex-end :主轴终点对齐。
    3. center :居中对齐
    4. space-between :均匀分布,两端对齐(最常用)。
    5. space-around :均匀分布,两端距离是中间距离的一半。
    6. space-evenly :均匀分布,两端距离与中间距离一致。
      在这里插入图片描述

8. 侧轴对齐方式

8.1 一行的情况
  • 所需属性:align-items
  • 常用值如下:
    1. stretch :如果伸缩项目未设置高度,将占满整个容器的高度。—— (默认值)
    2. flex-start :侧轴的起点对齐
    3. flex-end :侧轴的终点对齐。
    4. center :侧轴的中点对齐。
    5. baseline : 伸缩项目的第一行文字的基线对齐。
      在这里插入图片描述
8.2 多行的情况
  • 所需属性:align-content
  • 常用值如下:
    1. stretch :stretch :占满整个侧轴(未设置高度)。—— 默认值
      在这里插入图片描述

    2. flex-start :与侧轴的起点对齐。
      在这里插入图片描述

    3. flex-end :与侧轴的终点对齐。
      在这里插入图片描述

    4. center :与侧轴的中点对齐。
      在这里插入图片描述

    5. space-between :与侧轴两端对齐,中间平均分布。
      在这里插入图片描述

    6. space-around :伸缩项目间的距离相等,比距边缘大一倍。
      在这里插入图片描述
      在这里插入图片描述

    7. space-evenly : 在侧轴上完全平分。
      在这里插入图片描述

9.flex 实现水平垂直居中

  • 方法一:父容器开启flex 布局,随后使用 justify-content 和align-items 实现水平垂直居中
.outer {
    width: 400px;
    height: 400px;
    background-color: #888;
    display: flex;
    justify-content: center;
    align-items: center;
}
.inner {
    width: 100px;
    height: 100px;
    background-color: orange;
}
  • 方法二:父容器开启flex 布局,随后子元素margin: auto

.outer {
    width: 400px;
    height: 400px;
    background-color: #888;
    display: flex;
}
.inner {
    width: 100px;
    height: 100px;
    background-color: orange;
    margin: auto;
}

10. 伸缩性

1. flex-basis
  • 概念:flex-basis 设置的是主轴方向的基准长度,会让宽度或高度失效。

-备注:主轴横向:宽度失效;主轴纵向:高度失效

  • 作用:浏览器根据这个属性设置的值,计算主轴上是否有多余空间,默认值auto,即:伸缩项目的宽或高。
2. flex-grow(伸)
  • 概念:flex-grow 定义伸缩项目的放大比例,默认为0,即:auto ,即:伸缩项目纵使主轴存在剩余空间,也不拉伸(放大)。
  • 规则:
    1. 若所有伸缩项目的flex-grow 值都为1,则:它们将等分剩余空间(如果有空间的话)。
    2. 若三个伸缩项目的flex-grow 值分别为:1、2、3,则:分别瓜分到:1/6 、2/6、3/6。
3. flex-shrink(缩)
  • 概念:flex-shrink 定义了项目的压缩比例,默认为1,即:如果空间不足,该项目将会缩小。

改为0,则不会被挤压

11. flex复合属性

flex 是复合属性,复合了: flex-grow 、 flex-shrink 、flex-basis 三个属性,默认值为 0 1 auto。

1. 如果写 flex:1 1 auto ,则可简写为: flex:auto
2. 如果写 flex:1 1 0 ,则可简写为: flex:1
3. 如果写 flex:0 0 auto ,则可简写为:flex:none
4. 如果写 flex:0 1 auto ,则可简写为: flex:0 auto —— 即 flex 初始值。

12. 项目排序

  • order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

13. 单独对齐

  • 通过align-self 属性,可以单独调整某个伸缩项目的对齐方式
  • 默认值为 auto,表示继承父元素的 align-items 属性。

16. 响应式布局(媒体查询)

1.1 媒体类型

在这里插入图片描述
完整列表请参考: https://developer.mozilla.org/zh-CN/docs/Web/CSS/@media

1.2 媒体特性

在这里插入图片描述

1.3 运算符

在这里插入图片描述

1.4 常用阈值

在实际开发中,会将屏幕划分成几个区间,例如:

在这里插入图片描述

1.5 结合外部样式的用法

用法一:

<link rel="stylesheet" media="具体的媒体查询" href="mystylesheet.css">

用法二:

@media screen and (max-width:768px) {
 	/*CSS-Code;*/
 }
@media screen and (min-width:768px) and (max-width:1200px) {
 	/*CSS-Code;*/
 }

17. BFC

1. 什么是BFC

  • W3C 上对 BFC 的定义:
    在这里插入图片描述
  • MDN 上对 BFC 的描述:
    在这里插入图片描述
  • 更加通俗的描述:
    1. BFC 是 Block Formatting Context (块级格式上下文),可以理解成元素的一个“特异功能”。
    2. 该 “特异功能”,在默认的情况下处于关闭状态;当元素满足了某些条件后,该“特异功能”被激活。
    3. 所谓激活“特异功能”,专业点说就是:该元素创建了 BFC (又称:开启了 BFC )。

2. 开启了BFC能解决什么问题

  • 元素开启BFC 后,其子元素不会再产生margin 塌陷问题。
  • 元素开启BFC 后,自己不会被其他浮动元素所覆盖。
  • 元素开启BFC 后,就算其子元素浮动,元素自身高度也不会塌陷。

3. 如何开启BFC

  • 根元素
  • 浮动元素
  • 绝对定位、固定定位的元素
  • 行内块元素
  • 表格单元格:table 、thead 、tbody 、tfoot 、th 、td、tr、caption
  • overflow 的值不为 visible 的块元素
  • 伸缩项目
  • 多列容器
  • column-span 为 all 的元素(即使该元素没有包裹在多列容器中)
  • display 的值,设置为flow-root(会变成块级元素)

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

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

相关文章

Java异常入门

目录 前言 异常 什么是异常 异常&#xff08;Exception&#xff09;和错误&#xff08;Error&#xff09; 异常的处理 异常的作用 前言 我们用一个简单情形引入异常&#xff1a; class Devide{public int divide(int a ,int b ){return a / b ;} }public class Main{pu…

PDF编辑和格式转换工具 Cisdem PDFMaster for Mac

Cisdem PDFMaster for Mac是一款功能强大的PDF编辑和格式转换工具。它为用户提供了直观且易于使用的界面&#xff0c;使常用功能触手可及&#xff0c;从而帮助用户轻松管理、编辑和转换PDF文件。 软件下载&#xff1a;Cisdem PDFMaster for Mac v6.0.0激活版下载 作为一款完整的…

excel统计分析——协方差分析的作用

参考资料&#xff1a;生物统计学 1、协变量与试验因素的区别 如果把协方差分析资料中的协变量看作多因素方差分析资料中的一个因素&#xff0c;则两类资料有相似之处&#xff0c;但两类资料有本质的不同。在方差分析中&#xff0c;各因素的水平时人为控制的&#xff0c;即使是…

前视声呐目标识别定位(四)-代码解析之启动识别模块

前视声呐目标识别定位&#xff08;一&#xff09;-基础知识 前视声呐目标识别定位&#xff08;二&#xff09;-目标识别定位模块 前视声呐目标识别定位&#xff08;三&#xff09;-部署至机器人 以启动识别模块为例&#xff0c;其余关闭识别模块&#xff0c;启动和关闭声呐…

【管理咨询宝藏48】AA银行信息科技提升分析报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏48】AA银行信息科技提升分析报告 【格式】PPT版本&#xff0c;可编辑 【关键词】战略规划、商业分析、管理咨询 【强烈推荐】这是一套市面上非常…

Spark-Scala语言实战(11)

在之前的文章中&#xff0c;我们学习了如何在spark中使用RDD中的cartesian,subtract最终两种方法。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 Spark-Scal…

Prisma ORM 5.12 发布,支持 Cloudflare D1 数据库

昨晚&#xff0c;Prisma ORM 发布了 5.12.0 稳定版本&#xff0c;在此版本中 Prisma ORM 新增了对 Cloudflare D1 的预览支持&#xff0c;现在我们可以选择将本地的 SQLite 数据库逐步迁移到 Cloudflare 上面&#xff0c;从而实现无需额外成本即可构建处理大量用户的应用程序。…

UE4_自定义反射和折射和法线图

UE4 自定义反射和折射和法线图 2020-05-22 09:36 将ReflectionVector和反射图像进行ViewAlignedReflection,输出的textrue和相机位置CameraPosition的onePlus进行Dot点乘之后乘以一个float系数反射度&#xff0c;输出给固有色&#xff0c;就有反射效果了。球型反射。 折射&…

进制转换器(C语言)

目录 1问题&#xff1a; 输入任意进制的数值&#xff0c;可以转换成任意进制的数值&#xff08;2到36进制&#xff09;; 2思路&#xff1a; 3代码&#xff1a;&#xff08;需要运用到数据结构栈的知识&#xff09; 4运行结果&#xff1a; 1问题&#xff1a; 输入任意进制的数…

跨域问题解决方案之CORS

跨域问题解决方案之CORS 文章目录 跨域问题解决方案之CORS概述浏览器的同源策略同源的判定规则目的同源策略的限制范围 浏览器的同源策略为什么会引发跨域问题&#xff1f;CORS规则CORS解决方案CORS方案将请求分为两类举例简单请求预检请求总结学以致用 概述 浏览器安全的基石…

文件操作详解(二)

目录 一.文件的顺序读写1.顺序读写函数&#xff08;适合于所有的流&#xff09;1.1 fgetc(读字符)1.2 fputc(写字符)1.3 fgets(读字符串)1.4 fput(写字符串)1.5 fscanf(格式化地读)1.6 fprintf(格式化地写) 2.顺序读写函数&#xff08;只适用于文件流&#xff09;2.1 fread(二进…

jupyter Notebook 默认路径修改

1. anaconda prompt 中运行 jupyter notebook --generate-config 命令&#xff0c;将在 C:\Users\Think\.jupyter文件下生成 jupyter_notebook_config.py 文件。 2.在jupyter_notebook_config.py 文件中&#xff0c;找c.NotebookApp.notebook_dir 这个变量&#xff0c; (1)若…

2012年认证杯SPSSPRO杯数学建模A题(第二阶段)蜘蛛网全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 A题 蜘蛛网 原题再现&#xff1a; 第二阶段问题   现在我们假设一个具体的环境。假设有一个凸多边形的区域&#xff0c;蜘蛛准备在这个区域&#xff08;或其一部分&#xff09;上结一张网。   问题一&#xff1a; 在区域的边界上安置有若干…

区间概率预测python|QR-CNN-BiLSTM+KDE分位数-卷积-双向长短期记忆神经网络-时间序列区间概率预测+核密度估计

区间预测python|QR-CNN-BiLSTMKDE分位数-卷积-双向长短期记忆神经网络-核密度估计-回归时间序列区间预测 模型输出展示&#xff1a; (图中是只设置了20次迭代的预测结果&#xff0c;宽度较宽&#xff0c;可自行修改迭代参数&#xff0c;获取更窄的预测区间&#xff09; 注&am…

【chrome扩展】简 Tab (SimpTab)‘每日一句名言’样式

背景&#xff1a;最初参考“每日诗词”发现总是那几句&#xff0c;可以更换API接口完成“每日一句名言” 声明&#xff1a;本人不会ajax及ccs样式&#xff0c;非专业人士&#xff0c;借助CHATGPT代码生成完成。请友善交流。 每一句名言API: "https://api.xygeng.cn/open…

焦糖布丁理论:从用户任务角度重新审视产品价值

一、引言&#xff1a; 在竞争激烈的市场环境中&#xff0c;我们经常会遇到这样的困惑&#xff1a;为什么一款自认为极具创新和品质的产品&#xff0c;却未能获得市场的青睐和认可&#xff1f;焦糖布丁理论为我们提供了一个全新的视角&#xff0c;即”客户并非在购买产品本身&a…

gitlab代码迁移,包含历史提交记录、标签、分支

1、克隆现有的GitLab仓库&#xff08;http://localhost:8888/aa/bb/cc.git&#xff09;到本地&#xff0c;包括所有分支和标签 git clone --bare http://localhost:8888/aa/bb/cc.git 2、在gitlab上创建一个空的仓库&#xff08;http://localhost:7777/aa/bb/cc.git&#xff…

CAD Plant3D 2023 下载地址及安装教程

CAD Plant3D是一款专业的三维工厂设计软件&#xff0c;用于在工业设备和管道设计领域进行建模和绘图。它是Autodesk公司旗下的AutoCAD系列产品之一&#xff0c;专门针对工艺、石油、化工、电力等行业的设计和工程项目。 CAD Plant3D提供了一套丰富的工具和功能&#xff0c;帮助…

Spring Cloud微服务入门(一)

微服务的演变过程 //controller 视图交互层 前端数据处理传给service //1.DAO RequestBody userDAO String id;String type; {"id":"lcs", "type":"lcs"} //2.GET请求 findUserById&#xff1f;id1&typelcsRequestParam String …

电商大数据采集|电商API接口|自动化采集|人工采集

大数据采集是指从海量、异构、分散、动态的网络环境中收集、提取和存储数据的过程。大数据采集主要分为两种方式&#xff1a;自动化采集和人工采集。 1.自动化采集 电商API自动化采集是利用爬虫技术和API等方式&#xff0c;通过编写程序实现对网站或者应用程序中的数据进行自…