回头看看盒模型

盒模型的二次理解。

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-12-09 16:22:40

回头看看盒模型的相关文章

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

盒模型的二次理解. 1定义 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子. 1.1排布 这些盒子们都要按照可见版式模型在页面上排布,版式模型由position,display,float这三个属性来控制,position属性控制页面上元素间的位置关系,用于定位:display属性控制元素显示的本质(inline:默认值,显示为内联元素:block:块级元素:inline-block:行内块级:table:作为块级表格来显示:none:不会被显示......)这些值可以令元素轻松

CSS3实战开发: 弹性盒模型之响应式WEB界面设计

各位网友大家好,如果你已经阅读过我先前写的关于CSS3弹性盒模型的实例演示,相信你对CSS3弹性盒模型属性知识点应该已经有了一个非常深刻的映像. 从本篇文章开始,我将带领大家,手把手地教大家如何来开发一个适合移动端浏览器的弹性盒模型的响应式页面.同时实战开发中的案例代码可以作为你项目中的精简框架了. 当你学习完成<CSS3实战开发: 弹性盒模型之响应式WEB界面设计>这个系列教程之后,相信你对目前比较流行的前端轻量级框架 Bootstrap等会有一个深刻的认识. Bootstrap(弹性流体布

弹性盒模型flex

弹性盒子模型 布局方案 传统的布局方案大多采用div+css+float+position+display来实现,但是随着css3中弹性盒子模型的推出,在前端布局方案中就又多出了一项彪悍的选项.而因为最近在研究小程序,发现中间使用弹性盒子布局效果更好效率更高一点,所以就将之前学习弹性盒模型的相关知识点整理出来,给大家分享. 弹性盒模型flex布局介绍 弹性盒模型(flexbox)又称为弹性布局,是css3中新提出的一种布局方式,通过弹性布局,可以让子元素自动调整宽度和高度,从而达到很好的填充任何

css盒模型

css盒子模型是为了让我们充分理解div+css模型的定位功能,盒子模型在学习div+css布局方式中必须要学习的一个模型. 那什么是css盒模型呢? 网页设计中常听到的属性名:内容(content).填充(padding).边框(border).边界(margin).css盒模型都具备这些属性.这些属性和日常生活中盒子的属性是一样的.内容就是盒子里面装的东西,而填充就是像盒子里装的一些反震的材料,边框就是箱子的本身,边界呢就像盒子之间的空隙. 盒子的模型有2种,分别是IE盒子模型和标准盒子模型

css的盒模型,及css3的box-sizing新属性

css的盒模型包含了content(元素自身).padding(内边距).border(边框)及margin(外边距). 如图,浏览器控制台elements的computed可以清晰显示元素盒模型,鼠标多动动就明白了:(蓝色区域表示content元素自身,这里是整个窗口的内容) 盒模型有两种:标准模式和怪异模式.在<!DOCTYPE>声明缺失时就会在ie6.ie7.ie8下触发怪异模式 标准模式下:盒子总宽度/高度 = content + padding + border + margin,c

第16章 CSS盒模型下

第 16章 CSS盒模型[下]学习要点:1.元素可见性2.元素盒类型3.元素的浮动 本章主要探讨 HTML5中 CSS盒模型,学习怎样了解元素的外观配置以及文档的整体布局. 一.元素可见性使用visibility属性可以实现元素的可见性,这种样式一般可以配合 JavaScript来实现效果.样式表如下:属性 visibility 值 说明 CSS版本visible 默认值,元素在页面上可见 2hidden 元素不可见,但会占据空间. 2collapse 元素不可见,隐藏表格的行与列. 2 如果不

前端开发:css基础知识之盒模型以及浮动布局。

前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西?  为什么这个浮动没有效果?  这个问题楼主已经回答了n遍.今天则是把它写到我的博客中,想知道自己过来翻就好啦 ^_^  下面楼主把当前的自己对css的基础认知一一给大家道来...... 盒模型 谈到盒模型,有经验的小伙伴一定滚瓜烂熟,无非就是 内容(content).填充(padding).边框(border).边界(margin): 这些属性我们可以把它转移到我们

【CSS】盒模型+选择器(你选择的要操作的对象)

盒模型 转http://www.cnblogs.com/cchyao/archive/2010/07/12/1775846.html 1.w3c标准的盒模型和ie的盒模型主要差别在于content的width和height是否包含border padding 2.标准的content是不包含border padding的 3.如何让ie也标准起来,加上<!doctype html> -------- 选择器 转http://www.cnblogs.com/yongzhi/articles/12

CSS3弹性盒模型flexbox完整版教程

文章目录 基础知识 属性介绍 display: flex | inline-flex; (适用于父类容器元素上) 请注意: flex-direction (适用于父类容器的元素上) flex-wrap (适用于父类容器上) flex-flow (适用于父类容器上) justify-content (适用于父类容器上) align-items (适用于父类容器上) align-content (适用于父类容器上) order (适用于弹性盒模型容器子元素) flex-grow (适用于弹性盒模型容