XHTML+CSS基础知识(三):盒模型

盒模型的四要素:content(内容)、border(边框)、padding(内边距)、margin(外边距)。

页面当中的每一个元素都会被看做是一个矩形框,这个框有内容、内边距、边框、外边距组成。

1.盒模型的四要素分别指什么?

内边距出现在内容区域的周围,如果在元素上添加背景,那么背景会应用于内容和内边距相加组成的区域。

添加边框会在内边距的区域以外添加框线,这些线可以有多种样式,比如实线、虚线、点线等。

在边框外边是外边距,外边距是透明的,一般使用它来控制元素之间的间隔。

2.盒模型中一个盒子的宽度应该如何计算?在IE当中也是这样的吗?

在CSS当中,width和height指的是内容区域的宽度和高度,增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。

但是在IE的早期版本当中(包括IE6),在混杂模式中使用自己的非标准盒模型,这些浏览器的width属性不是内容的宽度,而是内容、内边距和边框宽度的总和,所以一定要注意书写文档声明(DTD)来避免这种情况的发生。

3.两个盒子水平放置的时候外边距如何计算?垂直放置又如何计算?

<div style="width:100px;height:100px;float:left;margin-right:10px;">层一</div>

<div style="width:100px;height:100px;float:left;margin-left:20px;">层二</div>

上述代码在页面上显示为两个层水平排列,中间有30px的空隙,这就证明在盒子水平放置的时候他们的间距是两个盒子左右外边距的叠加。

<div style="width:100px;height:100px;margin-bottom:10px;">层三</div>

<div style="width:100px;height:100px;margin-top:20px;">层四</div>

上述代码在页面上显示为两个层垂直排列,中间有20px的空隙,这就证明盒子垂直放置的时候他们的间距是两个盒子上下外边距当中较大的那个。

<div style="width:100px;height:100px;margin-top:20px;">

  <div style="width:50px;height:50px;margin-top:30px;"></div>

</div>

上述代码在页面当中显示为外层有30px的外边距,而内层紧贴外层左上角显示,这就证明两个盒子嵌套放置的时候它们的上外边距会取其中较大的那个显示。

<div style="margin-top:30px;margin-bottom:20px;"></div>

上述代码在页面当中显示为与其他相邻盒子相距30px的空白,由此证明,在一个盒子当中如果没有内容且并未规定盒子的宽高,则该盒子的上下外边距会合并为其中较大的那个来做显示。

<div style="margin-top:30px;margin-bottom:20px;"></div>

<div style="margin-top:20px;"></div>

上述代码在页面当中显示为与其他相邻盒子相距30px的空白,由此证明,如果相邻的两个盒子均未限定宽高,且当中无内容,则他们的外边距会合并显示为其中比较大的那个。

另外,只有普通文档流中块框的垂直外边距才会发生外边距叠加,行内框、浮动框、决定定位框的外边距是不会发生叠加的。

外边距叠加的大多数问题可以通过添加一点内边距或者元素背景相同的小边框来修复。

4.由于为某个盒子添加内边距会造成其宽高变化,应该如何制作出内容与边框有一定距离的盒子,且不对本身盒子的宽高产生影响呢?

可以使用盒子嵌套的方式来解决这个问题,将包含内容的盒子放在另外一个盒子内部,为其添加一个外边距,或者为外部的盒子添加一个内边距即可。

时间: 2024-10-08 10:02:59

XHTML+CSS基础知识(三):盒模型的相关文章

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

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

(转)第一天 XHTML CSS基础知识 文章出处:标准之路(http://www.aa25.cn/div_css/902.shtml)

欢迎大家学习<十天学会web标准>,也就是我们常说的DIV+CSS.不过这里的DIV+CSS是一种错误的叫法,建议大家还是称之为web标准. 学习本系列教程需有一定html和css基础,也就是指您之前做过网页,会用表格布局.如果您刚开始学习网页制作,不知道什么是表格布局及html和css,建议您先去充电,否则学习本教程会非常吃力或者根本就听不懂. 由于时间关系,本教程只讲解一些基础知识,让您从原来的表格布局跨入到web标准(div+css)布局,会使用web标准制作出常见的页面,这也达到了本教

XHTML CSS基础知识

学习本系列教程需有一定html和css基础,也就是指您之前做过网页,会用表格布局.如果您刚开始学习网页制作,不知道什么是表格布局及html和css,建议您先去充电,否则学习本教程会非常吃力或者根本就听不懂. 由于时间关系,本教程只讲解一些基础知识,让您从原来的表格布局跨入到web标准(div+css)布局,会使用web标准制作出常见的页面,这也达到了本教程的目的. 本教程多以实例形式循序渐进讲解,实例涉及到哪些关键点或难点就讲解什么,较少讲解概念.因为概念这些东西很难说明白,或者说明白你也不一定

XHTML+CSS基础知识(一):基础知识

1.什么是W3C标准? W3C标准其实并不是某一项标准,而是一些列标准的集合. 它主要包括三个方面:结构标准(XHTML.XML),表现标准(CSS),动作标准(JavaScript). 它的本意是希望能够在网页上实现结构和表现的彻底分离.它要求网页的结构要遵循XHTML规范. 2.XHTML规范包含哪些内容? 文档方面:必须定义文档类型(DTD)和命名空间 其中命名空间是XML语言当中的一种规范,没有什么实际意义,此处的命名空间主要用于标注文档类型的作者,即W3C标准委员会. 标签方面:所有标

XHTML &amp; CSS 基础知识入门

查看一个网页的源代码只需要右击空白处点击查看网页源代码或者ctrl+U即可. 下载text editor文档编辑器 学习html和css前,我们需要一个text editor文档编辑器,计算机自带的notepad 可以写html文件,但是用文本文档写出来的文件可阅读性不强.我们可以下载notepad++来写html (notepad++也可以用来写很多其他语言的文件)且是免费试用的,很方便.[Notepad++官方下载地址] 下载安装好Notepad后我们就可以开始写html文件了. HTML里

XHTML+CSS基础知识(四):用CSS控制页面

1.CSS写入页面的方法有哪些? 行内式:直接在标签当中利用style属性来写样式表. 内嵌式:将所有的样式表提取出来放到网页头部的style标签当中. 链接式:将样式表单独写成一个.css文件,利用link标签在网页头部引用,W3C标准推荐. 导入式:利用@import来引入样式表,由于效率等等问题已经被淘汰 2.CSS样式表的优先级? 理论上:行内样式>内嵌样式>链接样式>导入样式 实际上:就近原则,内嵌.链接.导入在同一个文件的头部,谁距离相应的代码近,谁的优先级别就更高一些.相当

XHTML+CSS基础知识(二):块状元素与内联元素

W3C标准中规定的HTML元素有91个,他们可以被分为块状元素(block element)和内联元素(inline element)两种. 块状元素一般是其他元素的容器元素,块状元素一般都从新的一行开始,它可以容纳文本.内联元素和其他块状元素,通过width和height属性可以设置其大小. 常见的块状元素有div.p.table.h1~h6.ul.ol.li.dl.dt.dd.center.form. 其中form元素比较特殊,因为XHTML规范当中规定它只能容纳块状元素. 内联元素即非块状

CSS基础知识---浮动,定位和盒模型

转载请注明出处! 需要掌握的三个最重要的CSS概念是浮动,定位和盒模型. 盒模型概述: 页面上的每个元素都被看做一个矩形框(元素框or盒模型),这个框由元素内容,内边距,边框和外边距组成. 内边距出现在内容区域的周围,如果为元素添加背景,那么背景就会应用于由内容和内边距组成的区域.添加边框会在内边距的区域外边加一条线.在边框外边是外边距,外边距是透明的,一般用它来控制元素之间的间隔. 内边距,边框,和外边距是可选的,默认值为零.但是许多元素由用户代理样式表设置了外边距和内边距,我们可以将元素的m

〖前端开发〗HTML/CSS基础知识学习笔记

经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> <body>...</body> </html> html是根标签 head定义文档头部,包含: title, script, style, link, meta body是网页主要内容,包含:h1,h2-h6, p, a, img 2. 认识head标签: <head