当前位置:网站首页 > HTML与CSS基础 > 正文

Css4规范(Css4规范)



CSS布局技术允许开发者拾取网页中的元素,控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置,布局技术主要包括常规流布局、弹性盒子、网格、浮动、定位、多列布局,每种技术都有独特的用途,各有优缺点,相互辅助,通过理解各个布局方法的设计理念,构建网页布局方案。

常规流布局是在没有改变布局规则情况下的页面元素布局方式,即在开发者未曾应用CSS规则改变网页中元素的展现方式时,元素会按照常规流布局组织页面。常规流布局的设计初衷在于构建易读、合理的文档,开发者应该遵循这样的指引原则,在对布局做出改动时与常规流布局协同,而不是与之对抗。默认地,块级元素按照基于其父元素的书写模式(默认值“horizontal-tb”)的块流动方向(block flow direction)放置,每个块级元素会在上一个元素下面另起一行,以指定的外边距分隔;行内元素不会另起一行,只要父级块级元素的宽度内有足够的空间,会与其他行内元素放在同一行,空间不够时,溢出的内容会下移到新的一行,代码示例如下。

如图3-2-2-1所示。

(1)什么是弹性盒子

弹性盒子是一种按行或按列布局的一维布局方式,元素可以膨胀以填充额外的空间,收缩以适应更小的空间。在使用弹性盒子时,指定元素的布局为flexible,给这些flexible元素的父元素的“display”属性设置为“flex”,或者将“display”属性设置为“inline-flex”,但是这种情况下元素的行为类似于行内元素。代码示例如下。

设置了“display:flex;”的父元素被称之为flex容器(flex container),在flex容器中表现为弹性的盒子的元素被称之为flex项(flex item),如图3-2-3-1所示。

当元素表现为flex框时,元素沿着两个轴来布局。

(2)使用弹性盒子

在将元素设置为弹性盒子之后,可以通过一些属性定义弹性子元素如何在弹性容器内布局。

应用在弹性盒子父元素上的属性如下。

应用在弹性子元素上的属性如下。

以下是一个简单示例,其中“.flex-container”是Flexbox的父容器,“.flex-item”应用于所有子元素,每个子元素平分可用空间,且第二个子元素占据的空间是其他子元素的两倍,代码示例如下。

💡 注意:

大多数浏览器都支持弹性盒子,诸如 Firefox、Chrome、Opera、Microsoft Edge 和 IE 11,较新版本的 Android/iOS 等等,但是仍旧有被人使用的老浏览器不支持弹性盒子(或者只支持老版本的弹性盒子),弹性盒子的浏览器兼容性如下图所示。

网格布局(Grid Layout)是CSS中一种强大的布局系统,允许开发者以二维网格的方式对元素进行布局,同时在两个维度上对元素进行定位和对齐,以下是网格布局中常用的一些属性。

📌 网格布局的浏览器兼容性如下图所示。

浮动(Float)可以使元素脱离其正常的文档流,向左或向右移动,直到元素的外边缘碰到包含框或另一个浮动元素的边缘,浮动元素之后的元素将围绕它,浮动元素之前的元素不会受到影响,要使用浮动,可以通过为元素设置“float”属性来实现, 有三个取值,“none”(默认值,不浮动)、“left”(向左浮动)、“right”(向右浮动)。浮动的影响如下。

由于浮动可能导致父容器高度塌陷等问题,因此通常需要清除浮动,清除浮动主要有以下几种方式。

① 使用伪元素清除浮动,通过为父容器添加一个伪元素,并设置“clear: both;”属性来清除浮动,示例代码如下。

② 设置父容器“overflow”属性,为父容器设置“overflow: hidden;”或“overflow: auto;”也可以清除浮动。

③ 为浮动元素后的元素设置“clear”属性,直接在浮动元素后面的元素上设置“clear: left;”或“clear: right;”或“clear: both;”,这通常不是最推荐的做法,因为它依赖于文档结构。

💡 注意:

在现代布局技术中,虽然浮动在CSS布局中仍然有用,但现代CSS提供了更强大和灵活的布局工具,因此,在创建新的Web项目时,建议优先考虑使用Flexbox或Grid布局,而不是浮动。

定位允许开发者精确控制元素在页面上的位置,通过“position”属性实现,有多个取值,每种取值对应不同的定位方式,结合“top”、“bottom”、“left”、“right”四个属性改变定位元素位置,以下是CSS布局中主要的定位方式及其特点。

🔔 注意:

Internet Explorer, Edge 15 及更早 IE 版本不支持 sticky 定位。 Safari 需要使用 “-webkit- prefix”。

元素的定位与文档流无关,所以定位后的元素可以覆盖页面上的其他元素,“z-index”属性指定了一个元素的堆叠顺序(哪个元素应该放在前面或后面),取值可以为正值或负值,具有更高堆叠顺序的元素在较低的堆叠顺序元素的前面,如果两个定位元素重叠,且没有指定“z-index”属性,最后定位在HTML代码中的元素将被显示在最前面。

多列布局是一种将内容分割成多个列并排显示的方法,这种布局方式非常适合于报纸、杂志、博客文章等内容的展示,因为多列布局可以自动处理内容的流动和列之间的平衡,多列布局的基本属性如下。

🔔 注意:

创作说明

版本:2024年

网站:http://www.51xueweb.cn

撰写团队:杜宇飞 侯志强 尤飞祥 段玉昆

指导审核:阮晓龙

到此这篇Css4规范(Css4规范)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 浏览器不支持web rtc(浏览器不支持html5播放器)2025-10-23 17:18:10
  • css grid布局实现瀑布流(纯css实现瀑布流)2025-10-23 17:18:10
  • css3中属于结构化伪类选择器(常用的结构化伪类选择器有)2025-10-23 17:18:10
  • css3伪类选择器有哪些(css的伪类选择器)2025-10-23 17:18:10
  • bs4解析html子节点(html获取子节点)2025-10-23 17:18:10
  • gridmanager兼容性(css grid兼容性)2025-10-23 17:18:10
  • css4(Css4202311-W- 翻译)2025-10-23 17:18:10
  • 字体图标 svg(字体图标 设为背景 css)2025-10-23 17:18:10
  • swagger如何访问(swagger doc.html)2025-10-23 17:18:10
  • html自动跳转链接代码(html页面自动跳转代码)2025-10-23 17:18:10
  • 全屏图片