阅读298 返回首页    go 阿里云 go 技术社区[云栖]


css知识梳理

写完之前的一篇"一起领略css3动画的强大"之后,我发现自己以为的懂得并不是真的懂得,所以现在来好好把css3来梳理一下

css属性组

动画属性(Animation)

@keyframes - 规定动画

通过@keyframes规则能够创建动画,创建动画的原理是:将一套CSS样式逐渐变化为另一套样式;在动画过程中能够多次改变这套CSS样式;以百分比来规定改变发生的时间,或通过关键词"from"/"to",等价于0%和100%;为了获得最佳的浏览器支持,应该始终定义0%和100%选择器

注释:请使用动画属性来控制动画的外观,同时将动画与选择器绑定

语法:

@keyframes animationname {keyframes-selector {css-styles;}}
描述
animationname 必需,定义动画的名称
keyframes-selector 必需,动画时长的百分比;合法的值:0-100%,from(与0%相同),to(与100%相同)
css-styles 必需,一个或多个合法的CSS样式属性

举例:在一个动画中添加多个keyframe选择器改变多个 CSS 样式:

@keyframes mymove{
  0%   {top:0px; left:0px; background:red;}
  25%  {top:0px; left:100px; background:blue;}
  50%  {top:100px; left:100px; background:yellow;}
  75%  {top:100px; left:0px; background:green;}
  100% {top:0px; left:0px; background:red;}
}
@-moz-keyframes mymove{ / Firefox /
  0%   {top:0px; left:0px; background:red;}
  25%  {top:0px; left:100px; background:blue;}
  50%  {top:100px; left:100px; background:yellow;}
  75%  {top:100px; left:0px; background:green;}
  100% {top:0px; left:0px; background:red;}
}

@-webkit-keyframes mymove{ / Safari and Chrome /
  0%   {top:0px; left:0px; background:red;}
  25%  {top:0px; left:100px; background:blue;}
  50%  {top:100px; left:100px; background:yellow;}
  75%  {top:100px; left:0px; background:green;}
  100% {top:0px; left:0px; background:red;}
}
@-o-keyframes mymove{ / Opera /
  0%   {top:0px; left:0px; background:red;}
  25%  {top:0px; left:100px; background:blue;}
  50%  {top:100px; left:100px; background:yellow;}
  75%  {top:100px; left:0px; background:green;}
  100% {top:0px; left:0px; background:red;}
}

animation - 除animation-play-state外所有动画属性的简写属性

animation属性是一个简写属性,用于设置六个动画属性:

语法:

animation: name duration timing-function delay iteration-count direction;
描述 语法
animation-name 规定需要绑定到选择器的@keyframes动画名称 animation-name: keyframename/none;
animation-duration 规定动画完成一个周期所花费的秒或毫秒 animation-duration: time;
animation-timing-function 规定动画的速度曲线 animation-timing-function: linear/ease/ease-in/ease-out/ease-in-out;
animation-delay 规定在动画开始之前的延迟 animation-delay: time; (可为负值)
animation-iteration-count 规定动画被播放的次数 animation-iteration-count: n/infinite;
animation-direction 规定是否应该轮流反向播放动画 animation-direction: normal/alternate;
animation-play-state 规定动画正在运行还是暂停 animation-play-state: paused
animation-fill-mode 规定动画在播放之前或之后动画效果是否可见 animation-fill-mode : none / forwards / backwards /both;

animation-fill-mode介绍

描述
none 不改变默认行为
forwards 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)
backwards 在animation-delay所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)
both 向前和向后填充模式都被应用

背景属性(Background)

在一个声明中设置所有的背景属性

background-color

background-color属性为元素设置一种纯色,这种颜色会填充元素的内容/内边距/边框区域,扩展到元素边框的外边界(但不包括外边距),如果边框有透明部分(如虚线边框),会透过这些透明部分显示出背景色

background-color可能的值

描述
color_name 规定颜色值为颜色名称的背景颜色(比如red)
hex_number 规定颜色值为十六进制值的背景颜色(比如#ff0000)
rgb_number 规定颜色值为 rgb 代码的背景颜色(比如 rgb(255,0,0))
transparent 默认,背景颜色为透明
inherit 规定应该从父元素继承background-color属性的设置

background-attachment

设置背景图像是否固定或随着页面的其余部分滚动

background-attachment可能的值

描述
scroll 默认值,背景图像会随着页面其余部分的滚动而移动
fixed 当页面的其余部分滚动时,背景图像不会移动
inherit 规定应该从父元素继承background-attachment属性的设置

background-image

为元素设置背景图像;元素的背景占据了元素的全部尺寸,包括内边距和边框,但不包括外边距,默认地,背景图像位于元素的左上角,并在水平和垂直方向上重复

提示:请设置一种可用的背景颜色,这样的话,假如背景图像不可用,页面也可获得良好的视觉效果

background-image可能的值

描述
url('URL') 指向图像的路径
none 默认值,不显示背景图像
inherit 规定应该从父元素继承background-attachment属性的设置

background-position

设置背景图像的起始位置;这个属性设置背景原图像(由background-image定义)的位置;背景图像如果要重复,将从这一点开始

提示:需要把background-attachment属性设置为"fixed",才能保证该属性在Firefox和Opera中正常工作

background-position可能的值

描述
top left/center/right center left/center/right bottom left/center/right 如果仅规定了一个关键词,第二个值为"center";默认值:0% 0%
x% y% (水平位置 垂直位置);如果仅规定了一个值,另一个值为50%
xpos ypos (水平位置 垂直位置);如果仅规定了一个值,另一个值为50%;可混合使用%和position值

background-repeat

设置是否及如何重复背景图像;默认地,背景图像在水平和垂直方向上重复

提示:背景图像的位置是根据background-position属性设置的;如果未规定background-position属性,图像会被放置在元素的左上角

background-repeat可能的值

描述
repeat 默认,背景图像在垂直方向和水平方向重复
repeat-x 背景图像在水平方向重复
repeat-y 背景图像在垂直方向重复
no-repeat 背景图像仅显示一次
inherit 规定应该从父元素继承background-repeat属性的设置

background-clip

规定背景的绘制区域

语法

background-clip: border-box|padding-box|content-box;

background-clip可能的值

描述
border-box 背景被裁剪到边框盒
padding-box 背景被裁剪到内边距框
content-box 背景被裁剪到内容框

background-origin

规定background-position属性相对于什么位置来定位;如果背景图像的background-attachment属性为"fixed",则该属性没有效果

语法

background-origin: padding-box|border-box|content-box;

background-origin可能的值

描述
border-box 背景图像相对于边框盒来定位
padding-box 背景图像相对于内边距框来定位
content-box 背景图像相对于内容框来定位

background-size

规定背景图片的尺寸

语法

background-size: length|percentage|cover|contain;

background-size可能的值

描述
length 设置背景图像的宽度和高度;如果只设置一个值,则第二个值为"auto"
percentage 以父元素的百分比来设置背景图像的宽度和高度;如果只设置一个值,则第二个值为"auto"
cover 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域;背景图像的某些部分也许无法显示在背景定位区域中
contain 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域

边框属性(Border和Outline)

border

在一个声明中设置所有的边框属性;可以按顺序设置如下属性:border-width/border-style/border-color;如果不设置其中的某个值也不会出问题,比如 border:solid #ff0000;也是允许的

border-width

为元素的边框设置宽度;只有当边框样式不是none时才起作用;如果边框样式是none,边框宽度实际上会重置为0,不允许指定负长度值

border-width可能的值

描述
thin 定义细的边框
medium 默认,定义中等的边框
thick 定义粗的边框
length 允许自定义边框的宽度
inherit 规定应该从父元素继承边框宽度
border-style

用于设置元素边框的样式,只有当这个值不是none时边框才可能出现

border-style可能的值

描述
none 定义无边框
hidden 与"none"相同;不过应用于表时hidden用于解决边框冲突
dotted 定义点状边框,在大多数浏览器中呈现为实线
dashed 定义虚线,在大多数浏览器中呈现为实线
solid 定义实线
double 定义双线,双线的宽度等于border-width的值
groove 定义3D凹槽边框,其效果取决于border-color的值
ridge 定义3D垄状边框,其效果取决于border-color的值
inset 定义3D inset边框,其效果取决于border-color的值
outset 定义3D outset边框,其效果取决于border-color的值
inherit 规定应该从父元素继承边框宽度

最不可预测的边框样式是double,它定义为两条线的宽度再加上这两条线之间的空间等于border-width值;不过CSS规范并没有说其中一条线是否比另一条粗或者两条线是否应该是一样的粗,也没有指出线之间的空间是否应当比线粗,所有这些都有用户代理决定,创作人员对这个决定没有任何影响

border-color

设置四条边框的颜色,此属性可设置1到4种颜色;border-color属性是一个简写属性,可设置一个元素的所有边框中可见部分的颜色,或者为4个边分别设置不同的颜色

border-color可能的值

描述
color_name 规定颜色值为颜色名称的边框颜色(比如 red)
hex_number 规定颜色值为十六进制值的边框颜色(比如 #ff0000)
rgb_number 规定颜色值为rgb代码的边框颜色(比如 rgb(255,0,0))
transparent 默认值,边框颜色为透明
inherit 规定应该从父元素继承边框颜色
border-top/border-right/border-bottom/border-left

单独设置上边框/右边框/下边框/左边框的样式

可能的值

描述
border-top/right/bottom/left-color 设置上/右/下/左边框的颜色
border-top/right/bottom/left-style 设置上/右/下/左边框的样式
border-top/right/bottom/left-width 设置上/右/下/左边框的宽度
inherit 规定从父元素继承border属性的设置
border-radius

border-radius属性是一个简写属性,用于设置四个border-*-radius属性

语法

border-radius: 1-4 length|% / 1-4 length|%;

注释:按此顺序设置每个radii的四个值;如果省略bottom-left,则与top-right相同;如果省略bottom-right,则与top-left相同;如果省略top-right,则与top-left相同

可能的值

描述
length 定义圆角的形状
% 以百分比定义圆角的形状

border-top-left-radius:定义边框左上角的形状;border-top-right-radius:定义边框右上角的形状;border-bottom-left-radius:定义边框左下角的形状;border-bottom-right-radius:定义边框右下角的形状

border-image

设置所有 border-image-* 属性

描述
border-image-source 用在边框的图片的路径
border-image-slice 图片边框向内偏移
border-image-width 图片边框的宽度
border-image-outset 边框图像区域超出边框的量
border-image-repeat 图像边框是否应平铺(repeated)/铺满(rounded)/拉伸(stretched)
box-shadow

box-shadow向框添加一个或多个阴影,该属性是由逗号分隔的阴影列表,每个阴影由2-4个长度值/可选的颜色值/可选的inset关键词来规定,省略长度的值是0

语法

box-shadow: h-shadow v-shadow blur spread color inset;
描述
h-shadow 必需,水平阴影的位置,允许负值
v-shadow 必需,垂直阴影的位置,允许负值
blur 可选,模糊距离
spread 可选,阴影的尺寸
color 可选,阴影的颜色
inset 可选。将外部阴影(outset)改为内部阴影

box属性

overflow-x / overflow-y

规定如果溢出元素内容区域的话,是否对内容的左/右或上/下边缘进行裁剪

语法

overflow-x: visible|hidden|scroll|auto|no-display|no-content;
描述
visible 不裁剪内容,可能会显示在内容框之外
hidden 裁剪内容 - 不提供滚动机制
scroll 裁剪内容 - 提供滚动机制
auto 如果溢出框,则应该提供滚动机制
no-display 如果内容不适合内容框,则删除整个框
no-content 如果内容不适合内容框,则隐藏整个内容

overflow-style

规定溢出元素的首选滚动方法 - 目前浏览器都不支持

语法

overflow-style: auto|scrollbar|panner|move|marquee;
描述
auto
scrollbar 为溢出元素添加滚动条
panner
move 用户能够直接移动元素的内容,通常用户能够用鼠标拖动内容
marquee 内容自主移动,不需任何用户代理对其控制
rotation

rotation属性围绕由rotation-point属性定义的指定点,对块级元素进行逆时针旋转 - 目前浏览器都不支持

语法

rotation: angle;

outline

outline(轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用;可以按顺序设置如下属性:outline-color/outline-style/outline-width

注释:轮廓线不会占据空间,也不一定是矩形;outline简写属性在一个声明中设置所有的轮廓属性

outline-color

outline-color属性设置一个元素整个轮廓中可见部分的颜色;要记住,轮廓的样式不能是none,否则轮廓不会出现;请始终在outline-color属性之前声明outline-style属性,元素只有获得轮廓以后才能改变其轮廓的颜色

outline-color可能的值

描述
color_name 规定颜色值为颜色名称的轮廓颜色(比如 red)
hex_number 规定颜色值为十六进制值的轮廓颜色(比如 #ff0000)
rgb_number 规定颜色值为rgb代码的轮廓颜色(比如 rgb(255,0,0))
invert 默认;执行颜色反转(逆向的颜色),可使轮廓在不同的背景颜色中都可见
inherit 规定应该从父元素继承边框颜色
outline-style

outline-style属性用于设置元素的整个轮廓的样式,样式不能是none,否则轮廓不会出现

outline-style可能的值

描述
none 默认,定义无轮廓
dotted 定义点状的轮廓
dashed 定义虚线轮廓
solid 定义实线轮廓
double 定义双线轮廓,双线的宽度等同于outline-width的值
groove 定义3D凹槽轮廓,其效果取决于outline-color的值
ridge 定义3D凸槽轮廓,其效果取决于outline-color的值
inset 定义3D凹边轮廓,其效果取决于outline-color的值
outset 定义3D凸边轮廓,其效果取决于outline-color的值
inherit 规定应该从父元素继承边框宽度
outline-width

outline-width属性设置元素整个轮廓的宽度,只有当轮廓样式不是none时,这个宽度才会起作用;如果样式为none,宽度实际上会重置为0,不允许设置负长度值

outline-width可能的值

描述
thin 定义细的轮廓
medium 默认,定义中等的轮廓
thick 定义粗的轮廓
length 允许自定义轮廓的宽度
inherit 规定应该从父元素继承边框宽度

color属性

描述
color-profile 允许使用源的颜色配置文件的默认以外的规范
opacity 设置元素的不透明级别
rendering-intent 允许使用颜色配置文件渲染意图的默认以外的规范

Content for Paged Media 属性

描述
bookmark-label 规定书签的标记
bookmark-level 规定书签的级别
bookmark-target 规定书签链接的目标
float-offset 将元素放在float属性通常放置的位置的相反方向
hyphenate-after 规定连字单词中连字符之后的最小字符数
hyphenate-before 规定连字单词中连字符之前的最小字符数
hyphenate-character 规定当发生断字时显示的字符串
hyphenate-lines 指示元素中连续断字连线的最大数
hyphenate-resource 规定帮助浏览器确定断字点的外部资源(逗号分隔的列表)
hyphens 设置如何对单词进行拆分,以改善段落的布局
image-resolution 规定图像的正确分辨率
marks 向文档添加裁切标记或十字标记
string-set

CSS 尺寸属性(Dimension)

width/height

这个属性定义元素内容区的宽度/高度,在内容区外面可以增加内边距/边框/外边距,行内非替换元素会忽略这个属性

可能的值

描述
auto 默认值,浏览器可计算出实际的宽度/高度
length 使用px/cm等单位定义宽度/高度
% 定义基于包含块(父元素)宽度/高度的百分比宽度/高度
inherit 规定应该从父元素继承 width 属性的值

max-width / max-height / min-width / min-height

该属性值会对元素的宽度/高度设置一个最高/最低限制;因此,元素只能处于最大值和最小值之间.不允许指定负值

注释:max-width/max-height/min-width/min-height属性不包括外边距/边框/内边距。

可伸缩框属性(Flexible Box)

box-align / box-pack

语法

box-orient: horizontal|vertical|inline-axis|block-axis|inherit;

box-align属性规定如何对齐框的子元素,实现垂直方向的位置

box-pack属性规定当框大于子元素的尺寸,在何处放置子元素;该属性规定水平框中的水平位置

语法

box-align: start|end|center|baseline|stretch;
描述
start 正常方向的框,每个子元素的上边缘沿着框的顶边放置;反方向的框,每个子元素的下边缘沿着框的底边放置
end 正常方向的框,每个子元素的下边缘沿着框的底边放置;反方向的框,每个子元素的上边缘沿着框的顶边放置
center 均等地分割多余的空间,一半位于子元素之上,另一半位于子元素之下
baseline 如果box-orient是inline-axis或horizontal,所有子元素均与其基线对齐
stretch 拉伸子元素以填充包含块

语法

box-pack: start|end|center|justify;
描述
start 正常方向的框,每个子元素的左边缘沿着框的顶边放置;反方向的框,每个子元素的右边缘沿着框的底边放置
end 正常方向的框,每个子元素的右边缘沿着框的底边放置;反方向的框,每个子元素的左边缘沿着框的顶边放置
center 均等地分割多余的空间,一半位于子元素之前,另一半位于子元素之后
justify 在每个子元素之间分割多余的空间(首个子元素前和最后一个子元素后没有多余的空间)

box-direction

规定框元素的子元素以什么方向来排列

语法

box-direction: normal|reverse|inherit;
描述
normal 以默认方向显示子元素
reverse 以反方向显示子元素
inherit 应该从子元素继承 box-direction 属性的值

box-flex

规定框的子元素的尺寸是否可伸缩

提示:可伸缩元素能够随着框的缩小或扩大而缩写或放大,只要框中有多余的空间,可伸缩元素就会扩展来填充这些空间

语法

box-flex: value;

value:元素的可伸缩行;柔性是相对的,例如box-flex为2的子元素两倍于box-flex为1的子元素

box-flex-group

box-flex-group属性用于向柔性分组分配可伸缩元素

提示:可伸缩元素能够随着框的缩小和扩大而伸缩。

语法

box-flex-group: integer;

integer:一个整数;(第一个柔性分组是1,后面的柔性分组是更大的值)

box-lines

规定如果列超出了父框中的空间,是否要换行显示

提示:默认地,水平框会在单独的行中排列其子元素,而垂直框会在单独的列中排列其子元素

语法

box-lines: single|multiple;
描述
single 所有子元素会被放置在单独的行或列中(无法匹配的元素会被视为溢出)
multiple 允许框扩展为多行,以容纳其所有子元素

box-ordinal-group

规定框中子元素的显示次序,值更低的元素会显示在值更高的元素前面显示

注释:分组值相同的元素,它们的显示次序取决于其源次序

目前没有浏览器支持box-ordinal-group属性;Firefox支持替代的-moz-box-ordinal-group属性,Safari和Chrome支持替代的-webkit-box-ordinal-group属性

语法

box-ordinal-group: integer;

integer:一个整数,指示子元素的显示次序

box-orient

box-orient属性规定框的子元素应该被水平或垂直排列

提示:水平框中的子元素从左向右进行显示,而垂直框的子元素从上向下进行显示;不过,box-direction/box-ordinal-group能够改变这种顺序

语法

box-orient: horizontal|vertical|inline-axis|block-axis|inherit;
描述
horizontal 在水平行中从左向右排列子元素
vertical 从上向下垂直排列子元素
inline-axis 沿着行内轴来排列子元素(映射为 horizontal)
block-axis 沿着块轴来排列子元素(映射为 vertical)
inherit 应该从父元素继承 box-orient 属性的值

字体属性(Font)

font简写属性用于在一个声明中一次设置元素字体的两个或更多方面字体属性;此属性也有第六个值:"line-height",可设置行间距;使用icon等关键字可以适当地设置元素的字体,使之与用户计算机环境中的某个方面一致;注意:如果没有使用这些关键词,至少要指定字体大小和字体系列

可以按顺序设置如下属性:font-style / font-variant / font-weight / font-size/line-height / font-family;可以不设置其中的某个值,比如:font:100% verdana; 也是允许的。未设置的属性会使用其默认值

可能的值

描述
font-style 规定字体样式:normal:默认值,标准字体样式;italic:斜体字体样式;oblique:倾斜字体样式;inherit:从父元素继承字体样式
font-variant 规定字体异体:normal:默认值,标准字体;small-caps:小型大写字母字体;inherit从父元素继承font-variant属性的值
font-weight 规定字体粗细:normal:默认值,标准字符;bold:粗体字符;bolder:更粗字符;lighter:更细字符;100~900:400等同normal,700等同bold;inherit:继承
font-size 规定字体尺寸;xx-small/x-small/small/medium/large/x-large/xx-large:把字体设置为不同尺寸,默认值medium;smaller:设置为比父元素更小的尺寸;large:设置为比父元素更大的尺寸;length:设置为一个固定的值;%:设置为基于父元素的一个百分比值;inherit:规定应该从父元素继承字体尺寸
line-height 规定字体行高;normal:默认,设置合理的行间距;number:设置数字,此数字会与当前的字体尺寸相乘来设置行间距;length:设置固定的行间距;%:基于当前字体尺寸的百分比行间距;inherit:从父元素继承
font-family 规定字体系列;可以使用逗号把多个字体名称作为一个"回退"系统来保存;如果浏览器不支持第一个字体,则会尝试下一个
caption 定义被标题控件(比如按钮/下拉列表等)使用的字体
icon 定义被图标标记使用的字体
menu 定义被下拉列表使用的字体
message-box 定义被对话框使用的字体
small-caption caption 字体的小型版本
status-bar 定义被窗口状态栏使用的字体
font-size-adjust 定义被对话框使用的字体;Internet Explorer 不支持 font-size-adjust 属性
small-caption caption 字体的小型版本
status-bar 定义被窗口状态栏使用的字体
font-stretch 可对当前的font-family进行伸缩变形 ,目前浏览器都不支持

内容生成(Generated Content)

content

与:before/:after伪元素配合使用来插入生成内容,该属性用于定义元素之前/之后放置的生成内容,默认往往是行内内容,不过该内容创建的框类型可以用属性display控制

<style>
a:after{
  content: " (" attr(href) ")"
}
</style>
<p><a href="https://www.w3school.com.cn">W3School</a> contains free tutorials and references.</p>

counter-increment

counter-increment属性设置某个选取器每次出现的计数器增量,默认增量是1;利用这个属性,计数器可以递增/递减某个值,这可以是正值或负值;如果没有提供number值,则默认为1

可能的值

描述
none 默认,选择器无计数器增量
id number id定义将增加计数的选择器/id/class;number定义增量,number可以是正数/零/负数
inherit 规定应该从父元素继承 counter-increment 属性的值

counter-reset

counter-reset属性设置某个选择器出现次数的计数器的值,默认为0;利用这个属性,计数器可以设置或重置为任何值,可以是正值/负值;如果没有提供number,则默认为0

可能的值

描述
none 默认,不能对选择器的计数器进行重置
id number id定义将增加计数的选择器/id/class;number可设置此选择器出现次数的计数器的值,可以是正数/零/负数
inherit 规定应该从父元素继承 counter-increment 属性的值
<style type="text/css">
body {counter-reset:section;}
h1 {counter-reset:subsection;}
h1:before{
  counter-increment:section;
  content:"Section " counter(section) ". ";
}
h2:before{
  counter-increment:subsection;
  content:counter(section) "." counter(subsection) " ";
}
</style>
<h1>HTML tutorials</h1> //Section 1.
<h2>HTML Tutorial</h2> //1.1
<h2>XHTML Tutorial</h2> //1.2
<h2>CSS Tutorial</h2> //1.3
<h1>Scripting tutorials</h1> //Section 2.
<h2>JavaScript</h2> //2.1
<h2>VBScript</h2> //2.2
<h1>XML tutorials</h1> //Section 3.
<h2>XML</h2> //3.1
<h2>XSL</h2> //3.2

quotes

quotes属性设置嵌套引用(embedded quotation)的引号类型

可能的值

描述
none 规定"content"属性的"open-quote"和"close-quote"的值不会产生任何引号
string string string string 定义要使用的引号;前两个值规定第一级引用嵌套;后两个值规定下一级引号嵌套
inherit 规定应该从父元素继承 counter-increment 属性的值
<style type="text/css">
q:lang(en){
  quotes: '"' '"' "'" "'"
}
</style>
<p><q>This is a <q>big</q> quote.</q></p>

引号字符

Result Description Entity Number
" double quote "
' single quote '
< single,left angle quote
> single,right angle quote
« double,left angle quote «
» double,right angle quote »
left quote(single high-6)
right quote(single high-9)
left quote(double high-6)
right quote(double high-9)
double quote(double low-9)

crop

允许被替换元素仅仅是对象的矩形区域,而不是整个对象

move-to

从流中删除元素,然后在文档中后面的点上重新插入

page-policy

确定元素基于页面的occurrence应用于计数器还是字符串值

Grid属性 - 目前没有浏览器支持

属性 描述
grid-columns 规定网格中每个列的宽度
grid-rows 规定网格中每个列的高度

使用网格系统对于打印设计师来说具有巨大的价值,现在相同的改变被应用到在线内容上;网格属性提供了在可伸缩网格中调整标题,文本和图片尺寸和位置的能力

语法

grid-columns/grid-rows: length|%|none|inherit;
描述
length 参考包含块的网格
% 参考包含块的宽度/高度
none
inherit
grid-columns/grid-rows: length|%|none|inherit;

Hyperlink属性 - 目前没有浏览器支持

属性 描述
target 简写属性,设置target-name/target-new/target-position属性
target-name 规定在何处打开链接(链接的目标)
target-new 规定目标链接在新窗口还是在已有窗口的新标签页中打开
target-position 规定在何处放置新的目标链接

列表属性(List)

list-style

该属性是一个简写属性,涵盖了所有其他列表样式属性;由于它应用到所有display为list-item的元素,所以在普通的HTML和XHTML中只能用于li元素,不过实际上它可以应用到任何元素,并由list-item元素继承;可以按顺序设置如下属性:list-style-type/list-style-position/list-style-image;可以不设置其中的某个值,比如:"list-style:circle inside;" 也是允许的。未设置的属性会使用其默认值

list-style-type

设置列表项标记的类型

可能的值

描述
none 无标记
disc 默认,标记是实心圆
circle 标记是空心圆
square 标记是实心方块
decimal 标记是数字
decimal-leading-zero 0开头的数字标记(01,02,03,等)
lower-roman 小写罗马数字(i,ii,iii,iv,v,等)
upper-roman 大写罗马数字(I,II,III,IV,V,等)
lower-alpha 小写英文字母The marker is lower-alpha(a,b,c,d,e,等)
upper-alpha 大写英文字母The marker is upper-alpha(A,B,C,D,E,等)
lower-greek 小写希腊字母(alpha,beta,gamma,等)
lower-latin 小写拉丁字母(a,b,c,d,e,等)
upper-latin 大写拉丁字母(A,B,C,D,E,等)
hebrew 传统的希伯来编号方式
armenian 传统的亚美尼亚编号方式
georgian 传统的乔治亚编号方式(an,ban,gan,等)
cjk-ideographic 简单的表意数字
hiragana 标记是:a,i,u,e,o,ka,ki,等(日文片假名)
katakana 标记是:A,I,U,E,O,KA,KI,等(日文片假名)
hiragana-iroha 标记是:i,ro,ha,ni,ho,he,to,等(日文片假名)
katakana-iroha 标记是:I,RO,HA,NI,HO,HE,TO,等(日文片假名)
<style type="text/css">
ul.none {list-style-type: none}
ul.disc {list-style-type: disc}
ul.circle {list-style-type: circle}
ul.square {list-style-type: square}
ul.decimal {list-style-type: decimal}
ul.decimal-leading-zero {list-style-type: decimal-leading-zero}
ul.lower-roman {list-style-type: lower-roman}
ul.upper-roman {list-style-type: upper-roman}
ul.lower-alpha {list-style-type: lower-alpha}
ul.upper-alpha {list-style-type: upper-alpha}
ul.lower-greek {list-style-type: lower-greek}
ul.lower-latin {list-style-type: lower-latin}
ul.upper-latin {list-style-type: upper-latin}
ul.hebrew {list-style-type: hebrew}
ul.armenian {list-style-type: armenian}
ul.georgian {list-style-type: georgian}
ul.cjk-ideographic {list-style-type: cjk-ideographic}
ul.hiragana {list-style-type: hiragana}
ul.katakana {list-style-type: katakana}
ul.hiragana-iroha {list-style-type: hiragana-iroha}
ul.katakana-iroha {list-style-type: katakana-iroha}
</style>
<ul >
  <li>"none" 类型</li><li>茶</li><li>可口可乐</li>
</ul>
list-style-position

list-style-position属性用于声明列表标志相对于列表项内容的位置;外部(outside)标志会放在离列表项边框边界一定距离处,不过这距离在CSS中未定义;内部(inside)标志处理为好像它们是插入在列表项内容最前面的行内元素一样

可能的值

描述
inside 列表项目标记放置在文本以内,且环绕文本根据标记对齐
outside 默认值;保持标记位于文本的左侧,列表项目标记放置在文本以外,且环绕文本不根据标记对齐
inherit 规定应该从父元素继承 list-style-position 属性的值
list-style-image

list-style-image属性使用图像来替换列表项的标记;这个属性指定作为一个有序或无序列表项标志的图像,图像相对于列表项内容的放置位置通常使用list-style-position属性控制

注释:请始终规定一个"list-style-type"属性以防图像不可用

可能的值

描述
URL 图像的路径
none 默认,无图形被显示
inherit 规定应该从父元素继承list-style-image属性的值
<style type="text/css">
ul{
  list-style-image: url('/i/eg_arrow.gif')
}
</style>
<ul>
  <li>咖啡</li><li>茶</li><li>可口可乐</li>
</ul>

marker-offset

设置或检索标记容器和主容器之间水平补白,即两个容器靠近的一边的间距

语法

marker-offset : auto | length

auto:默认值,浏览器自动设置间距;length:由浮点数字和单位标识符组成的长度值,可为负值

举例:

li:before { display: marker; marker-offset: 5px; }

外边距属性(Margin) / 内边距属性(Padding)

属性 描述
margin 在一个声明中设置所有外边距属性
margin-bottom 设置元素的下外边距
margin-left 设置元素的左外边距
margin-right 设置元素的右外边距
margin-top 设置元素的上外边距
padding 在一个声明中设置所有内边距属性
padding-bottom 设置元素的下内边距
padding-left 设置元素的左内边距
padding-right 设置元素的右内边距
padding-top 设置元素的上内边距

Marquee属性

属性 描述
marquee-direction 设置移动内容的方向
marquee-play-count 设置内容移动多少次
marquee-speed 设置内容滚动得多快
marquee-style 设置移动内容的样式

多列属性(Multi-column)

columns

columns属性是一个简写属性,用于设置列宽和列数

columns: column-width column-count; //列宽 列数

举例

<style> 
.newspaper{
  columns:100px 3;
  -webkit-columns:100px 3; / Safari and Chrome /
  -moz-columns:100px 3; / Firefox /
}
</style>
<div >
人民网北京2月24日电 (记者 刘阳)国家发展改革委近日发出通知,决定自2月25日零时起将汽、柴油价格每吨分别提高300元和290元,折算到90号汽油和0号柴油(全国平均)每升零售价格分别提高0.22元和0.25元。
</div>

column-width

column-width 属性规定列的宽度

column-width: auto|length;

auto:由浏览器决定列宽;length:规定列的宽度

column-count

语法

column-count: number|auto;

number:元素内容将被划分的最佳列数;auto:由其他属性决定列数

column-gap

语法

column-gap: length|normal;

column-gap属性规定列之间的间隔;length:把列间的间隔设置为指定的长度;normal:规定列间间隔为一个常规的间隔,W3C建议的值是1em

注释:如果列之间设置了column-rule,它会在间隔中间显示

column-rule

column-rule属性是一个简写属性,用于设置所有column-rule-*属性;column-rule属性设置列与列之间的宽度/样式/颜色规则

语法

column-rule: column-rule-width column-rule-style column-rule-color;
描述 语法
column-rule-width 设置列之间的宽度规则 column-rule-width: thin:纤细/medium:中等/thick:宽厚/length:规则的数值;
column-rule-style 设置列之间的样式规则 column-rule-style: none/hidden/dotted/dashed/solid/double/groove/ridge/inset/outset;
column-rule-color 设置列之间的颜色规则 column-rule-color: color;
描述
none 定义没有规则
hidden 定义隐藏规则
dotted 定义点状规则
dashed 定义虚线规则
solid 定义实线规则
double 定义双线规则
groove 定义3D grooved规则,该效果取决于宽度和颜色值
ridge 定义3D ridged规则,该效果取决于宽度和颜色值
inset 定义3D inset规则,该效果取决于宽度和颜色值
outset 定义3D outset规则,该效果取决于宽度和颜色值
<style> 
.newspaper{
  -moz-column-count:3; / Firefox /
  -webkit-column-count:3; / Safari and Chrome /
  column-count:3;
  -moz-column-gap:40px; / Firefox /
  -webkit-column-gap:40px; / Safari and Chrome /
  column-gap:40px;
  -moz-column-rule:4px outset #ff0000; / Firefox /
  -webkit-column-rule:4px outset #ff0000; / Safari and Chrome /
  column-rule:4px outset #ff0000;
}
</style>
<div >
人民网北京2月24日电 (记者 刘阳)国家发展改革委近日发出通知,决定自2月25日零时起将汽、柴油价格每吨分别提高300元和290元,折算到90号汽油和0号柴油(全国平均)每升零售价格分别提高0.22元和0.25元。
</div>

column-fill

column-fill属性规定如何填充列(是否进行协调) - 目前主流浏览器都不支持column-fill属性

column-fill: balance|auto;

balance:对列进行协调,浏览器应对列长度的差异进行最小化处理;auto:按顺序对列进行填充,列长度会各有不同

column-span

column-span属性规定元素应横跨多少列

column-span: 1|all;

1:元素应横跨一列;all:元素应横跨所有列

<style> 
.newspaper{
  -moz-column-count:3; / Firefox /
  -webkit-column-count:3; / Safari and Chrome /
  column-count:3;
}
h2{
  -webkit-column-span:all; / Chrome /
  column-span:all;
}
</style>
<div >
<h2>成品油价格25日凌晨上调 汽柴油涨300、290元/吨</h2>
人民网北京2月24日电 (记者 刘阳)国家发展改革委近日发出通知,决定自2月25日零时起将汽、柴油价格每吨分别提高300元和290元,折算到90号汽油和0号柴油(全国平均)每升零售价格分别提高0.22元和0.25元。
</div>

Paged Media属性

属性 描述
fit 示意如何对width和height属性均不是auto的被替换元素进行缩放
fit-position 定义盒内对象的对齐方式
image-orientation 规定用户代理应用于图像的顺时针方向旋转
page 规定元素应该被显示的页面特定类型
size 规定页面内容包含框的尺寸和方向

定位属性(Positioning)

top/bottom/left/right

规定元素的上部/底部/左边/右边边缘,该属性定义了定位元素上/下/左/右外边距边界与其包含块上/下/左/右边界之间的偏移

注释:如果"position"属性的值为"static",那么设置"top/bottom/left/right" 属性不会产生任何效果

对于static元素为auto;对于长度值则为相应的绝对长度,对于百分比数值为指定值,否则为auto;对于相对定义元素,如果bottom和top都是auto,其计算值则都是0;如果其中之一为 auto,则取另一个值的相反数;如果二者都不是auto,bottom将取top值的相反数;left和right同理

可能的值

描述
auto 默认值,通过浏览器计算上部/底部/左边/右边的位置
% 设置以包含元素的百分比计的上部/底部/左边/右边位置,可使用负值
length 使用px/cm等单位设置元素的上部/底部/左边/右边位置,可使用负值
inherit 规定应该从父元素继承top/bottom/left/right属性的值

float

float属性定义元素在哪个方向浮动;在CSS中任何元素都可以浮动,浮动元素会生成一个块级框,而不论它本身是何种元素;如果浮动非替换元素,则要指定一个明确的宽度,否则它们会尽可能地窄

注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止

可能的值

描述
left 元素向左浮动
right 元素向右浮动
none 默认值;元素不浮动,并会显示在其在文本中出现的位置
inherit 规定应该从父元素继承 float 属性的值

clear

clear属性规定元素的哪一侧不允许其他浮动元素

可能的值

描述
left 在左侧不允许浮动元素
right 在右侧不允许浮动元素
both 在左右两侧均不允许浮动元素
none 默认值,允许浮动元素出现在两侧
inherit 规定应该从父元素继承clear属性的值

display

display属性用于定义建立布局时元素生成的显示框类型,对于HTML等文档类型,如果使用display不谨慎可能违反HTML中已经定义的显示层次结构

可能的值

描述
none 此元素不会被显示
block 此元素将显示为块级元素,前后会带有换行符
inline 默认;此元素会被显示为内联元素,前后没有换行符
inline-block 行内块元素
list-item 此元素会作为列表显示
run-in 此元素会根据上下文作为块级元素或内联元素显示
table 此元素会作为块级表格来显示(类似
inline-table 此元素会作为内联表格来显示(类似
table-footer-group 此元素会作为一个或多个行的分组来显示(类似
table-row-group 此元素会作为一个或多个行的分组来显示(类似
table-header-group 此元素会作为一个或多个行的分组来显示(类似
table-row 此元素会作为一个表格行显示(类似
table-column-group 此元素会作为一个或多个列的分组来显示(类似)
table-column 此元素会作为一个单元格列显示(类似)
table-cell 此元素会作为一个表格单元格显示(类似 )
table-caption 此元素会作为一个表格标题显示(类似)
inherit 规定应该从父元素继承display属性的值

visibility

visibility属性规定元素是否可见;即使不可见的元素也会占据页面上的空间,请使用"display"属性来创建不占据页面空间的不可见元素

可能的值

最后更新:2017-11-15 14:05:03

  上一篇:go  双十一遇到的困惑,西方小伙伴表示有同感
  下一篇:go  智能语音推动双11进化:抢红包从动手到张嘴


描述
visible 默认值;元素是可见的
hidden 元素是不可见的
collapse 在表格元素中用时,可删除一行或一列,但它不会影响表格的布局,被行或列占据的空间会留给其他内容使用,在其他的元素上使用会呈现为"hidden"