CSS自学笔记(10):CSS3盒子模型

CSS3为CSS技术的升级版本、最新版本。

就CSS而言,它是一个模块,是一个庞大而又复杂的模块,但是在CSS3中,将这一个庞大的模块分解为一个个容易理解的同时又很精简的小模块,同时CSS3中又添加了一些新的模块,所以CSS3朝着模块化的方向发展。

CSS3中比较重要的模块有:选择器、盒子模型、背景和边框、文字特效、2D/3D转换、动画、多列布局、用户界面。

CSS3的选择器常用的和CSS选择器差不多。

CSS3 盒子模型

盒子模型是CSS3很重要的一个模型,它是指元素以何种方式显示以及元素间如何交互。

一个盒子是由元素的内容、内边距、边框、外边距构成的,所以在浏览器上看到的每一个元素都可以理解为一个盒子。多个盒子通过不同的方式排列(上下、并列、嵌套等)后就形成了我们看到的网页。

盒子组成结构图:

类似于CSS的框,有图可以看出,一个盒子的宽度=左右外边距+左右边框+左右内边距+内容宽度。如果两个盒子是嵌套的,那么两个盒子(盒子B嵌套在盒子A中)边框之间的举起为A的内边距+B的外边距。

盒子模型中实实在在我们可以看到的有边框、元素。内边距和外边距都是虚的,我们只能看到它们对元素的影响,所以盒子模型中只能定义两类颜色:边框和背景颜色。

盒子模型中可以定义三类距离:边框值、外边距值、内边距值,从而在一定程度上修饰元素。

注:

  • 大部分元素的盒子属性(margin,padding)默认都为0。
  • 有部分元素的盒子属性(margin,padding)默认值不为0,所以有必要时应先定义这些属性为0.
  • input元素的的边框属性定义为0一般是为了美化输入框和按钮。

我们可以通过盒子模型简单的美化一下(应该比默认情况下的要好看一点吧)

同样,我们也可以对表格、图片等元素的边框等定义不同的样式。

对一个盒子模型,样式定义好后就要考虑放哪了?所以就要对盒子进行定位。

盒子的定位有三种形式:

  1. 在普通流下的定位

    • html元素默认的定位方式
    • 行内元素在同一行内横向排列
    • 块级元素则是竖向排列
  2. 在浮动属性下的定位
  3. 在定位属性的定位

注:盒子的默认定位是普通流下的定位。

如果我们不给元素加边框(如下图左)。但是当加上元素边框时,就变成了下面的右图了,看起来很拥挤,当某个元素有背景色时,就会看出元素重叠了。

  

所以适当的调整元素的边框、外边距、内边距,可以使各个元素之间的布局更合理。

还需要注意的是,有时我们定义了元素的边框、外边距、内边距,也会造成元素之间的重叠。

这时我们可以使用display属性了,这个属性可以控制元素是以行元素显示还是块元素显示或者不显示。

display属性

属性 特点
block
  • 总是在新行上开始。
  • 高度,行高以及顶和底边距都可控制。
  • 宽度缺省是它的容器的100%,除非用width设定一个宽度。
inline
  • 和其他元素都在一行上。
  • 高,行高及顶和底边距不可改变。
  • 宽度就是它的文字或图片的宽度,不可改变。
none
  • 元素将不会被显示,也不会占据文档中的位置。
  • 类似于visibility: hidden。
  • 主要用于下拉菜单、tab面板等需要隐藏的地方。
……………………… …………………………………

需要定义display属性的地方:

  • 让一个行内元素从新的一行开始。
  • 让一个块元素和其他元素保持在一行。
  • 控制行元素的宽度(例如垂直列表、导航栏等)。
  • ……

我们定义多个行元素时,它们位于同一行:

当我们给这些行元素样式定义中加上display: block时,它们就会按照块元素的显示方式显示:

CSS自学笔记(10):CSS3盒子模型,布布扣,bubuko.com

时间: 2024-10-23 22:45:57

CSS自学笔记(10):CSS3盒子模型的相关文章

CSS自学笔记(11):CSS3背景和边框

CSS3 背景 在CSS3中新增了多个关于背景的属性,可以让我们对背景有了更多更好的操作,减少用第三方工具对背景图片进行修改美化. CSS3中主要是通过定义backgrounp中的各个属性来控制背景(高宽,位置,透明度----). 关于背景的部分常用属性有(*为CSS3中新增属性): 值 描述 background-color 规定要使用的背景颜色. background-position 规定背景图像的位置. background-size* 规定背景图片的尺寸. background-rep

CSS自学笔记(14):CSS3动画效果

在CSS3中也新增了一些能够对元素创建动画处理的属性.通过这些新增的属性,我们可以实现元素从一种样式变换成另一种样式时为元素添加动态效果,我们就可以取代网页中的动态图片.flash动画和JavaScript了. CSS3中新增的动画效果的属性以及主流浏览器支持情况 属性 浏览器支持 transition IE Firefox Chrome Safari(-webkit-) Opera @keyframes IE Firefox Chrome(-webkit-) Safari(-webkit-)

CSS自学笔记(13):CSS3 2D/3D转换

CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transform属性来实现转换效果. 浏览器支持 属性 浏览器支持 2D transform IE Firefox Chrome(-webkit-) Safari(-webkit-) Opera 3D transform IE Firefox Chrome(-webkit-) Safari(-webkit-)

CSS自学笔记(12):CSS3文字特效

在CSS3中新增了多个文本属性,同样有了这些属性我们在进行问题特效处理时,就尽可能少的用到其他软件去制作特效文字了. 在以前使用CSS进行web开发的时候,必须使用计算机上安装好的字体,如果有些用户的计算机上未安装该字体,可能会达不到开发人员的预期效果.而通过CSS3,开发人员可以使用他们喜欢的任意字体,只要将需要的字体文件放到web服务器上就OK了. 注:现在的主流浏览器不支持部分新增属性. 最简单的文本特效就是给文本添加阴影了. 可以给文本添加水平偏移值.垂直偏移值和模糊半径,也可以定义阴影

CSS3盒子模型<BoxModel>

一.CSS3盒子模型<BoxModel> 由内到外内容<content>.填充<padding>.边框<border>.外边距<margin>组成盒子模型 盒子模型分类<W3C盒子模型.IE盒子模型(内容计算是包含border.padding计算)> 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset=

CSS的W3C标准的盒子模型和低版本IE浏览器的盒子模型

CSS中盒子模型的组成由内容区(content).内边距(padding).边框(border).外边距(margin)组成.内边距可细分为 padding-top.padding-right.padding-bottom.padding-left:边框可细分为 border-top.border-right.border-bottom.border-left:外边距可细分为 margin-top.margin-right.margin-bottom.margin-left. 对于盒子模型,W3

CSS设计指南之理解盒子模型

原文:CSS设计指南之理解盒子模型 一.理解盒模型 每一个元素都会在页面上生成一个盒子.因此,HTML页面实际上是由一堆盒子组成的.默认情况下,每个盒子的边框不可见,背景也是透明的,所以我们不能直接看到页面中盒子的结构.使用WebDeveloper工具条中的"OutLine"->"OutLine Level Element"菜单项,可以方便地显示盒子的边框和背景,从而让我们能从另外一个角度来审视页面的构成. 1.1 元素盒子的属性 1.边框(border):可

CSS自学笔记(9):CSS拓展(二)

CSS图片 当一个网页上有一张或多张图片,而且这些图片的尺寸比较大时,为了是网页布局更紧凑合理,我们可以将这些图片放到一个图片库里,可以有效的防止图片过大可能会对网页布局造成的不良影响. 通过CSS我们就可以实现这些操作,下面是一个简单的例子: 内马尔破门瞬间 街舞助兴 激情墨西哥 梅西的任意球来 源代码是: 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"/> 5 &

CSS(三)解析盒子模型的浮动

上篇博客遗留了浮动和定位两个问题,只是对他们进行了简单的描述,今天仔细透透他们的底细,此篇为浮动篇. 浮动在这个CSS排版流行的年代发挥着越来越重要的作用,如同aline对定位网页元素的重要性一样,但它比aline更加功能强大. float主要功能是帮助对象在网页中对齐的,通过不同的命令使对象左右浮动,直到遇到border.padding.margin或其他对象边缘为止.别看这简单的浮动,却可以为我们的排版设计出各种靓丽的风格,下面介绍几种. 我把它们归为了以下两大类:普通浮动和嵌套浮动. 普通