理解CSS
字节青训营学习笔记 - CSS
CSS是什么
介绍:
CSS(Cascading Style Sheets)是一种用来定义HTML页面的样式的语言
通过其我们可以
-
设置字体和颜色
-
设置位置和大小
-
添加动画效果
-
为不同的设备适配不同的样式
使用CSS
<!-- 外链 -->
<!-- 多个页面通用时使用 -->
<link rel="stylesheet" href="css/style.css">
<!-- 嵌入 -->
<!-- 单页面内多个元素通用时使用 -->
<style>
body {
background-color: #f5f5f5;
}
</style>
<!-- 内联 -->
<!-- 单个元素设置特殊样式时使用 -->
<p style="color: #46A59A;">Hello World</p>
工作流程
选择器
三种方式
-
标签名、类名或ID
-
属性
-
DOM树中的位置
还有一个特殊的选择器: * 统配选择器, 可以选择所有元素
选择器实例
/* id选择器 */
#id {
color: red;
}
/* 类名选择器 */
.class {
color: blue;
}
/* 标签选择器 */
p {
color: green;
}
/* 属性选择器 */
/* 匹配 <input disable/> */
[disabled] {
background-color: #ccc;
}
input[disabled] {
background-color: #ccc;
}
input[type="text"] {
background-color: #ccc;
}
/* herf以#开头 */
a[href^="#"] {
background-color: #ccc;
}
/* herf以.jpg结尾 */
a[href$=".jpg"] {
background-color: #ccc;
}
伪类
当元素属于某个状态时, 可以使用伪类
/* 默认状态 */
a:link{
color: #46A59A;
}
/* 点击之后 */
a:visited {
color: #46A59A;
}
/* 鼠标移入 */
a:hover{
color: #46A59A;
}
/* 鼠标离开 */
a:active {
background-color: #ccc;
}
/* 被选中 */
:focus {
background-color: #ccc;
}
/* 结构伪类 */
/* 第一个子元素 */
:first-child {
background-color: #ccc;
}
/* 最后一个 */
:last-child {
background-color: #ccc;
}
组合(重点)
| 名称 | 语法 | 说明 | 实例 |
|---|---|---|---|
| 直接组合 | AB | 满足A同时也满足B | input:focus |
| 后代组合 | A B | 选择A的子孙B | div a |
| 亲子组合 | A>B | 选择A的子元素B | div>a |
| 兄弟选择器 | A~B | 如果B在A后且同级则选择它 | a~img |
| 相邻选择器 | A+B | 如果B紧跟在A后则选择它 | a+img |
当选择多个时, 通过 , 隔开, 称为选择器组
颜色
三原色
- R: red
- G: green
- B: blue
通过三色可以设置颜色, 数值从0-255
#8fac87 与 rgb(143, 172, 135) 为两种设置颜色的方法,前者为后者三色的值转为16进制后拼接
HSL
通过三方面来区分颜色
- Hue: 色调 颜色(0-360)
- Saturation: 饱和度 越高越鲜艳(0-100)
- Lightness: 亮度 越高颜色越亮(0-100)
使用方式: hsl(0, 100%, 50%)
透明度
rgba(255, 0, 0, 0.5): 透明度为50%的红色
hsla(0, 100%, 50%, 0.6): 透明度为60%的红色
#ff0000ff: 透明度为255的红色
字体
/* 字体族 */
body {
/* 从前往后匹配直到遇到拥有的字体 */
/* sans-serif 为通用字体 无衬线 一定要在最后加一个通用字体族*/
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
使用网络字体
@font-face{
font-family: "MyFont";
src: url("http://example.com/font.woff");
}
body {
font-family: "MyFont", sans-serif;
}
字体样式
大小:
font-size: <font-size> 字体大小
font-size 可以是一个数值加单位, 如 px, em, rem
样式:
font-style: <font-style> 字体样式
normal: 正常italic: 斜体oblique: 倾斜initial: 初始值inherit: 继承
字重:
font-weight: <font-weight> 字体重量, 数值越大越粗
行高:
设置两行文字之间的间距
line-height: <line-height> 行高
组合设置:
body {
/* 斜体 粗细 大小/行高 字体族*/
font: italic bold 1.5em/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif;
}
对齐:
text-align: <text-align> 文字对齐
left: 左对齐right: 右对齐center: 居中justify: 两端对齐initial: 初始值
间距:
letter-spacing: <letter-spacing> 字符间距
word-spacing: <word-spacing> 单词间距
首行缩进:
text-indent: <text-indent> 首行缩进
文字修饰:
text-decoration: <text-decoration> 文字修饰
none: 无修饰underline: 下划线overline: 上划线line-through: 删除线initial: 初始值inherit: 继承
不可见字符处理:
white-space: <white-space> 不可见字符处理
normal: 正常nowrap: 不换行pre: 单词首字母紧靠pre-wrap: 单词首字母紧靠, 其他字符换行pre-line: 单词首字母紧靠, 其他字符不换行initial: 初始值inherit: 继承

浙公网安备 33010602011771号