- css全称
层叠样式表
(Cascading Style Sheets) - css位置_行内样式
<div style="color:red;font-size:20px;">行内样式</div>
- css位置_内部样式
<head>
<meta charset="UTF-8">
<title>css内部样式</title>
<style>
div {
width: 100px;
height: 100px;
border: 1px solid red;
}
</style>
</head>
- css位置_外部样式
<head>
<meta charset="UTF-8">
<title>外部样式</title>
<link rel="stylesheet" href="./xx.css">
</head>
//rel是relation(关系)简称
- css位置_样式表优先级
行内样式 > 内部样式 = 外部样式
内部样式和外部样式出现样式重复,后引入的会覆盖前面的,同一个样式表中样式重复,后者覆盖前者 - css语法规范
选择器和声明块之间最好有空格;
属性名和属性值之间最好有空格;
css中的注释/**/
- css代码风格_展开风格
开发时使用
h1 {
width: 200px;
height: 100px;
}
- css代码风格_紧凑风格
上线时使用,一般通过打包工具生成,减小体积,打开网页更快
h1{width:200px;height:100px;}
- css基本选择器_通配选择器
选中页面所有html原素,一般清除原素默认样式使用
* {}
- css基本选择器_原素选择器
选中页面所有这一类原素设置样式
标签名 {}
- css基本选择器_类选择器
根据class值,选择某些原素
<style>
.a {}
.b {}
</style>
<div class="a b"></div>
//一个标签内class属性不能写多个
- css基本选择器_id选择器
根据id值,选中某个原素
<style>
#x {}
</style>
<div id="x"></div>
- css组合选择器_交集选择器
<style>
div.d {}
</style>
<div class="d"></div>
- css组合选择器_并集选择器
<style>
.class1,
.class2 {}
</style>
<div class="class1"></div>
<div class="class2"></div>
- css元素关系
表1:
关系类型 | 含义 |
---|
父元素 | 直接包含某个元素的元素,就是该元素父原素 |
子原素 | 被父原素直接包含的元素 |
祖先原素 | 父亲的父亲……,一直向外找,都是祖先,父原素算祖先原素一种 |
后代原素 | 儿子的儿子……,一直向内找,都是后代,子原素算后代原素一种 |
兄弟原素 | 具有相同父原素的原素互为兄弟原素 |
- css组合选择器_后代选择器
<style>
.class1 .class2 h1{}
</style>
<div class="class1">
<div class="class2">
<h1></h1>
</div>
</div>
- css组合选择器_子代选择器
<style>
div.class1 > h1{}
</style>
<div class="class1">
<h1></h1>
</div>
- css组合选择器_相邻兄弟选择器
<style>
div+p {}
</style>
<p></p>
<div>相邻兄弟选择器</div>
<p></p>
<p></p>
- css组合选择器_通用兄弟选择器
<style>
div~p {}
</style>
<p></p>
<div>通用兄弟选择器</div>
<p></p>
<p></p>
- css组合选择器_属性选择器
<style>
[title] {}
[title="abc"] {}
[title^="a"] {}
[title$="c"] {}
[title*="ab"] {}
</style>
<div title="abc"></div>
- css组合选择器_伪类选择器概念
是原素特殊状态一种描述 - css组合选择器_动态伪类选择器
<style>
a:link {}
a:visited {}
a:hover {}
a:active {}
input:focus,select:focus {}
</style>
<a href="">
<input type="text">
<select>
<option vale="a">A</option>
<option value="b">B</option>
</select>
- css组合选择器_结构伪类选择器(常用)
<style>
div>p:first-child {}
div p:first-child {}
p:first-child {}
div>p:last-child {}
div>p:nth-child(n) {}
div>p:first-of-type {}
div>p:last-of-type {}
div>p:nth-of-type(){}
</style>
<div title="structure1">
<p>p1</p>
<p>p2</p>
<p>p3</p>
</div>
<div title="structure2">
<marquee>
<p>p1</p>
</marquee>
<p>p2</p>
<p>p3</p>
</div>
<p>p1</p>
<div title="structure3">
<p>p2</p>
<marquee>
<p>p3</p>
<p>p4</p>
</marquee>
<p>p5</p>
</div>
表2:
n的值 | 含义 |
---|
2n+1或odd | 奇数 |
2n或even | 偶数 |
-n+3 | 选中前三个 |
大于1正整数 | 选中第几个子原素 |
n | 选中所有子元素,几乎不用 |
0或不写 | 什么都不选,几乎不用 |
- css组合选择器_结构伪类选择器(不常用)
<style>
div>p:nth-last-child() {}
div>p:nth-last-of-type() {}
span:only-child {}
span:only-of-type {}
:root {}
div:empty {}
</style>
- css组合选择器_否定伪类选择器
<style>
div>p:not(:nth-child(2)) {}
</style>
<div>
<p></p>
<p></p>
<p></p>
</div>
- css组合选择器_UI伪类选择器
<style>
input:checked {}
input:disabled {}
input:enabled {}
</style>
<input type="checkbox">
<input type="radio">
<input type="text" disabled>
<input type="text">
- css组合选择器_目标伪类选择器
<style>
div:targent {}
</style>
<a href="#class1">
<div id="class1"></div>
- css组合选择器_语言伪类选择器
<style>
div:lang(en) {}
:lang(en) {}
</style>
<div lang="en">abc</div>
- css组合选择器_伪原素选择器
选中原素中的一些特殊位置,css3中规范伪原素要用::
<style>
div::first-letter {}
div::first-line {}
div::selection {}
input::placeholder {}
p::before {
content:"¥";
}
p::after {
content:"¥";
}
</style>
- css简单选择器优先级
!important > 行内样式 > id选择器 > 类选择器 > 原素选择器 >通配选择器 > 继承的样式
- css复杂选择器优先级
权重计算格式:(a,b,c)
a
: id选择器个数;
b
: 类、伪类、属性选择器个数;
c
: 原素、伪原素选择器个数;
两个复杂选择器a、b、c顺次比较,哪个个数多,哪个权重大。 - css选择器权重查看
在开发工具中,鼠标放到选择器上看Specificity
属性 - css三大特性
特性 | 含义 |
---|
层叠性 | 如果发生样式冲突,根据选择器权重,进行样式覆盖 |
继承性 | 原素会自动拥有其父原素或祖先原素的某些样式 ,浏览器控制台Inherited from xx 可以看继承信息 |
优先级 | !important > 行内样式 > id选择器 > 类选择器 > 原素选择器 >通配选择器 > 继承的样式` |