1. CSS
层叠样式表: Cascading Style Sheets,定义如何显示html元素
CSS规则: 选择器{属性: 值; 属性: 值;}
CSS注释: /*在这里写注释说明*/
2. 选择器
#元素id | 用元素的id属性来设置 | |
.className | 用html的class属性来设置 | |
p.className | p元素,且class="className" | |
div p | 后代选择器(空格分隔): div内的所有p | 基于关系 |
div>p | 子元素选择器(>分隔): div的直接子元素 | |
div+p | 相邻兄弟选择器(+分隔): 与div同父且紧跟div的p | |
div~p | 后续兄弟选择器(~分隔): 与div同父且在div后的p | |
div:first-child | 是第一个儿子的div first-child类似于形容词 | 伪类:表示特定状态 |
a:link | a链接未点击时 | |
a:hover | 鼠标移到a上时 |
3. 伪类 为选择器添加一些特殊效果
语法 1. 选择器:伪类{属性:值} 2. 选择器.类:伪类{属性:值}、
a:link/visited/hover/active | 链接:未访问过/访问过/移到到链接/正在活动 |
p:befor/after | 在元素前/后插入内容 |
p:first-child/last-child/nth-child(2) | 作为其它元素第1个/最后1个/第2个子元素的p |
p:first-letter/first-line | p的第一个字母/行 |
4. 样式表 可对一个元素设置多次样式,多重样式会层叠为一个,优先级从1->3降低
<body style="background-color:Black"></body> | 1. 内联样式 |
<head> <style> body {background-color:Black;} </style> </head> |
2. 内部样式表 |
<head> <link rel="stylesheet" type="text/css" href="mystyle.css"> </head> |
3. 外部样式表 |
5. 盒子模型 所有html元素可看作盒子,元素从外到内为: 外边距,轮廓,边框,内填充,和实际内容。
margin | 外边距: 与其父元素的间距,透明 |
outline:2px black solid |
轮廓: 位于边框边缘外围的线 |
border | 围绕在内边距和内容外的边框 |
padding | 内填充: 内容与边框的间距 |
content | 内容: 显示数据 |
margin:10px(上) 10px(右) 10px(下) 10px(左); 按序设置外边距的大小,这个顺序是从上开始顺时针画一个框
6. 位置
position |
定位方式,取值如下 |
position:absolute; |
与文档流无关,不占据空间 |
top,right,bottom,left | 元素外边距与相应边的偏移量(相对的元素与position有关) |
float:left/right/none | 元素尽量向左或向右移动,浮动元素后的元素才会受影响, |
clear:left/right/none/both | 要求元素某一侧不能出现浮动元素 |
text-align:left/right/center/justify | 文本对齐方式: 左/右/居中/自动调整间距靠到两端 |
background-position:left right | 背景设置开始的位置x(left/right/center) y(top/bottom/center) |
7. 颜色
color | 文本颜色 |
background-color | 背景颜色 |
border-color | 边框颜色 |
outline-color | 轮廓颜色 |
text-decoration-color | 文字横线(下划、删除)颜色 |
background: linear-gradient(方向/角度,颜色1,颜色2,...); |
方向: to bottom、to top、to right、to left、to bottom right |
8. 显示方式
display |
none: 不显示(不占空间) |
visibility |
visible: 可见 |
9. 图片设置
background-image:url("1.jpg") | 设置背景图片 |
border: 30px solid transparent; |
border:边框 |
list-style-image:url('1.jpg'); |
列表标记的图片 |
boder-image原理:
把图片用4条线切割成9宫格。每个格子与边框位置一一对应。9宫格的中间部分是透明的,空的。若image-width大于border宽度,多余部分可延伸到内容的空间
10. 图像处理
filter:滤镜属性(效果大小) |
blur(2)高斯模糊为2 |
opacity:0.2 |
指定不透明度 |
background:url(1.jpg) 0 0; |
图像拼合技术,从图的某个位置开始截取一部分 |
图像变换
transform:roate(30deg); |
transform: 变形转换属性。 |
transform:rotateX(30deg) | 3D转换方法,沿X轴3D旋转 |
div{ |
transition: 过渡,从一种样式转变到另一个时, |
div{ |
animation: 动画名称 持续时长 |
11. 间距
letter-spacing | 字母间距 |
word-spacing:30px; | 单词间距 |
border-collapse:separate; border-spacing:10px 50px; |
表格中相邻单元格的边框间距离 |
white-space |
指定元素内的空白怎样处理 |
12. 大小
width(宽) + padding(内边距) + border(边框) = 实际宽度 |
|
background-size: 80px 60px; | 背景大小 |
font-size:10px | 字体大小 |
overflow:auto; |
需设置overflow |
box-sizing:content-box|border-box |
指定width/height设置的目标为内容盒子|边框盒子 |
13. 分列
column-count:3; |
column将元素分成多列(栏)显示 |
14. 单位
p{font-size: 10px;} | |
div{font-size:10px;} p{font-size: 1.5em;} |
p的字体大小 1.5*p的最近父元素的font-size |
p{font-size: 1.5rem;} | 针对根元素html |
p{font-size: 8vm;} p{font-size: 8vh;} |
vm/vh把视口的宽和高分成100份 |
参考: