css多种布局方式

news2024/11/21 2:26:10

css多种布局方式

  • 简介
  • 标准流布局(主要依赖margin\padding)
  • 浮动布局(float)
  • 定位布局(position)
  • 弹性布局(flex)
  • 网格布局(grid)
  • 多列布局(column)
  • 响应式布局(百分比、vw、rem、em、calc等)
  • 参考

简介

常见布局有 标准流布局、弹性布局、表格布局、流体布局、网格布局、混合布局、定位布局、浮动布局等,我会从文档流,容器,效果这些角度介绍

文章引导
1. 标准流布局
2. 浮动布局
3. 定位布局
4. 弹性布局
5. 网格布局
6. 多列布局
7. 响应式布局

标准流布局(主要依赖margin\padding)

“标准文档流”简称为“标准流”,默认按照文档的顺序从上到下,从左到右,遇块(块级元素)换行。

  • 块级元素block,独占一行可以设置宽高,适用于垂直布局;
  • 行内元素inline,与其他元素共享一行,不可以设置宽高,宽度由内容决定,适用于水平布局;(注:img是一个特殊的行内元素可设置宽高)
  • 标准流的定位离不开两个属性margin & padding ,margin 影响相邻元素之间的距离,padding 影响边框和内容之间的空白区域;
  • text-align 设置文本对齐方式,line-height 是行内元素用来调整行间距的,都可继承;(注:在一些安卓手机 line-height 会失效)

浮动布局(float)

float 浮动布局, 默认 none 关闭浮动,取 left/right 该元素就会向其容器元素的左/右边框平移,当碰到另外一个浮动的元素时停止平移,超出容器会自动换行,不可以继承。
1. 理解浮动
float存在多层结构布局里(见图1),可以理解为在原来页面上面多了一层放浮动的元素,但float只能左右移动不能上下移动。

  • 脱离文档流,浮动元素在文档流空出的位置,由后续的(非浮动)元素填充上去,块级元素直接填充上去,若跟浮动元素的范围发生重叠,浮动元素覆盖块级元素;
  • 行内元素不填充空位,有空隙就会插入;
  • 不脱离文本流/不遮挡文本,有文字环绕效果(见图2);

图1-层叠上下文
图2-浮动与非浮动元素相邻
2. 高度塌陷(清除浮动)
浮动的子元素是无法自动撑开父级元素的,我们此时则称这种状态为高度塌陷,也是浮动的副作用,因此我们需要清除浮动,清除浮动可以查看链接: css清除浮动的几种办法

  • 方法1:给父盒子添加高度
  • 方法2:父盒子添加overflow: hidden
  • 方法3:父盒子添加overflow: auto
  • 方法4:额外标签法
  • 方法5:使用after伪元素清除浮动(推荐)
  • 方法6:使用双伪元素清除浮动(推荐)
  • 方法7:父级同时浮动
  • 方法8:父级设置成inline-block
  • 方法9:br标签清除浮动
  • 方法10:父级div定义display:table

定位布局(position)

position 定位布局,有5个值,通过四个方向 top,right,bottom 和 left 决定元素位置。

在这里插入图片描述

弹性布局(flex)

Flex 是 Flexible Box 的缩写,意为"弹性布局",由容器和项目组成,容器为父元素,项目为容器成员这里是子元素。容器有两个轴线:主轴和交叉轴呈90度关系。容器通过容器属性控制项目在两个轴线之间的排列,项目通过项目属性控制自身顺序和大小。给父元素设置 display:flex 变成弹性盒子容器。

  • 容器属性
    在这里插入图片描述
  • 项目属性
    在这里插入图片描述
    具体弹性盒使用,可参考链接: CSS弹性盒总结

网格布局(grid)

Grid 网格布局,提供了带有行和列的基于网格的布局系统(类似二维坐标轴)。由容器和项目组成,容器是父元素,项目只能是容器的顶层子元素(和父元素紧挨的那层子元素)。容器根据列和行分成均匀网格,然后通过控制行,列,间隙设置网格大小,项目通过每个网格编号设置位置和大小。给父元素设置 display:grid / inline-grid 变成网格容器

  • 容器属性
    在这里插入图片描述
  • 项目属性
    在这里插入图片描述

多列布局(column)

column 多列布局,指的就是您可以将文本内容分成多块,然后让这些块并列显示,类似于报纸、杂志那样的排版形式。

  • 属性

在这里插入图片描述

  • 列样式column-rule-style
    在这里插入图片描述

响应式布局(百分比、vw、rem、em、calc等)

响应式布局(Responsive design),网页可以适应不同设备。
具体可通过百分比、vw、rem等单位替代px来实现大小自适应

参考

https://blog.csdn.net/qq_45406325/article/details/107732094

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

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

相关文章

【论文阅读】<YOLOP: You Only Look Once for PanopticDriving Perception>

Abstract 全视驾驶感知系统是自动驾驶的重要组成部分。一个高精度的实时感知系统可以帮助车辆在驾驶时做出合理的决策。我们提出了一个全视驾驶感知网络(您只需寻找一次全视驾驶感知网络(YOLOP)),以同时执行交通目标检…

7.STL中string的一些超常用函数 (附习题)

目录 1.find 2.atoi 3.to_string 4.getline 【leetcode 习题】 387.字符串中的第一个唯一字符 125. 验证回文串 1.find 1.查找第一次出现的目标字符串:说明:如果查找成功则输出查找到的第一个位置,否则返回-1; s1.find(s2…

嗨动PDF编辑器怎么删除pdf空白页?教程来啦!

嗨动PDF编辑器怎么删除pdf空白页?在日常的工作和学习中,PDF文件因其跨平台兼容性和稳定性而备受青睐。然而,在编辑PDF文件时,我们往往会遇到一些令人头疼的问题,其中最常见的就是空白页。空白页不仅浪费了宝贵的存储空…

ESP32-S3+86盒线控器方案,含开发时问题技术解答

随着智能家居产品越来越多,线控器应用也加大,86盒线控器跟智能吹风机联动,跟中央空调联动,下面讲下ESP32-S386盒线控器方案在开发中遇到的问题。 一、ESP32-S386盒线控器方案: 1、无需网关,可以直接连家里…

零基础10 天入门 Web3之第3天

10 天入门 Web3之第3天 什么是以太坊,以太坊能做什么?Web3 是互联网的下一代,它将使人们拥有自己的数据并控制自己的在线体验。Web3 基于区块链技术,该技术为安全、透明和可信的交易提供支持。我准备做一个 10 天的学习计划&…

Linux系统运行级别

Linux系统运行级别:linux系统共有7个运行级别,不同的级别运行的程序和功能都是不一样的而linux系统默认是运行在一个标准级别上,系统运行级别文件/etc/inittab 运行级别0:所有进程被终止,机器将有序的停止,…

SpringBootWeb 篇-深入了解请求响应(服务端接收不同类型的请求参数的方式)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 请求响应概述 1.1 简单参数 1.2 实体参数 2.3 数组集合参数 2.4 日期参数 2.5 json 参数 2.6 路径参数 3.0 完整代码 1.0 请求响应概述 当客户端发送不同的请求参…

【专利】一种日志快速分析方法、设备、存储介质

公开号CN116560938A申请号CN202310311478.5申请日2023.03.28 是我在超音速人工智能科技股份有限公司(833753) 职务作品,第一发明人是董事长夫妇,第二发明人是我。 ** 注意** : 内容比较多,还有流程图、界面等。请到 专利指定页面…

30-10y国债利差反转的必要条件

国君宏观表示,30-10y期限利差定价本质上是私人部门主动加杠杆的预期,央行购债与资本市场的正向反馈是可以期待的一种场景,而企业部门的被动加杠杆须以可持续的需求动能与盈利预期作为前提。 要点: 期限利差的本质:对长…

如何压缩图片大小?7个实用软件教你快速压缩图片大小

如何压缩图片大小?7个实用软件教你快速压缩图片大小 以下是七个实用的软件,可以帮助您快速压缩图片大小: 图片编辑助手:这是一款功能强大的图像处理软件,其中包含了图像压缩功能。您可以打开需要压缩的图片&#xf…

手撕C语言题典——环形链表的约瑟夫问题

目录 前言 一.故事背景 二.题目 ​编辑三.思路 1)数组 ​编辑2) 循环链表 四.代码实现 搭配食用更佳哦~~ 数据结构之单单单——链表-CSDN博客 数据结构之单链表的基本操作-CSDN博客 前面学了单链表的相关知识,我们来尝试做一下关于…

关于nvm管理node版本的一些问题

背景: 基于开发项目的迭代不能做到全部更新,有的项目是vue2.0 有的项目是vue3.0, 那么我们开发的时候就需要对node 进行更新,进而产生因为版本不同导致的错误:由此我们需要一款管理 切换node版本的东西,那就…

全面解析OpenAI的新作——GPT-4o

5月14日凌晨1点、太平洋时间的上午 10 点,OpenAI的GPT-4o的横空出世,再次巩固了其作为行业颠覆者的地位。GPT-4o的发布不仅仅是一个产品的揭晓,它更像是向世界宣告AI技术已迈入了一个全新的纪元,连OpenAI的领航者萨姆奥特曼也不禁…

OpenAI深夜震撼发布最新模型GPT-4o,送上最快速便捷教程

北京时间5月14日凌晨,有人说OpenAI一夜改变了历史。 在我们的深夜、太平洋时间的上午 10 点,OpenAI 召开春季发布会,公布了最新的GPT-4o模型,o代表Omnimodel(全能模型)。20多分钟的演示直播,展…

HTML常见标签-换行标签-水平线标签

换行标签 单纯实现换行的标签是br,如果想添加分隔线,可以使用hr标签 代码 工信部统计显示&#xff0c;截至去年底&#xff0c;我国算力总规模达到180百亿亿次浮点运算/秒&#xff0c;存力总规模超过1000EB&#xff08;1万亿GB&#xff09;。<br>国家枢纽节点间的网络单向…

警惕!红火蚁危机升级:已入侵我国12省份,扩散速度惊人

近年来&#xff0c;红火蚁这一外来入侵物种在我国呈现出了令人担忧的扩张态势&#xff0c;其危害性和扩散速度之迅猛&#xff0c;已引起了社会各界的广泛关注和政府部门的高度警惕。红火蚁作为一种极具破坏力的生物&#xff0c;不仅会对当地的生态环境造成巨大影响&#xff0c;…

AVL树、红黑树

数据结构、算法总述&#xff1a;数据结构/算法 C/C-CSDN博客 AVL树 定义 空二叉树是一个 AVL 树如果 T 是一棵 AVL 树&#xff0c;那么其左右子树也是 AVL 树&#xff0c;并且 &#xff0c;h 是其左右子树的高度树高为 平衡因子&#xff1a;右子树高度 - 左子树高度 创建节点…

棒材直线度测量仪 专为圆形产品研发设计 在线无损检测

棒材直线度测量仪采用了先进的技术&#xff0c;能够实现在线无损检测&#xff0c;为生产过程提供了极大的便利。专为圆形产品设计&#xff0c;它能够精确测量棒材的米直线度及外径、椭圆度尺寸&#xff0c;为质量控制提供可靠的数据支持。 在线直线度测量仪不仅具有出色的性能…

C++实战演练---负载均衡在线oj项目 || 编译服务模块设计

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 前言 上一篇预热文章简单说过我们的编写思路&#xff0c;首先要实现的是编译功能&#xff0c;那么在编译功能版块中&…

好消息|NIH给博士后加薪,起步年薪6.1万美元

近日美国国立卫生研究院&#xff08;NIH&#xff09;正式宣布提高其资助的博士后年薪为61,008美元并根据经验资历进一步向上调整。同时NIH承诺未来3-5年内将博士后的最低年薪提高到70000美元。对于有望从事博士后研究的科研人员而言&#xff0c;这是一个好消息&#xff0c;为此…