`

[转载]CSS盒子模型

 
阅读更多

  盒子模型(Box Model)是从CSS诞生之时便产生的一个概念,对网页中的大部分对象,实际呈现形式就是一个盒子形状对象(即块状对象),对于这个基础又重要的概念,只要掌握盒子模型的尺寸及占位的标准技术方法,那就可以灵活驾驭盒子模型了!

  

CSS盒子模型

  网页设计中的每个元素都是长方形的盒子。怎样精确的计算盒子的尺寸?请看下面一幅图:

  

  盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin)。

  如果你是一个Firebug的用户,就会很熟悉下面的图表了。这个图表很好地展示了作用于页面上任意盒子的数值。

  

  注意到上面两个例子中,margin都是白色的,margin 比较特别,它不会影响盒子本身的大小,但是它会影响和盒子有关的其他内容,因此 margin 是盒模型的一个重要的组成部分。
  盒子本身的大小是这样计算的:

Width width + padding-left + padding-right + border-left + border-right
Height height + padding-top + padding-bottom + border-top + border-bottom

  

值为声明的情况

  如果未声明 padding 或者 border,那他们或者值为零(使用 css reset 时),或者为浏览器的默认值(很可能不是零,尤其是那些通常没有重置的表单元素)。

  如果未声明盒子的width(而且这个盒子是一个块级元素),那么事情就变得有点怪异,我们先看这点,然后再看一下其他优秀的关于盒子模型的资料。

  

块级盒的默认宽度

  如果没有声明宽度,而且盒子是静态或者相对定位,那么宽度将保持100%且padding和border将向内推动而不是向外扩展。

  如果明确的确定宽度为100%,那么padding就会向外扩展。

  

  从这个例子可以看出,盒子的默认宽度并不是100%,也可能是其他值,应该了解这种特别有价值的情况,因为在现存的很多情况下,它对于设置/不设置宽度是很多帮助的。

  我遇到的最大的麻烦就是 textarea(文本框) 元素了,它们需要设为宽度为所需的”cols”属性,并且不能包含子元素。因此通常需要明确的设置 textarea 的宽度为 100%,但有 padding 时,就会延 展 textarea 的宽度。固定宽度环境下,通常可以设置为合适的像素值宽度,但是变宽情况就没那么幸运了。

  

无宽度的绝对定位盒子

  未设定宽度的绝对定位的盒子的表现有点不一样。它们的宽度只需要适合它们所包含的内容即可。因此,如果盒中只有一个单词,盒子就会像那个词的表现一样宽。如果变成两个词,盒子的宽度也会相应增加。

  

  这种情况会持续到盒子的宽度达到父元素宽度的 100%(最近的相对定位的父元素或者浏览器窗口),然后就会折行。
对盒子来说,垂直扩展以适应包含的内容是很自然的。值得奇怪的是,不仅仅是不同平台下的文本表现不同,不同的浏览器处理这个问题时,也有很多怪癖。

  

  

无宽度浮动盒子
  同无宽度的绝对定位盒子的表现一样。盒子的宽度只需要扩展到所包含内容的宽度,直到其父元素的宽度(其父元素不必是相对定位的)。由于这些无宽度盒 子的脆弱性,我们要学到的是关键任务模式的时候它们是不能依赖的,像总体页面布局中。如果浮动一列作为侧边栏使用,并指望那些内部元素(如图片)来负责包 含它的宽度,你就是在自找麻烦。

内联元素也是盒子
  我们这里一直把重点放在块级元素的盒子上。很容易就可以把块级元素想象为盒子,但是内联元素也是盒子。可以把他们想象为非常长而窄的长方形,它们也可以像其它盒子一样有 margin, padding 和 border。

    

  折行使它看起来有些不好理解。如上所示的左 margin 把盒子推向右边,但是只在第一行有效,因为那是盒子的起点。padding 正常的应用在文本的上部或下部,当折行时它会忽略上面行的 padding 并且以行高(line-height)要求的位置作为起点。透明背景是为了让效果看起来更清楚。

  

亲眼目睹一下

  想看看组成页面的每个单独的“盒子”吗?试着把这行代码暂时放入样式表:  

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->* { border: 1px solid red !important; }

 

   

 

FROM:http://www.qianduan.net/css-box-model.html

分享到:
评论

相关推荐

    CSS盒子模型教程PPT课件.pptx

    CSS 盒子模型教程 CSS 盒子模型是指浏览器对网页中的各个元素(图片、段落、单元格等)进行排列和定位的模式。只有很好地掌握了盒子模型以及其中每个元素的用法,才能真正地控制好页面中的各个元素。本节主要介绍...

    css盒子模型

    CSS盒子模型是网页布局的基础,它是CSS(Cascading Style Sheets)中用于描述网页元素在屏幕上占用空间的方式。深入理解盒子模型对于精确控制网页元素的布局至关重要。在本实战中,我们将探讨盒子模型的各个组成部分...

    CSS盒子模型.rar

    **CSS盒子模型详解** 在网页设计与开发中,CSS(层叠样式表)扮演着至关重要的角色,其中CSS盒子模型是理解布局和元素尺寸计算的关键概念。本资料将深入探讨CSS盒子模型,帮助你掌握这一核心知识。 **一、基本概念...

    CSS盒子模型的应用

    **CSS盒子模型详解** 在网页设计中,CSS(层叠样式表)盒子模型是一个至关重要的概念,它定义了网页元素如何占用空间并与其他元素交互。理解盒子模型对于精确控制页面布局至关重要。本篇文章将深入探讨CSS盒子模型...

    CSS盒子模型 图片演示

    CSS盒子模型是网页布局的基础,它是CSS(Cascading Style Sheets)中用于描述网页元素在屏幕上如何显示的关键概念。在CSS中,每个元素都可以被看作一个矩形的盒子,包含内容区、内边距、边框和外边距四部分,这四个...

    CSS+DIV-盒子模型示例.zip

    **CSS+DIV 盒子模型详解** 在网页设计与开发中,CSS(层叠样式表)和DIV元素是构建布局的基础。"CSS+DIV-盒子模型示例.zip"中的内容显然是为了帮助理解CSS中的盒子模型及其应用。盒子模型是CSS布局的核心概念,它将...

    css盒子模型-京东快报

    CSS盒子模型是CSS布局的基础,理解和掌握它对于网页设计至关重要。"京东快报"可能是一个项目或者课程,涉及到使用CSS来构建符合京东风格的页面布局。在这里,我们将深入探讨CSS盒子模型及其在实际应用中的运用。 **...

    Css盒子模型入门指导

    CSS 盒子模型是网页设计中的核心概念,尤其对于使用CSS进行布局的初学者而言,理解和掌握盒子模型至关重要。在传统的HTML布局中,表格被广泛用于网页内容的排版,但随着网页技术的发展,CSS(层叠样式表)的引入带来...

    tytttta#CSS-learning#五CSS盒子模型1

    1.1 CSS盒子模型概述 1.3 CSS 盒子模型边框 1.4 CSS盒子模型外边距 1.5CSS盒子模型的应用

    css盒子模型的讲解

    ### CSS盒子模型详解 #### 一、引言 在网页设计领域,随着技术的发展和标准的不断演进,越来越多的设计者开始放弃传统的表格排版方式,转而采用更灵活、强大的CSS(Cascading Style Sheets)来实现网页的布局与...

    21.4 CSS 盒子模型

    在CSS世界中,盒子模型(Box Model)是一个至关重要的概念,它定义了元素在网页布局中的行为方式。这个模型描述了HTML元素所占用的空间,包括元素的内容、内边距(padding)、边框(border)以及外边距(margin)。...

    CSS下盒子模型定位浅析.pdf

    【CSS盒子模型定位浅析】 CSS(层叠样式表)是一种强大的样式控制工具,它使得网页设计者可以精细地控制页面元素的外观和布局。盒子模型是CSS布局的核心概念,它将HTML元素视为一个个具有内容(content)、内边距...

    CSS盒子模型教程学习教案.pptx

    CSS盒子模型教程学习教案.pptx

    css盒子模型1

    css盒子模型视频简介上帮助理解社么是盒子模型

    CSS盒子模型PPT教学课件.pptx

    CSS 盒子模型 CSS 盒子模型是 CSS 的基石之一,它指定元素如何显示以及(在某种程度上)如何相互交互。在网页设计中,每个 HTML 元素都可以看作是一个装了东西的盒子,这个盒子由元素的内容、填充、边框和边界组成...

    day05(CSS03-盒子模型)v1.0.pdf

    "CSS盒子模型和三大特性" CSS盒子模型是一个基本的布局模型,它由内容区域、边框区域、内边距区域和外边距区域组成。在这个模型中,每个标签都是一个盒子,通过盒子的视角可以更方便地进行布局。 一、CSS三大特性 ...

    html的CSS盒子模型

    html的CSS盒子模型

    css:盒子模型

    ### CSS盒子模型详解 #### 一、CSS盒子模型概念 CSS盒子模型是HTML与CSS技术中最为基础且核心的概念之一,对于网页布局的设计至关重要。它包括以下四个主要组成部分: 1. **内容(Content)**:指元素实际展示的...

    CSS中的盒子模型(图片)

    其中,盒子模型(Box Model)是CSS布局的基础,它定义了元素如何占据空间并与其他元素交互。接下来,我们将深入探讨这个重要概念。 首先,盒子模型描述了一个HTML元素在页面上占用的空间,包括元素的内容区域...

Global site tag (gtag.js) - Google Analytics