6、CSS三大特性
6.1 层叠性
如果样式发生冲突,则按照优先级进行覆盖。
6.2 继承性
元素自动继承其父元素、祖先元素所设置的某些元素,优先继承较近的元素。
6.3 优先级
6.3.1 简单分级
- 1、内联样式
- 2、ID选择器
- 3、类选择器/属性选择器
- 4、标签名选择器/伪元素选择器
- 5、通配符选择器/子代选择器
- 6、继承样式
6.3.2 复杂分级
格式:(a, b, c),从左到右依次比较,全部相同则后"来者居上",以后面的属性为主。
字母 含义 a ID选择器的个数 b 类、伪类、属性选择器的个数 c 元素、伪元素选择器的个数
<style>
/* (1, 3, 5) */
div.containter>li div.info a#top1>span:nth-child(1) {
color: red;
}
/* (1, 1, 2) */
a#top1>span:nth-child(1) {
color: green;
}
/* 在属性值后面若有!important,则该属性优先级最高 */
span.title {
color: pink !important;
}
</style>
- 注意:
- 行内样式权重大于所有选择器;
- !important的权重大于所有选择器(包括行内选择器)
7、颜色
7.1 常见颜色写法
<style>
div {
font-size: 50px;
}
/* 以名称定色 */
.one {
color: red;
}
/* 以rgb定色 */
.two {
color: rgb(0, 255, 0);
}
/* 以rgba变色 */
.three {
color: rgb(0, 255, 0, 50%);
}
/* HEX变色 */
.four {
color: #0000ff;
}
/* HEXA变色 */
.five {
color: #0000ff0f;
}
</style>
7.2 色相环
- 颜色分布
<style>
div {
font-size: 50px;
}
/* hs1(色相, 饱和度, 亮度) 角度 饱和度 亮度*/
.one {
color: hsl(180, 100%, 50%);
}
/* hs1a(色相, 饱和度, 亮度, 透明度) 角度 饱和度 亮度 透明度*/
.one {
color: hsla(180, 100%, 50%, 30%);
}
</style>
8、CSS常见属性
8.1 字体属性
8.1.1 字体大小
<style>
/* 调整字体大小为20px */
.one {
font-size: 20px;
}
</style>
- 有时将字体设置的过大或者过小会有个限制,这是浏览器的设置导致的。
8.1.2 字体族
- 查看电脑自带字体,或者下载ttf字体文件
<style>
/* 调整字体大小为20px */
div {
font-size: 20px;
}
.one {
font-family: "楷体";
}
/* 从前到后选择字体,不符合依次向下依赖,都没有则选择默认 */
.two {
font-family: "华文彩云", "微软雅黑";
}
.three {
font-family: "宋体";
}
</style>
8.1.3 字体风格
<style>
/* 调整字体大小为20px */
div {
font-size: 20px;
}
/* 默认 */
.one {
font-style: normal;
}
/* 斜体,使用字体自带的斜体。推荐 */
.two {
font-style: italic;
}
/* 斜体。强制倾斜产生的效果 */
.three {
font-style: oblique;
}
</style>
8.1.4 字体粗细
<style>
/* 加细 */
.one {
font-weight: light;
}
/* 正常 */
.two {
font-weight: normal;
}
/* 加粗 */
.three {
font-weight: bold;
}
/* 加粗再加粗,由于默认字体只有三种粗细,所以和加粗字体粗细一致 */
.four {
font-weight: bolder;
}
/* 以数值控制,还是依赖于字体 */
.five {
font-weight: 100;
}
</style>
8.1.5字体复合属性
<style>
.top1 {
font: bold italic 100px "STCaiyun";
}
</style>
8.2 文本属性
8.2.1 文本颜色
- 使用上面的color属性即可。
8.2.2 文本间距
属性值为px,正值让间距变大,负值让间距变小。
<style>
/* 调整所有字母之间的间距 */
div:nth-child(2) {
letter-spacing: 20px;
}
/* 调整单词之间的距离,以空格为准 */
div:nth-child(3) {
word-spacing: 30px;
}
</style>
8.2.3 文本类型
<style>
/* 设置上划线类型与颜色 */
div:nth-child(1) {
text-decoration: overline dotted red;
}
/* 设置下划线类型与颜色 */
div:nth-child(2) {
text-decoration: line-through wavy blue;
}
/* 设置下划线 */
div:nth-child(3) {
text-decoration: underline;
}
/* 去除下划线 */
a,
ins,
del {
text-decoration: none;
}
</style>
8.2.4 文本缩进
- text-indent: 距离; 属性值为CSS的长度单位。例如px。
8.2.5 文本对齐
- 水平对齐
<style>
/* 左对齐 */
div:nth-child(1) {
text-align: left;
}
/* 居中对齐 */
div:nth-child(2) {
text-align: center;
}
/* 右对齐 */
div:nth-child(3) {
text-align: right;
}
</style>
- 垂直对齐
vertical-align:用于指定同一行元素之间,或表格单元格内文字的垂直对齐方式。(不能控制块元素)
常用值:
- baseline:默认值,使元素的基线与父元素的基线对齐;
- top:使元素的顶部与其所在行的顶部对齐;
- middle:使元素的中部与父元素的基线加上父元素字母x的一半对齐;
- bottom:使元素的底部与其所在行的底部对齐。
<style>
* {
font-size: 40px;
}
/* 只对单行文字生效 */
/* 1、顶部对齐,默认即为顶部对齐 */
/* 2、居中对齐,height=line-height */
/* div {
background-color: aqua;
height: 80px;
line-height: 80px;
} */
/* 3、底部对齐line-height=(height×2)-font-size -x,x的值依据字体族的大小而定 */
div {
background-color: aqua;
height: 60px;
line-height: 50px;
}
</style>
8.2.6 文本行高
<style>
/* 默认行高 */
/* div {
line-height: normal;
} */
/* 直接写行高像素大小 */
/* div {
line-height: 60px;
} */
/* 1.5倍行高 */
/* div {
line-height: 1.5;
} */
/* 默认行高的150% */
div {
line-height: 150%;
}
</style>
注意事项:
- line-height过小文字会产生重叠,最小值为0,不能为负数;
- line-height可以继承,最好采用倍数写法
- line-height等于height可以实现文字的垂直居中,但并不是绝对的垂直居中。
8.3 各类元素的属性
8.3.1 列表
<style>
ul {
/* 去除列表前面的符号 */
list-style-type: none;
/* 将列表元素放入外部 */
list-style-type: outside;
/* 自定义列表符号 */
list-style-image: url(../imgs/加载环.gif);
/* 复合属性 */
list-style: decimal inside url(../imgs/加载环.gif);
}
</style>
8.3.2 表格
- 表格边框:
除了表格边框,其他元素边框也可如此书写。
如:
div {
border: 2px aqua solid;
}
<style>
table {
/* 控制表格边框宽度 */
/* border-width: 2px; */
/* 控制表格边框颜色 */
/* border-color: aqua; */
/* 控制表格边框风格 */
/* border-style: dashed; */
/* 复合写法 */
border: 2px aqua solid;
}
th,
td {
border: 2px orange solid;
}
</style>
- 表格特有属性,即只有table可以使用
<style>
table {
border: 1px blue solid;
/* 自动设置列宽度,默认 */
/* table-layout: auto; */
/* 平均分割表格 */
table-layout: fixed;
/* 设置单元格之间的间距,在不合并的前提下生效 */
border-spacing: 10px;
/* 合并单元格的边框 */
border-collapse: collapse;
/* 隐藏没有内容的单元框 */
empty-cells: hide;
/* 设置表格标题的位置 */
caption-side: top;
}
th,
td {
border: 1px orange solid;
}
</style>
8.3.3 背景
background | 功能 | 属性值 |
---|---|---|
background-attachment | 背景图像是否固定或者随着页面的其余部分滚动。 | scroll:默认值。背景图片随着页面的滚动而滚动,相对于元素本身固定,而不是随着它的内容滚动; fixed:此关键属性值表示背景相对于视口固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动; local:背景相对于元素的内容固定。如果一个元素拥有滚动机制,背景将会随着元素的内容滚动,同时背景图图片随着页面的滚动而滚动。 |
background-color | 设置元素的背景颜色。 | 设置背景颜色,默认背景颜色为transparent。 |
background-image | 把图像设置为背景。 | 通过url设置背景照片。 |
background-position | 设置背景图像的起始位置。 | 关键字设置: 水平:left、center、right; 垂直:top、center、bottom; 若只写一个值,则另一方向默认为center 通过长度: 以元素左上角为原点,只写一个值y取center、另一个值为x |
background-repeat | 设置背景图像是否及如何重复。 | 水平:left、center、right; repeat-x:只在水平方向重复; repeat-y:只在垂直方向重复; no-repeat:不重复。 |
background | 复合属性。 | 没有顺序要求。 |
8.3.4 鼠标
属性名 | 功能 | 常见属性值 |
---|---|---|
cursor | 设置鼠标光标的样式。 | pointer:手; move:移动图标; text:文字选择器; crosshair:十字架; wait:等待图标; help:帮助。 |
<style>
div {
height: 400px;
width: 400px;
background-color: aqua;
cursor: wait;
}
</style>
// 除了使用官方提供的图标,还可以自己使用图标设置
cursor: url(./arrow.png), pointer;