和 HTML 的标签类似,CSS 功能的实现是通过属性来完成的。同样 CSS3 有非常多的属性,据说一共有 259 个属性 (由于这个问题中提到的 CSS 属性是参考这个网站的,我统计了下,目前一共有 274 个了) 。如此多的属性,如果不将其分类组织,恐怕是很难记住的,当然,要记住这些属性没有比亲自动手写代码更为有效的了。不过,为了方便日后查询,还是整理如下:
1. 样式
1.1 背景(9 个属性),背景主要是两种:颜色或图片。
a) 颜色,设置背景颜色的属性只有一个就是:background-color,属性后面的值可以是颜色名、RGB 颜色值或十六进制颜色值,如:
body {
background-color:yellow; // 颜色名
}
h1 {
background-color:rgb(255,0,255); // RGB 颜色值
}
p {
background-color:#00ff00; // 十六进制颜色值
}
b) 图片,除了设置背景为图片这一属性外,针对图片还有这些属性:设置图片的开始位置,是否重复背景图片,设置背景图片的尺寸等。属性对应如下:
| CSS 图片属性 |
描述 |
| background-image |
设置元素的背景图像 |
| background-position |
设置背景图像的开始位置 |
| background-repeat |
设置是否及如何重复背景图像 |
| background-size |
规定背景图片的尺寸 |
| background-attachment |
设置背景图像是否固定或者随着页面的其余部分滚动 |
| background-clip |
规定背景的绘制区域 |
| background-origin |
规定背景图片的定位区域 |
除了分别设置颜色或图片属性外,background 还可以一次性设置所有属性。如:
body {
background: #00FF00 url(bgimage.gif) no-repeat fixed top;
}
1.2 文本(23 个),针对文本我们可以设置文本的颜色(后面会将字体单独当作一个分类),对齐方式,行高,装饰文本,文本间距等属性。对应的属性如下:
| CSS 文本属性 |
描述 |
| color |
设置文本的颜色 |
| direction |
规定文本的方向 / 书写方向 |
| letter-spacing |
设置字符间距 |
| line-height |
设置行高 |
| text-align |
规定文本的水平对齐方式 |
| text-decoration |
规定添加到文本的装饰效果 |
| text-indent |
规定文本块首行的缩进 |
| text-shadow |
规定添加到文本的阴影效果 |
| text-transform |
控制文本的大小写 |
| unicode-bidi |
设置文本方向 |
| white-space |
规定如何处理元素中的空白 |
| word-spacing |
设置单词间距 |
| hanging-punctuation |
规定标点字符是否位于线框之外 |
| punctuation-trim |
规定是否对标点字符进行修剪 |
| text-align-last |
设置如何对齐最后一行或紧挨着强制换行符之前的行 |
| text-emphasis |
向元素的文本应用重点标记以及重点标记的前景色 |
| text-justify |
规定当 text-align 设置为 "justify" 时所使用的对齐方法 |
| text-outline |
规定文本的轮廓 |
| text-overflow |
规定当文本溢出包含元素时发生的事情 |
| text-shadow |
向文本添加阴影 |
| text-wrap |
规定文本的换行规则 |
| word-break |
规定非中日韩文本的换行规则 |
| word-wrap |
允许对长的不可分割的单词进行分割并换行到下一行 |
比如设置文本对齐方式为居中:
h1 {text-align:center}
1.3 字体 (8个)
| CSS 字体属性 |
描述 |
| font |
在一个声明中设置所有字体属性 |
| font-family |
规定文本的字体系列 |
| font-size |
规定文本的字体尺寸 |
| font-size-adjust |
为元素规定 aspect 值 |
| font-stretch |
收缩或拉伸当前的字体系列 |
| font-style |
规定文本的字体样式 |
| font-variant |
规定是否以小型大写字母的字体显示文本 |
| font-weight |
规定字体的粗细 |
1.4 链接 (4 个)
| CSS 链接属性 |
描述 |
| target |
简写属性,设置target-name、target-new以及target-position属性 |
| target-name |
规定在何处打开链接(链接的目标) |
| target-new |
规定目标链接在新窗口还是在已有窗口的新标签页中打开 |
| target-position |
规定在何处放置新的目标链接 |
1.5 列表 (4个)
| CSS 列表属性 |
描述 |
| list-style |
在一个声明中设置所有的列表属性 |
| list-style-image |
将图象设置为列表项标记 |
| list-style-position |
设置列表项标记的放置位置 |
| list-style-type |
设置列表项标记的类型 |
1.6 表格 (25个)
| CSS 表格属性 |
描述 |
| border-collapse |
规定是否合并表格边框 |
| border-spacing |
规定相邻单元格边框之间的距离 |
| caption-side |
规定表格标题的位置 |
| empty-cells |
规定是否显示表格中的空单元格上的边框和背景 |
| table-layout |
设置用于表格的布局算法 |
| column-count |
规定元素应该被分隔的列数 |
| column-fill |
规定如何填充列 |
| column-gap |
规定列之间的间隔 |
| column-rule |
设置所有 column-rule-* 属性的简写属性 |
| column-rule-color |
规定列之间规则的颜色 |
| column-rule-style |
规定列之间规则的样式 |
| column-rule-width |
规定列之间规则的宽度 |
| column-span |
规定元素应该横跨的列数 |
| column-width |
规定列的宽度 |
| columns |
规定设置 column-width 和 column-count 的简写属性 |
| box-align |
规定如何对齐框的子元素 |
| box-direction |
规定框的子元素的显示方向 |
| box-flex |
规定框的子元素是否可伸缩 |
| box-flex-group |
将可伸缩元素分配到柔性分组 |
| box-lines |
规定当超出父元素框的空间时,是否换行显示 |
| box-ordinal-group |
规定框的子元素的显示次序 |
| box-orient |
规定框的子元素是否应水平或垂直排列 |
| box-pack |
规定水平框中的水平位置或者垂直框中的垂直位置 |
| grid-columns |
规定网格中每个列的宽度 |
| grid-rows |
规定网格中每个列的高度 |
1.7 盒子模型 (46个),综合起来主要属性有:margin, padding, border, outline 这四种,每一种又分:上、下、左、右,宽度、以及颜色和样式。所以,这些属性的细分属性一下就变得很多。
| CSS 盒子模型属性 |
描述 |
| margin |
所有外边距属性 |
| margin-bottom |
设置元素的下外边距 |
| margin-left |
设置元素的左外边距 |
| margin-right |
设置元素的右外边距 |
| margin-top |
设置元素的上外边距 |
| padding |
设置所有内边距属性 |
| padding-bottom |
设置元素的下内边距 |
| padding-left |
设置元素的左内边距 |
| padding-right |
设置元素的右内边距 |
| padding-top |
设置元素的上内边距 |
| border |
设置所有的边框属性 |
| border-bottom |
设置所有的下边框属性 |
| border-bottom-color |
设置下边框的颜色 |
| border-bottom-style |
设置下边框的样式 |
| border-bottom-width |
设置下边框的宽度 |
| border-color |
设置四条边框的颜色 |
| border-left |
设置所有的左边框属性 |
| border-left-color |
设置左边框的颜色 |
| border-left-style |
设置左边框的样式 |
| border-left-width |
设置左边框的宽度 |
| border-right |
设置所有的右边框属性 |
| border-right-color |
设置右边框的颜色 |
| border-right-style |
设置右边框的样式 |
| border-right-width |
设置右边框的宽度 |
| border-style |
设置四条边框的样式 |
| border-top |
设置所有的上边框属性 |
| border-top-color |
设置上边框的颜色 |
| border-top-style |
设置上边框的样式 |
| border-top-width |
设置上边框的宽度 |
| border-width |
设置四条边框的宽度 |
| outline |
设置所有的轮廓属性 |
| outline-color |
设置轮廓的颜色 |
| outline-style |
设置轮廓的样式 |
| outline-width |
设置轮廓的宽度 |
| border-bottom-left-radius |
定义边框左下角的形状 |
| border-bottom-right-radius |
定义边框右下角的形状 |
| border-image |
设置所有 border-image-* 属性 |
| border-image-outset |
规定边框图像区域超出边框的量 |
| border-image-repeat |
图像边框是否应平铺(repeated)、铺满(rounded)或拉伸(stretched) |
| border-image-slice |
规定图像边框的向内偏移 |
| border-image-source |
规定用作边框的图片 |
| border-image-width |
规定图片边框的宽度 |
| border-radius |
设置所有四个 border-*-radius 属性 |
| border-top-left-radius |
定义边框左上角的形状 |
| border-top-right-radius |
定义边框右下角的形状 |
| box-shadow |
向方框添加一个或多个阴影 |
1.8 定位 (14 个)
| CSS 定位属性 |
描述 |
| bottom |
设置定位元素下外边距边界与其包含块下边界之间的偏移 |
| clear |
规定元素的哪一侧不允许其他浮动元素 |
| clip |
剪裁绝对定位元素 |
| cursor |
规定要显示的光标的类型(形状) |
| display |
规定元素应该生成的框的类型 |
| float |
规定框是否应该浮动 |
| left |
设置定位元素左外边距边界与其包含块左边界之间的偏移 |
| overflow |
规定当内容溢出元素框时发生的事情 |
| position |
规定元素的定位类型 |
| right |
设置定位元素右外边距边界与其包含块右边界之间的偏移 |
| top |
设置定位元素的上外边距边界与其包含块上边界之间的偏移 |
| vertical-align |
设置元素的垂直对齐方式 |
| visibility |
规定元素是否可见 |
| z-index |
设置元素的堆叠顺序 |
1.9 动画 (30 个)
| CSS 动画属性 |
描述 |
| @keyframes |
规定动画 |
| animation |
所有动画属性的简写属性,除了 animation-play-state 属性 |
| animation-name |
规定 @keyframes 动画的名称 |
| animation-duration |
规定动画完成一个周期所花费的秒或毫秒 |
| animation-timing-function |
规定动画的速度曲线 |
| animation-delay |
规定动画何时开始 |
| animation-iteration-count |
规定动画被播放的次数 |
| animation-direction |
规定动画是否在下一周期逆向地播放 |
| animation-play-state |
规定动画是否正在运行或暂停 |
| animation-fill-mode |
规定对象动画时间之外的状态 |
| transform |
向元素应用 2D 或 3D 转换 |
| transform-origin |
允许你改变被转换元素的位置 |
| transform-style |
规定被嵌套元素如何在 3D 空间中显示 |
| perspective |
规定 3D 元素的透视效果 |
| perspective-origin |
规定 3D 元素的底部位置 |
| backface-visibility |
定义元素在不面对屏幕时是否可见 |
| transition |
简写属性,用于在一个属性中设置四个过渡属性 |
| transition-property |
规定应用过渡的 CSS 属性的名称 |
| transition-duration |
定义过渡效果花费的时间 |
| transition-timing-function |
规定过渡效果的时间曲线 |
| transition-delay |
规定过渡效果何时开始 |
| overflow-x |
如果内容溢出了元素内容区域,是否对内容的左/右边缘进行裁剪 |
| overflow-y |
如果内容溢出了元素内容区域,是否对内容的上/下边缘进行裁剪 |
| overflow-style |
规定溢出元素的首选滚动方法 |
| rotation |
围绕由 rotation-point 属性定义的点对元素进行旋转 |
| rotation-point |
定义距离上左边框边缘的偏移点 |
| marquee-direction |
设置移动内容的方向 |
| marquee-play-count |
设置内容移动多少次 |
| marquee-speed |
设置内容滚动得多快 |
| marquee-style |
设置移动内容的样式 |
以上参考:
https://blog.csdn.net/qq_16546829/article/details/81979142
https://developer.mozilla.org/zh-CN/docs/Web/CSS/Reference
https://www.w3school.com.cn/css/css_classification.asp
https://tinyshare.cn/post/Amvf6H0TNkc
https://www.quackit.com/css/properties/