HTML布局之盒子模型
1.1盒子模型
任何一个在页面上显示的HTML元素(无论是块级还是行内元素)都会呈现为一个盒子形状,即为盒子模型(box model)。
示意图:
见附带图片!!!
盒子首先以元素的width和height开始,宽和高可由元素的类型,元素内类容,或者指定的width和height属性决定。随后便是元素的padding和border。紧跟border的便是margin。
1.2 内外边距
盒子模型的内边距、边框和外边距都是可选的,默认值是零。但是,每个浏览器都给元素应用了一个基本的margin和padding值来使得元素易读和易于区别。每个浏览器的各个元素的值都不一样。可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式。这可以分别进行,也可以使用通用选择器对所有元素进行设置:
*{
margin: 0;
padding: 0;
}
1.2.1外边距
外边距默认是透明的,因此不会遮挡其后的任何元素。通过设置CSS margin属性,可以在元素的四周设置指定大小的一段空间。
注意:外边距可以是负值,而且在很多情况下都要使用负值的外边距。
1.2.2内边距
内边距呈现了元素的背景,即背景应用于由内容和内边距、边框组成的区域。通过设置CSS padding属性,给元素内部提供指定大小的一个空间,并不和margin一样用来定位元素。
1.3边框
边框处在元素内边据和外边据之间,设置了元素的轮廓。边框的设置需要三个值,宽度,样式,和颜色。简写模式中按照宽度(width),样式(style),颜色(color)的顺序即可。完整模式则分解为三个属性border-width,border-style和border-color。
例:
div {
border: 6px solid #ccc;//常见样式:单位宽度,实线,单色的边
}
1.4盒子的宽高
设置宽高(width, height)属性,只是在设置内容部分的宽高。
一个盒子的总宽=width+padding-left+padding-right+border-left+border-right。
一个盒子的高度=height+padding-top+padding-bottom+border-top+border-bottom。
当然实际显示的时候你还得考虑margin,但是有些浏览器里margin是会叠加的,所以还要根据上下文来考虑。
1、盒子模型自动设置宽度的方式
放置一个块级元素于页面上,并且不设置它的定位属性(relative,absolute,fixed),即position:static,或者设置了position:relative的情况下,块的宽度是延伸自动填充满它的父元素的宽度区域
例:
HTML代码:
<div class="box1">For floated or absolutely positioned </div>
CSS代码:
.box1{
background:black;
color:White;
height:100px;
padding:10px;
border:20px solid Red;
margin:30px;
}
放置一个块级元素于页面上,设置其浮动或者绝对定位时,块的宽度会收缩以致包裹紧贴内容。
例:
HTML代码
<div class="box2">For floated or absolutely positioned </div>
CSS 代码
.box2{
background:black;
color:White;
height:100px;
padding:10px;
border:20px solid Red;
margin:30px;
position:absolute;
}
注意:box1、box2均未设置宽度属性,不同的是box2进行了绝对定位。
2、盒子模型的高度
无论内容区域如何定位,如果高度,最小高度(min-height),最大高度(max-height等没有被声明的话,内容区域高度与内容的高度是相等的。
1.5浏览器兼容性
IE5和 6 不支持上述盒子模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。
虽然有方法解决这个问题。但是目前最好的解决方案是回避这个问题。也就是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。
1.6实际盒子模型应用
一个元素的宽度被设置为100%时,它不应该有任何的外边距,内边距,或者是边框。
HTML代码:
<div class="contain">
<div class="box"></div>
</div>
CSS代码:
.box{
background:black;
width:100%;
height:100px;
}
.contain{
background:yellow;
height:120px;
width:200px;
}
没有margin和padding的情况下,100%的内容能恰到好处的填充父元素。为类为box的盒子加入了margin和padding,元素出现了错位,并且只能显示左侧的margin。
CSS代码:
.box{
margin:10px;
padding:10px;
}
发表评论
-
html框架之iframe和frame及frameset
2019-01-22 14:55 4113html框架之iframe和frame及f ... -
Select下拉选择框的美化
2017-11-02 17:19 3210Select下拉选择框的美化 1.1 CSS修改select下 ... -
Input元素去除获取焦点时的边框
2017-11-02 10:27 6930Input元素去除获取焦点 ... -
Input[type="radio"]和Input[type="checkbox"]的选中
2017-11-01 17:03 1576Input[type="radio"]和I ... -
Input只读属性详解
2017-11-01 16:27 1578Input只读属性详解 1.1概述 Reado ... -
input[type="file"]标签的美化
2017-11-01 15:34 1107input[type="file"]标签的 ... -
html布局之table表格布局
2017-09-25 08:52 3401html布局之table表格布局 1.1 table布局 1、 ... -
HTML实现页面自动跳的方法
2017-09-14 11:42 881HTML实现页面自动跳的方法 1.1方法一 直 ... -
html marquee标签讲解
2017-09-01 09:02 1615html marquee标签讲解 1.1概述 ... -
html路径小结
2017-08-25 09:38 561html路径小结 1.1概述 ... -
html meta标签用法详解(一)
2017-08-24 10:18 1096html meta标签用法详解(一) 1.1概述 ... -
Hack技术总结
2017-08-23 11:22 793Hack技术总结 1.1概述 ... -
HTML行内元素和块级元素的转换
2016-10-07 16:24 6225HTML行内元素和块级元素的转换 1.1 CSS displa ... -
div元素按比例缩放的实现方法
2016-09-08 17:54 16050div元素按比例缩放的实现方法 某些场景下,窗 ... -
HTML img布局问题详解
2016-09-08 16:52 1105HTML img布局问题详解 1.1 ... -
HTML中空格的实现方法详解
2016-09-08 15:15 2344HTML中空格的实现方法详解 浏览器总是会截短 ... -
RGB颜色与HEX十六进制颜色的换算
2016-09-07 20:57 1028RGB颜色与HEX十六进制颜色的换算 1.1换算表格 ... -
Web语义化详解
2016-07-21 14:51 626Web语义化详解 1.1概述 Web语义化主 ... -
DIV+CSS布局和TABLE布局详解
2016-07-21 10:53 770DIV+CSS布局和TABLE布局详 ... -
HTML引入CSS样式的方式详解
2016-07-21 10:06 1446HTML引入CSS样式的方式详解 1.1内联属性(Inlin ...
相关推荐
Day05-CSS布局-盒子模型
HTML盒子模型是网页布局的基础,是构建网页的基本结构。盒子模型由内容区域、内边距、边框和外边距四个部分组成。盒子模型的基本属性包括border、padding和margin三个部分。 1. 盒子模型的结构 盒子模型可以用一个...
HTML 布局 浮动 位置移动 和 边框盒子模型例子 通过这些文件例子的使用你基本可以了解布局的一些相关只是,通过例子自己尝试做出自己的页面
HTML盒子模型是网页布局的基础结构,包括边框、内边距、背景图、背景色和外边距五个部分。盒子模型的基本属性包括边框、内边距和外边距三个方面。 一、边框(border) 边框是盒子模型的外壳本身的厚度,边框属性有...
CSS盒子模型是一个基本的布局模型,它由内容区域、边框区域、内边距区域和外边距区域组成。在这个模型中,每个标签都是一个盒子,通过盒子的视角可以更方便地进行布局。 一、CSS三大特性 CSS有三个基本特性:继承...
前端基础知识的思维导图和思维导图软件
迅速入门弹性盒子模型:一个使用Flex布局的网页(包括HTML和CSS),可以作为网页的模板,也可以用来学习弹性盒子模型在实例中的具体应用方式。
相对定位的方法制作页面布局
HTML 盒子模型是网页布局的基础,它将网页元素看作是一个盒子,盒子由边框(border)、内边距(padding)、背景图(background)和外边距(margin)四个部分组成。下面将详细解释这些属性的概念和应用。 边框...
CSS 盒子模型是前端开发技术中的重要概念,它是 CSS 布局页面元素所使用的一种思维模型。在盒子模型中,所有页面中的元素被看做是一个个盒子,它们占据一定的页面空间,在其中放着特定的内容。盒子模型由 content...
CSS盒子模型是指将HTML页面中的布局元素看作是一个矩形的盒子,一个CSS盒子从外到内可以分成四个部分:margin(外边距),border(边框),padding(内边距),content(内容)。盒子的宽度和高度是根据内容宽度或...
CSS 盒子模型是 CSS 的基石之一,它指定元素如何显示以及(在某种程度上)如何相互交互。在网页设计中,每个 HTML 元素都可以看作是一个装了东西的盒子,这个盒子由元素的内容、填充、边框和边界组成。 CSS 盒子...
HTML第七章CSS盒子模型及排版 CSS盒子模型是CSS布局页面元素所使用的一种思维模型。在盒子模型中,所有页面中的元素被看做是一个个盒子,它们占据一定的页面空间,在其中放着特定的内容。盒子模型由content(内容)...
CSS 盒子模型 CSS 盒子模型(Box Model) 所有HTML元素可以看作盒子,在CSS中,”box model”这一术语是用来设计和布局时使用。 CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际...
这是我自己项目总结的一些布局方法,基于DIV+CSS实现的一种弹性盒模型布局,主要利用display:table-cell;这一属性来实现,兼容良好,可扩展性也比较强。适用于做前端重构、架构的童鞋。
保证你能彻底明白css的盒子模型,我就看完了这个讲解就彻底的可以css+div布局了,千万不要错过
弹性盒模型布局的仿某宝个人中心页面,涉及rem,在线小图标的使用
本文作为属性篇的最后一篇文章, 将讲述HTML和CSS的关键—盒子模型(Box model). 理解Box model的关键便是margin和padding属性, 而正确理解这两个属性也是学习用css布局的关键. 注: 为什么不翻译margin和padding? 原因...
用html5对页面进行3列布局,使用的是html5的 Flex盒子模型设计的
这个资源只是为了方便我自己查看,记录非常潦草,下载全凭资源