这里主要介绍理论知识,并没有特别介绍某种属性的用法
一、css的引入方式
1. 行内式
<div style="..."></div>
这种方式优先级较高,但是在实际应用的时候不建议这么写,因为css比较多的时候代码会很乱,不好维护
2. 内嵌式
<head>
<style>...</style>
</head>
将style标签写在head里,在.vue文件中常使用这种写法
3. 外链式
<head>
<link rel="stylesheet" href="...">
</head>
引入外部css文件,保证html和css单独在各自的文件中
4. 导入式
在一个css文件中引入另一个css文件,用@import "css文件路径" 或 @import url("css文件路径")的方式引入,很少用到
二、css选择器
1. 基本选择器:
- 标签选择器:标签名{...},例:span{...}
- 类选择器:.类名{},例:
<div class="box"></div>,在css中写.box{...} - id选择器:#id名{},例:
<div id="box"></div>,在css中写#box{...}
id选择器具有唯一性,在同一文件中,id名不能重复。class名可以重复,但不能以数字作为开头,也不能用中文
2. 优先级
各选择器权重不同,在不同选择器作用于同一标签时,哪个选择器权重大就会应用哪个的样式,标签选择器权重为1,类选择器为10,id选择器为100。
其实还有其他的,比如行内样式和!importent,我个人的代码习惯一般不会用到这两种写法,在这里不一一总结了。
3. 其他选择器
- 后代选择器:可以选所有后代,用空格隔开,例如要选择div下所有的p,即可写成div p{...}
- 子代选择器:只能选择子级元素,用>隔开
- 并集选择器:给多个标签设置相同样式,用逗号隔开,例如div,p{...}
- 交集选择器:可增加权重,例如选择div标签中类名叫box的元素,即可写成div.box{...},不能写成.boxdiv{...}
- 类型选择器:例如input[type=text]{...}
- 伪类选择器::hover表示鼠标经过时的样式;:focus表示input获取光标时的样式
- 通配符选择器:*{...},表示选择所有标签
4. 继承
可继承是指,有自己的样式,用自己的,没有自己的,继承父级的,而且是离自己最近的父级,继承的样式权重为0.1
可继承的样式:
- 行内元素可继承:letter-spacing, word-spacing, white-space, line-hight, color, font, font-family, font-size, font-style, font-weight, text-decoration, text-transfrom, direction
- 块级元素可继承:text-indent, text-align
- 列表元素可继承:list-style