IT兄弟连 HTML5教程 W3C盒子模型

日常生活中所见的盒子也就是能装东西的一种箱子,如果家里的东西很多,那么就需要按类别装到不同的箱子中。网页中的内容表现也是一样的,如果页面内容比较多,又想让页面更整洁、更美观、有很好的用户体验,则也需要按类别划分到不同的区块中,划分出来的每个区块就可以看作一个装东西的盒子。而每个HTML元素都可以看作一个区块,类似于装了东西的盒子,所以称其为盒子模式。在盒子模型中除了可以装内容(文字、图片等),也可以再装小盒子,所以一个页面的布局就是使用多个盒子按顺序摆放或嵌套组合成页面框架,再在不同的盒子中放入对应的网页内容。
如何去定义一个盒子呢?又如何去摆放盒子布局页面呢?通常我们使用“无意义”的标签<div>定义一个盒子模型,再通过CSS属性去声明盒子模型的属性。一个盒子的属性包括它的宽度(width)和高度(height),盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间还有边界(margin),如图1所示。

图1 W3C盒子模型
该盒子模型的声明代码如下:

用浏览器打开包含这段HTML代码的文件,效果如图2所示:

图2 W3C盒子模型
在使用CSS对网页进行布局时,盒子模型是页面布局的基石。上例中则是由id为#box的<div>元素声明的矩形框,这个框由元素内容、空白、填充及边框等组成。而在CSS中使用width和height属性指定区块的宽度和高度分别为200px,使用border属性添加4个边宽度都为5px的边框线,通过margin和padding属性分别定义区块外部边距20px和内部填充10px的距离,如图2所示。

图2 W3C盒子模型
使用margin指定外部边距是为了设置与其他区块之间的距离,而使用内部填充的目的是在内容与边框之间创建一个隔离带,使内容不会与边框混在一起。定义盒子模型所需要的CSS属性如表1所示。
表1 声明盒子模型的CSS属性

盒子区块外部边距和内部填充距离都是可选的,大部分元素的默认值都为0,但有一些元素会存在非0的默认值,例如body、ul、h3等,会给页面布局带来不便。可以将元素的margin和padding属性设置为0,清除这些默认的空白。在网页设计上,内容常指文字、图片等元素,但也可以是小盒子(DIV 嵌套)。与现实生活中的盒子不同的是,现实生活中的东西一般不能大于盒子,否则盒子会被撑坏;而CSS盒子具有弹性,里面的东西大过盒子本身最多把它撑大,但它是不会被损坏的。填充只有宽度属性,可以理解为生活中盒子里的抗震辅料厚度。而边框有大小和颜色之分,我们又可以理解为生活中所见盒子的厚度,以及这个盒子是用什么颜色的材料做成的。边界就是该盒子与其他东西要保持多大距离。
IT兄弟连 HTML5教程 W3C盒子模型的更多相关文章
- IT兄弟连 HTML5教程 使用盒子模型的浮动布局
虽然使用绝对定位可以实现页面布局,但由于调整某个盒子模型时其他盒子模型的位置并不会跟着改变,所以并不是布局的首选方式.而使用浮动的盒子模型可以向左或向右移动,直到它的外边缘碰到包含它的盒子模型边框或另 ...
- IT兄弟连 HTML5教程 使用盒子模型设计页面布局
布局所涉及的技术非常很多,足以另写单独的一本书了.在本节中主要介绍网站中最常用的布局方案,包括区块框居中.两列浮动.三列浮动及多列浮动的区块框. 1 居中设计 区块框居中的设计是在网页布局中常用的技 ...
- w3c盒子模型与ie盒子模型
盒子模型是css的专有名词,用来描述页面设置中的各种属性,如内容(content).填充(padding).边框(border).边界(margin),由于这些属性拼在一起,与日常生活中的“盒子”很相 ...
- 【css】IE盒子模型和标准W3C盒子模型
其实盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型. 1.标准盒子 从上图可以看到标准 W3C 盒子模型的范围包括 margin.border.padding.content,并且 c ...
- IE盒子模型和W3C盒子模型
IE盒模型出现在ie5.5以下的版本当中,ie6以上就实行W3C盒模型. box-sizing有两个属性,border-box和content-box. border-box对应传统的盒子模型,即ie ...
- W3c盒子模型+IE盒子模型+box-sizing属性
1.盒子模型有两种,标准盒模型和IE盒模型,其中W3C标准的盒模型就是在网页的顶部加上 DOCTYPE 声明. (1)W3C标准的盒模型 W3C盒子模型包括4部分:margin,border,padd ...
- IT兄弟连 HTML5教程 DIV+CSS网页标准化布局 小结及习题
小结 DIV+CSS布局页面的优势:表现和内容相分离.代码简洁,提高页面浏览速度.易于维护和改版.提高搜索引擎对网页的索引效率.每个HTML元素都可以看作一个区块,类似于装了东西的盒子,称为盒子模式. ...
- IT兄弟连 HTML5教程 DIV+CSS的兼容性问题
使用DIV+CSS布局网页其实是很容易的事情,但各种浏览器之间的不兼容性问题,加大了页面布局的难度,给程序员带来很多不便,于是需要花费更多的时间在调试各种浏览器的兼容性上.因为部分CSS属性在不同的浏 ...
- JQuery或JS判断浏览器内核版本号以及是否支持W3C盒子模型
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support .在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...
随机推荐
- 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(4)- OTP及其烧写方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的OTP. 在i.MXRTxxx启动系列第二篇文章 Boot配置(ISP Pin, OTP) 里痞子 ...
- Chapter 03—Getting Started with graphs
例01:一个简单的例子 一. 图形参数 1. 符号和线条 例02: plot(dose,drugA,type="b",lty=3,lwd=3,pch=1 ...
- 特殊权限set_uid、set_gid、stick_bit、软链接、硬链接文件 使用介绍
第2周第4次课(3月29日) 课程内容:2.18 特殊权限set_uid2.19 特殊权限set_gid2.20 特殊权限stick_bit2.21 软链接文件2.22 硬链接文件 2.18 ...
- TypeError: 'list' object cannot be interpreted as an integer
TypeError: 'list' object cannot be interpreted as an integer 类型错误,不能将list对象转换为一个整数. 错误代码,例如如下例子: arg ...
- Pycharm常见快捷键
Ctrl+/注释(取消注释)选择的行 Shift + Enter开始新行 Ctrl + Enter智能换行 TAB Shift+TAB缩进/取消缩进所选择的行 Ctrl + Alt + I自动缩进行 ...
- 基于VMware Workstation下CentOS的搭建
网络安全学习内容 二.VMware安装CentOS系统 需要准备的文件: 从http://mirrors.huaweicloud.com/centos/7.7.1908/isos/x86_64/中下载 ...
- [TimLinux] MySQL 导入sql文件数据慢的问题解决办法
慢的时候执行的命令: mysql -uusername -p -hip_address -Ddb_name < ./db.sql 快的时候执行的命令: mysql -uusername -p - ...
- CSS让高度百分百的方案
一般用来上下所有居中,但是这时候auto的计算是全屏像素,从而得到满屏 position: fixed; left: 0px; right: 0px; top: 0px; bottom: 0px; m ...
- BBS项目文件
bbs项目文件 # 创建好文件后 git init git remote add origin git@gitee.com:lddragon/bbs3.git git remote git pull ...
- CQRS+ES项目解析-Diary.CQRS
在<当我们在讨论CQRS时,我们在讨论些神马>中,我们讨论了当使用CQRS的过程中,需要关心的一些问题.其中与CQRS关联最为紧密的模式莫过于Event Sourcing了,CQRS与ES ...