九十年代的完全用表格布局,简单的段落边框都需要用表格。CSS让布局更方便。

基本元素框 basic element boxes

如同第七章基本视觉格式化那一章讲到,每个文档元素会生成一个元素框,这个框出现在文档布局中,影响其他元素的框。比如一个高1inch的元素框出现在文档的开头,那么下面的元素框将至少从文档1 inch以下的位置出现。

--------------------------------

* 宽度和高度

如下图最暗一个矩形框(内容区)的高度和宽度。

一个重要问题:高度和宽度属性不能应用在行内非替换元素上。比如你应用一个高度在链接上不会影响布局。

在讨论本章的时候,高度都默认为自动生成的,因为极少会设置正常文档流里元素的高度。因为你会调整窗口大小,高度自然需要自动生成。比如每行1/8 inch的高度,那么8行自动生成为1 inch,10行就是1.25。

* 历史问题

在IE6之前的微软的浏览器将元素的高/宽度属性包括了内容物高/宽度加上外边距和内边距的。另外ie也会应用高度和宽度到行内非替换元素上。

两个问题在ie6上解决了,但是你在quirk诡异模式上,仍然会看到。

--------------------------------

* 外边距vs内边距 margin vs padding

元素框之间有两种间隙,内边距(padding)和外边距(margin),内边距有背景(background)。你给一个元素一个内边距,可以发现背景颜色扩宽了。

-------------------------------

*  外边距

normal flow大多数元素的的间隔都是都是由外边距。设置外边距之后,在元素周围会出现空白(blank space),这个空白是指,其他的元素框(normal flow的)不能在这里出现,父级框的背景是可见的。

margin的值,可为auto,长度,百分数

将margin设置为auto的在第七章视觉格式化讨论过了。

margin可以设置为具体的长度,px、inch、 mm、em,默认的为0。很多浏览器的用户代理级的样式表会给一些元素定义外边距。

margin: top right bottom left

margin可以设置为百分数,在父级元素的宽度上计算。设置一个百分数的外边距,因为父级元素的宽度可能会变,比如调整窗口大小,外边距会跟着扩大或缩小。

不仅是左右的外边距,上下的外边距也是根据宽度计算的。因为高度常常为auto,上下边距会增加高度,按百分比计算的高度又需要增加,陷入循环。

** 重复的值

如果第四个值没有就赋值第二个值,如果第三个值没有就赋值第一个值,如果第二个值没有就赋值第一个值。

** 一边的外边距

margin-top/bottom/left/right

** 负值和塌陷的外边距

设置为负值的margin,元素框就可以超过父元素内容框了,如下图第二段落,或者覆盖其他元素框。

CSS权威指南 - 内边距 边框 和 外边距的更多相关文章

  1. CSS 框模型——规定了元素框处理元素内容、内边距、边框和外边距的方式

    转自:http://www.w3school.com.cn/css/css_boxmodel.asp 要知道在父元素:float, rel, abs位置情况下,box模型的变换情况,请见:http:/ ...

  2. CSS框模型(框模型概述、内边距、边框、外边距、外边距合并)

    CSS 框模型概述 CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式. 元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景. ...

  3. css细节复习笔记——内边距、边框和外边距

    一个元素的内边距.边框和外边距属性会影响着整个文档如何布局,更重要的是,它们会严重影响给定元素的外观. 高度和宽度 这两个属性不能应用到行内非替换元素,其高度和宽度由链接的内容确定,而不是由创作人员确 ...

  4. [04-05]box框模型(Box Model)定义了元素框处理元素内容、内边距、边框和外边距的方式

    实际占有的宽 = width + 2padding(内边距) + 2border(边框) + 2margin(外边距) 实际占有的高 = height + 2padding + 2border + 2 ...

  5. css权威指南读书笔记-第10章浮动和定位

    这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...

  6. css权威指南--笔记

    第1章 css和文档 1,元素:替换元素(img input),非替换元素(大多数span). 2,link:rel(代表关系:stylesheet,候选样式表:alternate styleshee ...

  7. 《CSS权威指南》基础复习+查漏补缺

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  8. 读书笔记《CSS权威指南》

    阅读本书主要目的: 自从学会CSS以来,虽然熟练掌握了其使用方法和技巧,但对其底层的原理和实现并不清晰,阅读本书想进一步系统化的学习和深入研究其本质,对这门前端基础语言从熟练使用到真正理解. 第1章 ...

  9. CSS 权威指南 CSS实战手册 第四版(阅读笔记)

    前言: 对于程序员,学习是无止境的,知识淘换非常快,能够快速稳固掌握一门新技术,是一个程序员应该具备的素质.这里将分析本人一点点不成熟的心得. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思 ...

随机推荐

  1. kafka 集群安装与安装测试

    一.集群安装 1. Kafka下载:wget https://archive.apache.org/dist/kafka/0.8.1/kafka_2.9.2-0.8.1.tgz 解压 tar zxvf ...

  2. java工厂模式实例化class

    import java.io.*; import java.util.*; interface fruit { public abstract void eat(); } class Apple im ...

  3. 【Infomatica】Infomatica PowerCenter 9.1.0配置Repository Service和Integration Service小结

    2014-05-14 今天在虚拟机中尝试安装Infomatica PowerCenter 9.1.0. 安装环境:Windows Server 2003 32bit. 字符集环境 DBMS:Oracl ...

  4. C++可能出错的小细节

    1. for(list<Geometry_line>::iterator it = G.begin(); it != G.end();) { if(IsLineCrossed(*it, l ...

  5. 【BZOJ3450】Tyvj1952 Easy 期望DP

    [BZOJ3450]Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是 ...

  6. 如何查看项目svn路径

    1.选择项目根目录---->鼠标右键---->属性---->版本控制(Subversion) 如图:

  7. Codeforces Round #249 (Div. 2) A - Queue on Bus Stop

    水题 #include <iostream> #include <vector> #include <algorithm> using namespace std; ...

  8. ACM 兄弟郊游问题

    兄弟郊游问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 兄弟俩骑车郊游,弟弟先出发,每分钟X米,M分钟后,哥哥带一条狗出发.以每分钟Y米的速度去追弟弟,而狗则以 ...

  9. Codeforces Round #215 (Div. 2) A. Sereja and Coat Rack

    #include <iostream> #include <vector> #include <algorithm> using namespace std; in ...

  10. asp.net mvc route 中新发现的小技巧

    在发现这个小技巧之前,我经常被某些问题困扰,我们以博客园为例 1:是分类名称 2:是分类url 3:点击分类,进入的页面,要显示分类的名称 4:点击分类,进入的页面,要用分类相关参数 在日常web的开 ...