CSS盒模型与布局

CSS盒模型完全解析:从原理到实战的布局核心技术 内容区(content):元素实际内容的显示区域,通过width和height定义内边距(padding):内容区与边框之间的空白区域,透明但继承背景边框(border):围绕内容区和内边距的线条,由宽度、样式、颜色组成外边距(margin):元素与相邻元素之间的间隔,完全透明且不影响背景标准化布局基础:所有视觉效果最终都基于盒模型计算响应式设计基石:box-sizing和百分比单位实现跨设备适配复杂效果实现:边框圆角、阴影、多背景等高级特性的底层支撑。 阅读详情

1.1两种基本的盒模型

block类型:这种盒模型的元素不会占据一行,允许通过CSS设置宽度、高度。例如<div>、<p>元素。

inline元素:这种盒模型的元素不会占据一行(默认允许在一行放置许多元素),即使通过CSS设置高度和宽度也不会起作用。例如<span>,<a>。

   CSS为display属性提供了block和inline两个属性值,用于改变HTML元素默认的盒模型,例如代码如下:

              <style type="text/css">
			
			div,span{
				
				width: 300px;
				height: 40px;
				border: 2px solid #000000;
				
			}
			body>div{
				display: inline;
			}
			body>span{
				display: block;
			}
		</style>
		<div>div元素一</div>
		<div>div元素一</div>
		<span>span元素一</span>
		<span>span元素二</span>

效果如下:

                                                          

1.2 none值和vivibility属性

        display 属性值可以定义为none,用于设置目标对象隐藏,其占用的页面空间也会释放,与此类似的还有visibility属性,该属性也可以对目标对象设置是否显示。与dispaly属性不同,当通过visibility属性隐藏某个HTML元素后,该元素占用的页面空间依然会被保留。Visibility属性的两个值为hidde和visible,分别用于控制目标对象的隐藏和显示。


             <style type="text/css">
	  		
	  		div{
	  			
	  			width: 300px;
	  			height: 40px;
	  			background-color: #ddd;
	  			border:2px solid black;
	  		}
	  	</style>
		
		<input type="button" value="隐藏" onclick=" document.getElementById('text1').style.display='none';" />
		<input type="button"  value="显示" onclick=" document.getElementById('text1').style.display='' ;"/>
		
		<div id="text1">
			通过diaplay来控制
			
		</div>
		
		<input type="button" value="隐藏"  onclick=" document.getElementById('text2').style.visibility='hidden' ;" />
		<input type="button" value="显示" onclick=" document.getElementById('text2').style.visibility='visible' ;" />
		<div id="text2">
			通过visibility来控制
		</div>
		<hr />

效果如下:

                                        

1.3 inline-block类型的盒模型

        CSS还提供了一种inline-block类型的盒模型,通过为display属性设置inline-block即可实现这种盒模型,他是inline类型和block类型的综合体,inline-block类型的元素既不会占据一行,同时也支持通过width、height指定宽度和高度。通过inline-block类型的盒模型可以非常方便的实现多个div元素的并列显示,也就是说,inline-block类型的盒模型可以实现多栏布局,在默认的情况下,多个inline-block类型的盒模型的元素将会采用底部对齐的方式,也就是它们的低端会位于同一水平线上,这可能不是多栏布局期望的结果。为了让多个inline-block类型的盒模型在顶部对齐,为它们增加vertical-align:top;即可。

                 <style type="text/css">
			
			body>div{
				
				text-align: center;
			}
			
			div>div{
				
				display: inline-block; //四个div元素都设置为inline-block 类型 四个元素可以在同一行内展示 
				border:1px solid black;
				
			}
			a{   
				
				text-decoration: none;
				display: block; //a元素是block 类型 它们会占满整个父容器 
				width: 120px;
				padding: 10px;
				background-color: #eee;
				
			}
			
			a:hover{
				
				background-color:#aaa ;
				font-weight: bold;
			}
			
		</style>
		
		<div>
			
			<div> <a href=""> 百度</a> </div>
			<div> <a href=""> 淘宝</a> </div>
			<div> <a href=""> 京东</a> </div>
		 	<div> <a href=""> 阿里巴巴</a> </div>
		
			
		</div>

效果如下:

                           

1.4 inline-table类型的盒模型

   在默认的情况下,table属于block类型的盒模型,该元素默认占据一行,它的左边不允许出现其他内容,它的右边也不允许出现其他内容,它可以设置宽度和高度。CSS为table元素提供了一个inline-table类型的盒模型,这个盒模型允许表格通过width、height来改变它的宽度和高度,而且它的左边和右边允许出现其他内容。

             <style type="text/css">
			
			td{
				
				border: 1px solid black;
			}
			table{
				
				display: inline-table;
				width: 360px;
				
				vertical-align: bottom;
			}
			
		</style>
		
		前面内容
		<table border="" cellspacing="" cellpadding="">
			
			<tr>
				<td>百度</td>
				<td>淘宝</td>
			</tr>
			<tr>
				<td>京东</td>
				<td>阿里巴巴</td>
			</tr>
			
		</table>
		后面内容
	</body>

效果如下:

                                   

1.5使用table类型的盒模型实现表格

CSS还为display提供以下属性值:

table:将目标HTML元素显示为表格。

table-caption:将目标HTML显示设置为表格标题

table-cell:将目标HTML元素显示为单元格

table-column:将目标HTML元素显示为表格列

table-column-group:将目标HTML元素显示为列组

table-header-group:将目标HTML元素显示为表格头部分

table-footer-group: 将目标HTML元素显示为表格页脚部分

table-row:将目标HTML元素显示为表格行

table-row-group:将目标HTML元素显示为表格行组


                  <style type="text/css">
			div>div{
				
				display: table-row;
				padding: 10px;
			}
			div>div>div{
				
				display: table-cell;
				border: 1px solid black;
			}
		</style>
		
		<div style="display: table; width: 400px;">
			
			<div style="display: table-caption;" > 这是标题 </div>
			
			<div >
				<div>百度</div>
			    <div>淘宝</div>
			</div>
			
			<div>
				<div>京东</div>
				<div>阿里巴巴</div>
			</div>
		
		</div>
		

效果:

                     

1.6 list-iten类型的盒模型 

        list-item模型可以将目标元素转换为类似<ul/>的列表元素,也可以同时在元素前面添加列表标志。

               <style type="text/css">
			div{
				
				display: list-item;
				list-style-type: square;
				margin-left: 100px;
				font-size: 30px;
			}
		</style>
		                <div>百度</div>
		                <div>淘宝</div>
		                <div>腾讯</div>

效果:

1.7run-in类型的盒模型 

         run-in类型的盒模型的行为取决于它周围的元素。通常浏览器会分为一下三种情况:

A. 如果run-in类型的元素包含一个block 类型的元素,那么该run-in类型的元素会自动转换为block类型的元素。

B. 如果run-in类型的元素的相邻兄弟元素是block类型的元素,那么rin-in 类型的元素将变成inline行为,被自动插入作为其兄弟元素的第一个元素。

C. 在其他情况下,run-in 类型的元素会被当作block类型的元素。

               <style type="text/css">
		span, p{
			
			padding: 6px;
		}
	       </style>
		<span style=" display: run-in; border: 1px solid black;"> run-in </span>
		<p style="border: 2px solid red;"> block </p>
		<span style="display: run-in; border: 1px solid black;"> run-in </span>
		<p style="border: 2px solid red ; display: inline;"> inline </p>

参考资料:《疯狂HTML5+CSS3+JavaScript 讲义》第二版

CSS布局的盒模型与布局技巧 本章深入介绍了CSS盒模型的基本概念和应用。从颜色选择器的使用,到矩形框的构建,再到盒模型各个部分的详细解释,包括内边距、边框和外边距的设置,以及它们对页面布局的影响。通过具体实例,展示了如何通过CSS控制元素的宽度、高度、内外边距等属性,达到预期的布局效果。 阅读详情

相关推荐

KG²RAG框架:知识图谱增强大模型检索生成技术解析

知识图谱(Knowledge Graph)作为结构化知识表示的重要方式,与向量检索技术结合形成了新一代检索增强生成(RAG)框架。其核心原理是通过图神经网络编码器提取子图特征,并与文本向量空间对齐,实现结构化与非结构化知识的协同检索。这种技术显著提升了专业领域问答的事实准确性,在医疗诊断、金融分析等需要高可靠性响应的场景中具有重要价值。KG²RAG框架创新性地采用双通道处理架构,结合Neo4j等图数据库与Milvus向量数据库,通过动态检索调度器智能选择最优检索路径。实测表明该方案能降低40%以上的事实错误

weixin_29306875的博客 104

CSS样式:盒子模型、选择器

hover 代表的是你光标经过某一元素时的样式,如果将此样式放在:focus之后,则当链接获取焦点时,显示:focus样式,当光标经过此链接时,会显示hover的样式,而将其放在focus前,则当鼠标滑过时显示的时focus的属性,因为其特性被覆盖了。active 代表元素被激活时的样式,也就是元素被按下时的样式,如果:active选择器与 :focus , :hover 调换位置,则显示的效果也会不同,因为排在后面的样式,会覆盖前面的样式。填充区:padding:以上为开始,顺时针旋转,没有对称;

weixin_47480200的博客 147

INMP441麦克风与ESP32的I2S音频采集实战指南

本文提供了INMP441数字麦克风与ESP32开发板通过I2S接口进行高质量音频采集的完整实战指南。详细讲解了硬件连接、软件配置、数据读取及基础处理,并分享了常见的避坑技巧与性能优化建议,帮助开发者快速构建物联网音频应用。

weixin_28396629的博客 598

网页布局必修课:CSS盒模型全面解析

CSS盒模型是网页布局的核心概念,将每个HTML元素视为由内容区、内边距、边框和外边距组成的矩形盒子。内容区通过width/height设置,内边距(padding)和边框(border)围绕内容,外边距(margin)控制元素间距。默认box-sizing为content-box,总宽度=width+padding+border+margin;使用border-box时,width直接包含padding和border。垂直方向的外边距会发生折叠(取较大值)。合理运用盒模型属性能有效控制布局效果,如通过ma

qc123455的博客 1618

ModusToolbox 实战避坑指南|从环境配置到项目构建

本文是一份详尽的ModusToolbox实战避坑指南,手把手教你从环境配置到项目构建。重点解决了Windows系统下的安装、关键环境变量CY_TOOLS_PATHS的设置、PowerShell执行策略调整以及利用URL Modifier工具优化GitHub资源下载等核心难题,旨在帮助开发者,特别是英飞凌(Infineon)芯片用户,顺利搭建开发环境并成功运行第一个Hello World程序。

t1u2v的博客 590

Windows平台无人机仿真:从零搭建SITL环境与QGC联调

本文详细指导了在Windows平台上从零搭建无人机软件在环(SITL)仿真环境,并与QGroundControl(QGC)进行联调的完整流程。通过使用Cygwin工具链,开发者可以在没有实体硬件的情况下,模拟运行ArduPilot飞控,并通过MAVLink协议连接QGC地面站进行全功能测试,为无人机软件开发提供了一个安全、经济的虚拟沙盒环境。

weixin_29239279的博客 407

网页入门D4——盒模型布局(DIV+CSS3页面布局)

盒模型布局——DIV+CSS3页面布局 勤学勤练方能实现。 为了呈现不同的视觉效果,网页布局往往千变万化。网页布局的基础就是盒模型。如果说网页是一座城堡,那么盒模型就是堆砌城堡的一块块积木。 在网页布局的过程中,要遵循从大到小,从结构到细节的顺序。先搭好框架再往里面填充内容和细节。框架搭的好,城堡才稳固。

m0_53156691的博客 5299

【在英伟达nvidia的jetson-orin-nx上使用调试can基础收发-硬件连接-开机自启动can-初步调试】

近期开始学习英伟达的工控板,作为新手还是有很多不同懂得地方,但是一部分它用的linux系统,有点像玩树莓派,通过自己一段时间学习can调试,终于可以简单通信了。开始的时候,自己也是什么都不是很懂,从新手一点点摸索过来,现在使用工控机,简单can通信也已经没有问题了,算是有些进步吧。每一步走的都很艰辛,需要反复验证,才能准去无误,开始以为发送没有问题就没事了,没想到发送可以却接受不行,每一步都要反复确认啊,这个问题会持续关注下吧。

qq_22146161的博客 6120

盒子模型和弹性布局实现自适应布局

在常规的项目开发中,很多时候不使用响应式框架的前提下,都需要开发人员手动实现自适应,这个时候盒子模型的优势就体现了出来。盒子结构的合理嵌套,以及CSS样式的使用,就能实现简单的自适应布局。 常见的实现方式有2种: 使用简单的盒子模型的特性, 子盒子使用{ width:百分比; }实现比例缩放。 使用CSS的属性{ display:flex; },注意要定义在父盒子上,子盒子使用{ flex:...

张小程博客 5967

DLMS/COSEM协议的理解体会

DLMS是通信协议,COSEM是电表建模规范。HDLC帧基本格式为0x7e......

一个bug是bug,多个bug能work 8312

高通8155源码下载与Android源码编译

一.下载代码 高通下载源码位置: Qualcomm CreatePoint 注册账号,然后登入 可以先选择edit -> infotainment -> sa8155 -> favorites, 点击View TOC就可以过滤出sa8155所有的信息目录.如下图 拉取代码链接在ChipCode中,点击进去可以看到所有的基线版本,选择你需要下载的版本点进去,如sa8155p-la-1-0_ap_standard_oem,把高通专有代码和开源代码都下载到本机. 1..

Johnny2004的专栏 7675

盒模型布局

###简介 由于技术的更新升级,之前的左对齐的布局方式已被淘汰,bootsrap4之后的布局方式也改为了弹性盒子布局。通过以下方式可快速的布局想要的效果 ###步骤 添加弹性合作,可按快捷键g 垂直布局,按快捷v 水平布局方式可按p+数字,如p 水平居中,p+2右端对齐,p + 3均匀分布,p +4均匀分布两端紧贴。如下图 垂直布局方式可按a+数字,如a 垂直居中对齐,a+1 顶...

guiplan 378

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

CSS盒模型布局

可以访问博主的博客juweis.top留言拷打小白博主٩(ˊᗜˋ*)و在 CSS 布局中,是核心概念之一,用于描述 HTML 元素在页面中占据的空间结构。所有 HTML 元素都可以看作是一个 “盒子”,这个盒子由四个部分组成,从内到外依次是:内容区(content)、内边距(padding)、边框(border)、外边距(margin)。盒子的标签为<div>

qq_74990050的博客 1043

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

css的常见布局及区别、css盒模型

css常见的布局、css的盒模型

weixin_69232086的博客 1838

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

深入理解 CSS 盒模型与布局

1.背景介绍 CSS 盒模型与布局是 Web 开发中非常重要的一部分,它决定了 Web 页面的布局和展示效果。在过去的几年里,CSS 盒模型和布局技术发展迅速,不断呈现出新的特性和功能。然而,这也带来了一些挑战,如如何更好地理解和掌握这些技术,以及如何应对不断变化的 Web 开发环境。 在这篇文章中,我们将深入探讨 CSS 盒模型与布局的核心概念、算法原理、具体操作步骤和数学模型公式,并通过实...

AI天才研究院 959

告别布局困惑:彻底搞懂CSS标准盒模型与IE盒模型

CSS盒模型是网页布局的核心概念,主要分为W3C标准盒模型(content-box)和IE盒模型(border-box)。标准盒模型中,width/height仅作用于内容区,padding和border会额外增加元素尺寸;而IE盒模型的width/height包含内容区、内边距和边框,更符合直观预期。现代开发推荐全局使用border-box,通过设置box-sizing:border-box可以简化布局计算,实现"所见即所得"的效果。这种盒模型选择能显著提升开发效率和布局稳定性,已成为

pzhdv的博客 853

css布局盒模型

文章目录基本概念displaypositionfloatflex布局概念容器属性项目属性常见使用场景或面试题水平垂直居中方式1、绝对定位(已知子容器高宽)2、绝对定位(设置子容器高宽)3、绝对定位(未知子容器高宽)4、flex弹性布局5、table-cell模拟表格布局 基本概念 盒模型是css布局的基础,它规定了网页元素如何显示以及元素间相互关系,所有HTML元素都可以看作盒子,它包含边距,边框,填充,和实际内容。 标准盒模型:box-sizing设为content-box是标准盒模型,盒子大小=内边距

连小雪的代码世界 267

CSS总结之盒模型及布局

盒模型及布局盒模型1. css内边距属性2. css外边距的属性3. css边框的属性边框的样式布局属性1. css浮动属性2. css定位属性 盒模型 盒子模型,英文即box model。无论是div、span、还是a都是盒子。 但是,图片、表单元素一律看作是文本,它们并不是盒子。这个很好理解,比如说,一张图片里并不能放东西,它自己就是自己的内容。 css盒模型,包含元素内容content,内边距padding,边框border,外边距margin。 1. css内边距属性 元素的内边距在边框和内容之间

天颖 1091

css布局系列1——盒模型布局

明确基本概念 网页的布局类似于在一个大盒子中摆放各不相同的小盒子。在布局之前,首先要明确几个概念: 1. 块元素:在页面中独占一行,高度默认被内容(子元素)撑开,宽度默认为父元素的100%,也即auto(width和height的默认值不是0,而是auto)。 2. 内联(行内)元素:在页面中不独占一行,只占自身内容的大小,不能设置宽和高。 3. 文档流:网页是一个多层结构,一层摞着一层。我们通过屏幕看到的网页就是网页的最顶部,而文档流是最底下的一层。块元素和行内元素都摆放在文档流中(在不开启浮动、绝...

Demo的博客 548

CSS布局之——盒模型与圣杯布局

CSS布局之——盒模型与圣杯布局 盒模型 在CSS布局的编写中,盒模型的概念必须要搞清楚,才能更好的体现出前端代码的能力。在此之前,我们需要弄清楚几个名词。 包含块 包含块对于浮动元素来说,定义为最近的块级祖先元素,但对于定位来说,情况则没有这么简单,CSS2.1定义了一下行为: “根元素”的包含块(也称为初始包含块)由用户代理建立,在HTML中,根元素就是HTML元素,不过有些浏览器会使用bo...

qq_41096610的博客 272

css基础布局(盒模型、浮动、定位)

08/11.12

qq_41950754的博客 1702

css默认布局,盒模型

行内元素,块级元素的CSS默认布局

zhengqiao4的博客 516

CSS盒模型和两栏布局、三栏布局

CSS盒模型

solo_ocean的专栏 925

css的盒模型和布局模型

1.盒模型1.边框 两种格式: div{ border-width: 2px; border-style: solid; border-color: red; } /*缩写形式*/ div{border: 2px solid red;} 1.border-style常见样式: dashed(虚线)、dotted(点线)、solid(实线)

临渊 552

CSS之盒模型,浮动布局,定位布局

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码

qq_45334571的博客 342
上一篇: JavaScript数据类型与变量
下一篇: Java数组知识整理
IBLiplus
博客等级 码龄8年 132粉丝 265原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值