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份 |
参考: