《CSS权威指南》读书笔记4

第八章 内边距、边框与外边距


1.基本元素框

所有文档元素都生成一个矩形框,这称为元素框(element box)
1

1.宽度与高度

width:从左内边界到右内边界的距离
height:从上内边界到下内边界的距离
*这两个元素不能应用到行内非替换元素(例如链接),只能应用块级元素和替换元素;且均无继承性。一般,元素的高度由其内容决定。


2.外边距与内边距

元素的背景会延伸到内边距中,而不会延伸到外边距。因此,为元素指定的内边距和外边距会影响元素的背景何时结束。


2.外边距

1
margin默认值为0


1.长度值与外边距

margin属性可以在内容区周围增加空白(因为背景不会延伸到外边距)
*上右下左 TRBL


2.百分数和外边距

百分数是相对于父元素的width计算的。如果没有为元素声明width,则元素的外边距会扩大或缩小以适应父元素(或显示画布)的实际大小。


3.值复制

1
如果希望除了左外边距以外所有其他外边距都是auto,则:

h2{margin:auto auto auto 3em;}

无法简写


4.单元外边距属性

margin-left/right/top/bottom


5.负外边距和合并外边距

正常流中垂直相邻外边距会合并


6.外边距和行内元素

非替换元素

外边距可以应用到行内元素,不过如果向一个行内非替换元素应用外边距,它对行高没有任何影响;因为外边距是透明的,所以这个声明没有任何视觉效果。
*对于只包含文本的行,能改变行间距离的属性只有line-height、font-size、vertical-align

但只对行内非替换元素的上下边成立,左右两边不同,如果设置了左/右外边距值,它们是可见的,例如:
1

还有一种情况:
1

如果行内非替换元素应用负外边距,元素的上下外边距不受影响,行高也不受影响,不过元素左右两端可能与其他内容重叠。例如:
1

替换元素

为替换元素设置外边距确实影响行高,这取决于上下外边距的值;左右外边距与非替换元素的作用一样


3.边框

元素的背景会在外边框边界处停止,所以背景不会延伸到外边距以内。
边框有三个方面:宽度/粗细,样式/外观,颜色
宽度默认值为medium;
边框样式默认为none;
颜色默认为元素本身的前景色。如果一个元素没有文本,假设一个表内只有图像,那么该表的边框颜色就是其父元素的文本颜色。


1.边框与背景

边框绘制在“元素的背景之上”,CSS2.1明确指出元素的背景为内容,内边距和边框区的背景


2.有样式的边框

1

1)多种样式

可以为给定边框定义多个样式,按上右下左规则,例如:

p.aside{border-style:solid dashed dotted solid:}

2)单边样式

border-top-style、border-right-style、border-bottom-style、border-left-style

假如想在标题的三个边上设置边框,但左边没有边框,则:

h1{border-style:solid solid solid none;}
或者
h1{border-style:solid;border-left-style:none;}

方法二中,单边属性要放在简写属性之后,不然会覆盖。


3.边框宽度

1

1)根本没有边框

样式为none的边框并不存在,如果希望边框存在,一定要声明边框样式


4.边框颜色

1

1)透明边框

想创建不可见的边框,可引入边框颜色值transparent
1


5.简写边框属性

1
具体值的顺序并不重要,而且还可以忽略某些值。


6.全局边框

1
这个属性的值会应用到四个边,如果希望元素有不同的边框,可以利用层叠。


7.边框和行内元素

不论为行内元素的边框指定怎么样的宽度,元素的行高都不会改变。
对于上下边框,例如:
1

对于左右边框:
1


4.内边距

1
默认的,元素没有内边距。如果没有它,元素的边框会与元素本身的内容非常接近。而且内边距不合并。


1.百分数值和内边距

百分数值相对于其父元素的width计算(不论是上下内边距还是左右内边距)


2.单边内边距

1


3.内边距和行内元素

对于行内元素,外边距和内边距有很大区别。
左右内边距:如果为其设值,则其可见,如图:
1
内边距不会应用到各行的左右两边,对于替换元素也是这样,当然这种元素不会跨行。

上下内边距:
1


4.内边距和替换元素

还可以向图像应用内边距,例如:

img{background:silver;padding:1em;}

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值