盒模型-回头看看基本功(盒子)

盒模型的二次理解。

1定义

所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。

1.1排布

这些盒子们都要按照可见版式模型在页面上排布,版式模型由position,display,float这三个属性来控制,position属性控制页面上元素间的位置关系,用于定位;display属性控制元素显示的本质(inline:默认值,显示为内联元素;block:块级元素;inline-block:行内块级;table:作为块级表格来显示;none:不会被显示......)这些值可以令元素轻松拥有其他属性的特点~float属性也是作用于元素的位置关系,不过和position相比貌似调皮了一些,浮动是完全脱离文档流,定位的值中只有absolute,fixed完全脱离了文档流,默认值static即在常规文档流中,相对定位relative是相对于它原来在文档流中的位置(或者默认位置)。

1.2属性

默认情况下每个盒子的边框不可见,背景也是透明的,属性可分为三组:边框(border),内边框(padding),外边框(margin)。

CSS为边框,内边框和外边框分别规定了简写属性,这样对不同边框样式相同的就可以一条声明设定了。但是不同样式的最好单独声明,利于后期的单独更改和语义化表达,如{margin:1px 2px 3px 4px;}最好用{margin-top:1px;margin-right:2px;margin-bottom:3px;margin-left:4px;},也可以将两者混合使用,这样只需要把不同的那一个属性单独拿出来写就可以了,可以很大程度上减小工作量,注意css文件的读取顺序。

2 盒子边距

2.1  The  basic

盒子的内边距(padding)指盒子内容区与盒子边框之间的距离,盒子的外边距相对来说就复杂一些了,因为盒子之间的距离会出现“垂直方向上叠加”的情况,eg:有3个段落我们设置 p{margin-top:10px;margin-bottom:20px;},那么第一个段落和第二段落,以及第二个和第三段落之间的距离是多少?(10+20=30)吗?实际距离是20px,也就是说值较大的外边距决定两个元素最终的距离,垂直外边距叠加,直到一个元素的外边距碰到令一个元素的边框为止。不过要注意的是叠加只是用于垂直方向的哦,水平的相邻的元素他们之间的距离是相邻外边距之和。

2.2 The extend

为文本元素设置外边距时通常需要混合使用不同的单位,eg:一个段落的左右外边距可以使用像素,这样该段文本始终与包含元素边界保持固定间距,不受字号变化的影响。然而对于上下边距,以em,rem(rem是相对与body字体的相对字体,em是相对与父级字体的相对字体,所以使用rem更好控制一些)当字体变大时,段间距也会相应变大,就比较和谐了。

3盒子有多大

3.1不同盒子模型

盒子模型有两种,分别是 IE 盒子模型和标准 W3C盒子模型。他们对盒子模型的解释各不相同。标准盒子模型的宽度只是内容的宽度,IE的盒子模型宽度包括内容,内边距(padding),边框(border)。所以在占据位置相同的情况下,盒子的大小是不同的。so~我们需要在网页的顶部加上doctype声明,这样就能避免不同浏览器按自己想法理解盒子模型进而出现不同浏览效果的情况了。

3.2盒子的宽度

如果不设置块级元素的width属性,那么这个属性的默认值就是auto,结果会让元素的宽度扩展到与父元素同宽。添加水平边框,内边距和外边距,会导致内容宽度减少,减少的量为添加的水平边框,内边距和外边距的和。设定宽度值后,添加内边距元素的width值不变,但是元素占的地方比之前宽了2倍内边距。说明width属性只是盒子内容区的宽度,而非盒子所占的宽度。

时间: 2024-07-29 14:59:30

盒模型-回头看看基本功(盒子)的相关文章

padding标准盒模型和怪异盒子模型

我们都知道padding是为块级元素设置内边距 但是在使用过程中,我们却会遇到一些问题.padding的标准盒模型和怪异盒模型 padding盒子模型 我们通过demo来讲这个问题,用文字干讲第一没意思,第二讲不明白 标准盒模型: 我们先摆出HTML和CSS代码: 1 <div class="shoebox"> <!--此div模仿鞋子的鞋盒--> 2 <div class="shoes"> <!--此div模仿鞋子--&g

css盒模型和块级、行内元素深入理解

一.CSS盒模型 盒模型概述 盒模型是CSS的核心知识点之一,它指定元素如何显示以及如何相互交互.页面上的每个元素都被看成一个矩形框,这个框由元素的内容.内边距.边框和外边距组成.如下图所示: 内边距出现在内容区域的周围.如果在元素上添加背景,那么背景应用于元素的内容和内边距组成的区域.因此可以用内边距在内容周围创建一个隔离带,使内容不与背景混合在一起.添加边框会在内边距区域外边增加一条线.这些线可以有不同的样式和宽度,如实线.虚线.点画线.在边框外边的是外边距,外边距是透明的,一般使用它控制元

有关盒模型的一点思考

有关盒模型的一点思考 盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版. 其实盒子模型有两种,分别是标准 w3c 盒子模型和 IE 盒子模型. 他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 一.w3c盒子模型 看下面的图,根据色块,右外倒内,分别代表margin.border.padding.content(即网页内容部分) 二.IE盒子模型 与w3c盒子模型的组成部分类似,IE盒子模型也包括上图几个部分 但是不同的是,IE盒子模型把border和padding归

弹性盒模型此博文包含图片

Css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.这与XUL(火狐使用的用户交互语言)相似,其它语言也使用相同的盒模型,如XAML .GladeXML. 使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局.本文的例子使用以下的HTML代码: 1 2 3 传统的盒模型基于HTML流在垂直方向上排列盒子.使用弹性盒模型可以规定特定的顺序,也可以反转之.要开启弹性盒模型,只需设置拥有子盒子的盒子的display的属性值

盒模型(一)

一.什么是盒模型 padding(内边距,一个盒子里的边距离内容的距离,上下左右) margin(外边距,两个盒子之间的距离) border(盒子的边框) 内填充,外边距,边框都有四个方向:如padding-top,padding-right,padding-bottom和padding-left, 盒子模型里面的元素实际的高度加上padding-top,padding-bottom, 实际宽度是元素宽度加上padding-right和padding-left. 二.盒模型-边框 盒子模型的边框

css3 盒模型

0,前言 在css2.1 之前,我们都熟知的两种盒模型,一种是w3c标准盒模型,另外一种是怪异模式下的盒模型.在css3之前我们一直使用的是标准盒模型,但是标准盒模型的宽度总是需要小心的去使用,稍有不甚,有会带来混乱.css3让我们之前了解的怪异模式能够很好的在页面中使用,下面来了解下上面提到的w3c标准盒模型和怪异模式下的盒模型. div { width: 200px; height: 100px; padding: 20px; border:30px solid blue; margin:

CSS_添加CSS文件方法,盒模型和定位

学习笔记整理,非原创. 添加css的方法 链接外部样式表 <link rel=stylesheet type=text/css href=style.css> Rel表示在页面中使用外部的样式表.type指文件的类型是样式表文件,href指文件的位置. 内部样式表 <style type=”text/css”> <!— //定义style --> </style> 导入外部 样式表 <style type=”text/css”> <!— @

box flex 弹性盒模型(转载)

css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.这与XUL(火狐使用的用户交互语言)相似,其它语言也使用相同的盒模型,如XAML .GladeXML. 使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局.本文的例子使用以下的HTML代码: <body>  <div id="box1">1</div>  <div id="box2">2

盒模型对比

W3C的标准盒模型:外盒尺寸计算(元素空间尺寸):element 空间高度 = 内容高度 + 内边距 + 边框 + 外边距element 空间宽度 = 内容宽度 + 内边距 + 边框 + 外边距 内盒尺寸计算(元素大小):element 高度 = 内容高度 + 内边距 + 边框element 宽度 = 内容宽度 + 内边距 + 边框 IE传统盒模型(IE6以下,不包括IE6):外盒尺寸计算(元素空间尺寸):element 空间高度 = 内容高度(包括了height+padding+border)