CSS學(xué)習(xí)筆記
一、CSS選擇器
0.通配符
通配符是全局的設(shè)定的CSS樣式,也就是設(shè)置了之后整個(gè)界面都會(huì)采用的樣式。
<style>
*{color: red;}
</sytle>
<body>
<div>我是div</div>
</body>
1.標(biāo)簽選擇器
標(biāo)簽選擇器就是選擇html對(duì)應(yīng)的標(biāo)簽名字,然后設(shè)定CSS樣式。
<style>
div {
color : red
}
</style>
<body>
<div>我是div標(biāo)簽</div>
</body>
這就是一個(gè)典型的標(biāo)簽選擇器,在style中設(shè)置div的標(biāo)簽的CSS樣式。
2.類選擇器
類選擇器就是設(shè)置一個(gè)類名,然后通過(guò).類名來(lái)進(jìn)行設(shè)置。
<style>
.high {
color: red;
}
</style>
<body>
<div class="high">我是div標(biāo)簽2</div>
</body>
class里面輸入的是類名,使用類選擇器,要使用.跟上類名來(lái)定義這個(gè)類CSS。
3.id選擇器
id選擇器就是使用id=""來(lái)定義,但是設(shè)置CSS那邊,要使用#來(lái)進(jìn)行標(biāo)記。
id選擇器只能有一個(gè),如果設(shè)置多個(gè),就會(huì)無(wú)法使用
<style>
#test {
color: red;
}
</style>
<body>
<div id="test">我是div標(biāo)簽2</div>
</body>
4.并聯(lián)選擇器
并聯(lián)選擇器顧名思義就是或選擇器,中間用,號(hào)進(jìn)行隔開,表示只要滿足相關(guān)的,都采用下面的CSS的樣式。
<style>
div, .high {
color: red;
}
</style>
<body>
<div>我是div標(biāo)簽1</div>
<div class="high">我是div標(biāo)簽2</div>
<p>我是段落標(biāo)簽</p>
</body>
這邊代碼意思是只要是div標(biāo)簽或者是high類的都會(huì)執(zhí)行相應(yīng)的css樣式。
5.復(fù)合選擇器
復(fù)合選擇相當(dāng)于與運(yùn)算,只有同時(shí)滿足這2個(gè)條件,才會(huì)添加CSS樣式。
<style>
div.high {
background-color: green
}
</style>
<body>
<div>我是div標(biāo)簽1</div>
<div class="high">我是div標(biāo)簽2</div>
<p>我是段落標(biāo)簽</p>
</body>
這段代碼意思就是滿足是div標(biāo)簽,同時(shí)滿足class為high才會(huì)添加背景顏色這個(gè)CSS樣式。
6.后臺(tái)選擇器
后代選擇器的意思就是一個(gè)標(biāo)簽里面包含的其他標(biāo)簽就會(huì)采用這種CSS樣式。用空格來(lái)劃分。
<style>
div p {
background-color: blue;
}
</style>
<body>
<div>
<p>我是div標(biāo)簽里面的p標(biāo)簽1</p>
<span>
<p>我是div標(biāo)簽里面的span標(biāo)簽里面的P標(biāo)簽</p>
</span>
</div>
</body>
這段代碼的意思是div標(biāo)簽里面的p標(biāo)簽就要采用CSS的樣式。
7.直接繼承標(biāo)簽
所謂的直接繼承就是父與子的關(guān)系, 比方說(shuō)div標(biāo)簽里面有一個(gè)p標(biāo)簽,那這個(gè)p標(biāo)簽就是div標(biāo)簽的直接繼承標(biāo)簽,如果div標(biāo)簽里面有一個(gè)span標(biāo)簽,span標(biāo)簽里面有一個(gè)p標(biāo)簽,那么就不符合直接繼承的關(guān)系。直接繼承標(biāo)簽用>來(lái)連接
注意:如果div標(biāo)簽里面包含一個(gè)div標(biāo)簽,里面的div標(biāo)簽包含一個(gè)p標(biāo)簽,那么也滿足直接繼承關(guān)系
<style>
div > p {
background-color: blue;
}
</style>
<body>
<div>
<p>我是div標(biāo)簽里面的p標(biāo)簽1</p>
<span>
<p>我是div標(biāo)簽里面的span標(biāo)簽里面的P標(biāo)簽</p>
</span>
<div>我是div標(biāo)簽2
<p>我是p標(biāo)簽2</p>
</div>
</div>
</body>
8.相鄰兄弟選擇器
所謂的相鄰兄弟選擇器XX+YY,用+號(hào)來(lái)表示,表示與XX相鄰的YY所使用的CSS樣式。
注意點(diǎn):如果XX里面包含YY則不會(huì)觸發(fā),YY無(wú)論是在XX上面還是XX下面都是相鄰
<style>
div + span {
border: 10px groove red;
}
</style>
<body>
<span>我是div的兄弟span</span>
<div>我是div</div>
<span>我是div的兄弟span</span>
<p>我是span的兄弟p</p>
</body>
9.屬性選擇器
所謂的屬性選擇器,就是在標(biāo)簽中添加屬性,通過(guò)屬性來(lái)定位到該標(biāo)簽設(shè)置CSS的樣式。
<style>
span[name] {
font-size: 40px;
}
span[name][age] {
color: red;
}
span [name="YY"] {
background-color: yellow;
}
</style>
<body>
<span name="xx">我是屬性選擇器的span1</span><br>
<span name="xx" age="20">我是屬性選擇器span2</span>
<span name="YY">我是屬性選擇span3</span>
</body>
10.偽類和偽元素
偽類和偽元素就是指在特定的事件觸發(fā)的時(shí)候,調(diào)用的CSS的樣式,用:號(hào)來(lái)表示。

偽元素和偽類一樣:

<style>
input:focus {
outline: none;
width: 500px;
height: 300px;
}
</style>
<body>
<input placeholder="請(qǐng)輸入">
</body>
11.importtant
important的在任何選擇器中使用!important進(jìn)行標(biāo)記,然后強(qiáng)制使用該css樣式。
<style>
*{
color: blue !important;
font-size: 40px;
}
div{
color: red;
font-size: 20px;
}
</style>
<body>
<div>你好,世界</div>
</body>
本來(lái)采用的CSS樣式應(yīng)該是div的css,但是因?yàn)樯厦鎐olor被important修飾了,因此顏色是紅色。
二、CSS選擇器的優(yōu)先級(jí)
==選擇器的針對(duì)性越強(qiáng),優(yōu)先級(jí)越高==
有關(guān)CSS選擇器的優(yōu)先級(jí),這里需要知道權(quán)值這個(gè)概念,權(quán)值越高,優(yōu)先級(jí)越高。

==選擇器的權(quán)值進(jìn)行相加,越大的越優(yōu)先,如果權(quán)值相同,則使用就近原則。==
==優(yōu)先級(jí)排序:
important > 行內(nèi)css > id > 類 | 偽類 | 屬性選擇 | 偽元素 > 通配符 > 繼承==
三、HTML標(biāo)簽的類型
HTML的標(biāo)簽分為3種類型:
- 塊級(jí)標(biāo)簽:
- 獨(dú)占一行;
- 可以改變寬度和高度;
- 行內(nèi)標(biāo)簽
- 多個(gè)標(biāo)簽?zāi)芡瑫r(shí)顯示在同一行,不能改變寬度和高度;
- 行內(nèi)-塊級(jí)標(biāo)簽
- 多個(gè)標(biāo)簽?zāi)芡瑫r(shí)顯示在同一行;
- 可以改變寬度和高度
為了滿足開發(fā)需要,提供了一個(gè)屬性來(lái)隨時(shí)更改標(biāo)簽的類型->display,這個(gè)屬性有3個(gè)值:block -> 塊級(jí)標(biāo)簽,inline -> 行內(nèi)標(biāo)簽,inline-block -> 行內(nèi)-塊級(jí)標(biāo)簽,none -> 隱藏標(biāo)簽。
通過(guò)設(shè)置display的值,可以隨時(shí)改變標(biāo)簽類型,滿足開發(fā)的需要。
四、CSS屬性
1.CSS屬性可繼承和不可繼承
CSS的屬性分為可以繼承和不可繼承。繼承就是父類標(biāo)簽的屬性傳遞給子類屬性,通常文字控制類的屬性可以傳遞,區(qū)塊控制的屬性不可傳遞。
- 可繼承屬性:
<style>
body{
color: red;
font-size: 40px;
}
</style>
<body>
<div>我是div標(biāo)簽</div>
<p> 我是p標(biāo)簽</p>
</body>
設(shè)置body的CSS樣式,div和p都是繼承自body,因此顏色和文字大小都得到了改變。
- 不可繼承屬性:
<style>
#main{
background-color: red;
width: 500px;
height: 100px
}
.inline{
background-color: green;
width: 100px;
}
</style>
<body>
<div id="main">
<div class="inline">我是內(nèi)部的div標(biāo)簽</div>
</div>
</body>
main里面的屬性因?yàn)閷儆趬K控制的屬性,因此沒(méi)法繼承給下面div標(biāo)簽。