CSS权威指南 - 内边距 边框 和 外边距
九十年代的完全用表格布局,简单的段落边框都需要用表格。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权威指南 - 内边距 边框 和 外边距的更多相关文章
- CSS 框模型——规定了元素框处理元素内容、内边距、边框和外边距的方式
转自:http://www.w3school.com.cn/css/css_boxmodel.asp 要知道在父元素:float, rel, abs位置情况下,box模型的变换情况,请见:http:/ ...
- CSS框模型(框模型概述、内边距、边框、外边距、外边距合并)
CSS 框模型概述 CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式. 元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景. ...
- css细节复习笔记——内边距、边框和外边距
一个元素的内边距.边框和外边距属性会影响着整个文档如何布局,更重要的是,它们会严重影响给定元素的外观. 高度和宽度 这两个属性不能应用到行内非替换元素,其高度和宽度由链接的内容确定,而不是由创作人员确 ...
- [04-05]box框模型(Box Model)定义了元素框处理元素内容、内边距、边框和外边距的方式
实际占有的宽 = width + 2padding(内边距) + 2border(边框) + 2margin(外边距) 实际占有的高 = height + 2padding + 2border + 2 ...
- css权威指南读书笔记-第10章浮动和定位
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...
- css权威指南--笔记
第1章 css和文档 1,元素:替换元素(img input),非替换元素(大多数span). 2,link:rel(代表关系:stylesheet,候选样式表:alternate styleshee ...
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- 读书笔记《CSS权威指南》
阅读本书主要目的: 自从学会CSS以来,虽然熟练掌握了其使用方法和技巧,但对其底层的原理和实现并不清晰,阅读本书想进一步系统化的学习和深入研究其本质,对这门前端基础语言从熟练使用到真正理解. 第1章 ...
- CSS 权威指南 CSS实战手册 第四版(阅读笔记)
前言: 对于程序员,学习是无止境的,知识淘换非常快,能够快速稳固掌握一门新技术,是一个程序员应该具备的素质.这里将分析本人一点点不成熟的心得. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思 ...
随机推荐
- zookeeper + LevelDB + ActiveMQ实现消息队列高可用
通过集群实现消息队列高可用. 消息队列在项目中存储订单.邮件通知.数据分发等重要信息,故对消息队列稳定可用性有高要求. 现在通过zookeeper选取activemq leader的形式实现当某个ac ...
- Java数组课后作业
1.运行TestArrays.java,了解Arrays中的一些重要方法的用法. Arrays.equals(a 1, a2):判断数组是否相等. int[] b = Arrays.copyOf(a, ...
- canvas 3D运动球效果 多球
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 解决$.getJSON在IE浏览器下出现数据缓存,第一次访问某个后台路径之后,再次访问该路径不再走后台的方法。
最近写代码的时候遇到一个小问题,我用的是火狐,项目里测试人员用的是IE,当用jquery的getjson函数从后台获取数据的时候,IE浏览器会自动设置缓存,如果此时你对数据进行修改的时候刷新页面,IE ...
- Js+XML 操作
xml文件Login.xml如下. 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?> <L ...
- HowTo:使用数据流读写消息
本文主要演示使用TPL 数据流库从数据流块(dataflow block)读写消息. 提供了同步方法和异步方法. 主要使用BufferBlock,其既能作为message source,有能作为m ...
- Hadoop维护IPC链接
IPC链接上长时间没有发生远程调用,客户端会发送一个心跳消息给服务器端,用于维护链接. Connection的lastActivity用来记录上次发生IPC通信的时间. Connection.touc ...
- Spring Assert(方法入参检测工具类-断言)
Web 应用在接受表单提交的数据后都需要对其进行合法性检查,如果表单数据不合法,请求将被驳回.类似的,当我们在编写类的方法时,也常常需要对方法入参进行合 法性检查,如果入参不符合要求,方法将通过抛出异 ...
- 用gulp替代fekit构建前端项目
https://segmentfault.com/a/1190000003060016 离开qunar有一个多月了,在离开的时候就决定不再用fekit.做出这个决定并不是因为fekit不好,恰恰相反, ...
- memcached 的安装与使用
准备条件:下载memcached的服务器端memcached-1.2.1.win32.zip(虽然最新版本已经是1. 4.6了,但win版本的好像还一直未更新,或找不到.) A.windows上的安装 ...