本系列内容由ZouStrong整理收录
整理自 《写给大家看的CSS书(第2版)》、《CSS权威指南(第3版)》、《精彩绝伦的CSS》、《精通CSS:高级Web标准解决方案(第2版)》、CSS参考手册 css.doyoe.com
示例:
p {width:100px;}
width属性仅仅表示元素内容区的宽度,增加内边距、边框、外边距都会影响元素框的实际大小
块级元素默认与父元素内容区同宽,行内元素宽度由内容决定,且对行内非替换元素使用width无效
正常文档流中,块级元素水平部分的总和总是等于父元素宽度(width)
对于图片来说,仅指定图片宽度,那么高度就会根据宽度进行等比例缩放
注:如果max-width或者width小于min-width,则max-width和width自动获得min-width的值
height使用百分比无效时,往往是因为父元素直到祖先元素都没有设置height值
注:如果max-height或者height小于min-height,则max-height和height自动获得min-height的值
margin-top
margin-right
margin-bottom
margin-left
简写margin
简写属性,当有一个值时,该值应用于四个方向
当有两个值时,第一个值应用于上下,第二个值应用于左右
当有三个值时,第一个值应用于上,第二个值应用于左右,第三个值应用于下
当有四个值时,依次应用于上、右、下、左
所有涉及四条边的简写属性规则同上,不再赘述…………
使用百分数时,都是相对于父元素的宽度,是因为元素都会足够高以包含后代元素,如果上下边距是父元素的height的百分比,就可能导致一个无限循环(height增加,适应边距,边距增加,又导致height增加)
对于行内非替换元素使用上下外边距,没有效果(其实是设置了,但是周围的内容不会被撑开)
注:元素默认并没有指定外边距,但是浏览器对很多元素提供了预定的样式,因此很逗块级元素默认就包含了一定的外边距,因此,通常都在reset样式里,覆盖掉默认的边距
注:垂直的外边距会相互重叠合并,直到一个元素的外边距接触到另一个元素(即由较大的外边距决定两者间距)
需要注意的是,水平外边距不会合并、浮动元素和绝对定位元素的垂直外边距也不会合并
padding-top
padding-right
padding-bottom
padding-left
简写padding
注:为行内非替换元素应用边距(内、外)时,对行高没有影响,垂直边距不会撑开文本,但是垂直内边距会延伸背景,因为背景是可见的,所以会造成重叠
左右边距可以影响位置,同样上下边框也不会改变行高,但是会显示出来
对于只包含文本的行,能改变行间距的属性只有line-height、font-size、vertical-align
border-top-width
border-right-width
border-bottom-width
border-left-width
简写border-width
注:边框宽度不能使用百分比
border-top-style
border-right-style
border-bottom-style
border-left-style
简写border-style
border-top-color
border-right-color
border-bottom-color
border-left-color
简写border-color
注:使用transparent值,可以创建具有宽度的不可见边框(透明),一般用来提前占位,但是IE6不支持
border-top
border-bottom
border-left
border-right
指定元素某条边框的宽度,样式,颜色
border
同时指定元素四条边框的宽度,样式,颜色(只能为四条边应用相同值)
p {border:2px solid #F70;}
在默认情况下,边框样式默认值为 border-style:none,所以边框默认不显示(不指定边框样式的前提下,边框永远不可能显示)
换句话说:显示边框的最快捷方式就是
p {border:solid;}
border-top-left-radius(CSS3)
border-top-right-radius(CSS3)
border-bottom-left-radius(CSS3)
border-bottom-right-radius(CSS3)
简写border-radius(CSS3)
非简写属性可接受两个值,以空格分隔,第一个值表示水平圆角半径,第二个值表示垂直圆角半径(省略第2个,则默认等于第1个值)
border-top-left-radius:10px 20px;
border-radius:10px 20px/20px;
简写属性可接受两个参数,以“/”分隔,每个参数可设置1~4个值,第一个参数表示四个水平圆角半径,第二个参数表示四个垂直圆角半径,省略第2个,则默认等于第1个值
例:
border-image-source: url(1.png);
例:
border-image-slice: 1 9 fill;
例:
border-image-width: auto;
作用:指定元素边框图片的扩展
默认值:0
适用于:所有元素(除table元素设置了border-collapse为collapse之外)
继承性:无
动画性:无
取值:长度值
例:
border-image-outset: 10px;
第一个值必须:表示阴影水平偏移值(允许负值)
第二个值必须:表示阴影垂直偏移值(允许负值)
第三个值可选:表示阴影模糊度
第四个值可选:表示阴影外延度
第五个值可选:表示阴影颜色
第六个值可选:表示将外部阴影改为内部阴影
可以设定多组效果,每组参数值以逗号分隔
content-box:padding和border不被包含在定义的width和height之内
border-box:padding和border被包含在定义的width和height之内。对象的实际宽度就等于设置的width值,即使定义有border和padding也不会改变对象的实际宽度
如果希望此属性生效,需要设置元素的overflow属性,值可以是auto,hidden或scroll
第一个值:表示倒影方向(above、below、left、right)
第二个值:表示元素与倒影间隔(所有长度值)
第三个值:表示倒影的样式