css選擇器

css選擇器有幾種

id選擇器,類選擇器,元素選擇器,派生選擇器,屬性選擇器,分組選擇器.通用選擇器*
比較好的選擇器分類是:
1.基礎(chǔ)選擇器(通用選擇器*,id選擇器#id,類選擇器.class,標(biāo)簽選擇器element,)
2.組合選擇器(分組選擇器E,F,后代選擇器E F,子元素選擇器E>F,直接相鄰選擇器E+F,普通相鄰選擇器E~F,).class1.class2,element#id
3.屬性選擇器
4.偽類選擇器
5.偽元素選擇器

選擇器的優(yōu)先級是怎樣的?

css樣式的優(yōu)先級
從高到低分別是
1.在屬性后面使用 !important會覆蓋頁面內(nèi)任何位置定義的元素樣式
2.作為style屬性寫在元素標(biāo)簽上的內(nèi)聯(lián)樣式
3.id選擇器
4.類選擇器
5.偽類選擇器
6.屬性選擇器
7.標(biāo)簽選擇器
8.通配符選擇器
9.瀏覽器自定義

class 和 id 的使用場景?

id知識:
在一個網(wǎng)頁里ID只能使用一次。當(dāng)然即使一個id在一個網(wǎng)頁內(nèi)被使用多次,其CSS樣式仍然可以實現(xiàn)生效,但是一般規(guī)定W3C標(biāo)準(zhǔn)是使用一次。因為ID在html里可以賦予html標(biāo)簽特殊的屬性如一下JS動作、表單傳值等特性所以區(qū)別于一個class可以使用多少的次,而一個CSS 命名的id只能使用一次避免一些特定動作、傳的表單值的兼容性特性錯誤即使沒有其它JS腳本動作、表單傳值特性但是我們也一定執(zhí)行一個頁面只能使用一次。一般id用于頁面唯一的結(jié)構(gòu)布置,
class知識:
與CSS ID不同特性是clsss類可以在一個網(wǎng)頁內(nèi)無限次引用。
Class 選擇器定義以“.”來定義。定義css class選擇器例子:.yangshi1{color:#F00;} 定義文字為紅色.yangshi2{font-size:28px;}定義文字大小為18px

使用CSS選擇器時為什么要劃定適當(dāng)?shù)拿臻g?

網(wǎng)頁中功能相似的模塊可能較多,比如導(dǎo)航,導(dǎo)航可能有頁面主導(dǎo)航,側(cè)邊欄導(dǎo)航,甚至頁腳導(dǎo)航,一般導(dǎo)航使用class類選擇器寫樣式,這時導(dǎo)航就不能單純的使用nav做class命名,要寫做main-nav,sidebar-nav,footer-nav,這樣不會造成樣式的污染.

以下選擇器分別是什么意思?

#header{} 選擇id為header的元素
.header{}  選擇元素中class有header的元素
.header .logo{} 選擇class為header元素下有class為logo的元素
.header.mobile{} 選擇同時有class為header和mobile的元素
.header p, .header h3{} 分別選擇class有header且header下有p和h3的元素
#header .nav>li{}  選擇id為header 下class有nav下的li元素
#header a:hover{} 選擇id為header 下的a鏈接hover狀態(tài)

列出你知道的偽類選擇器

a鏈接的四個偽類 link visited hover active
:firdst-child ,:first-of-type

:first-child和:first-of-type的作用和區(qū)別

E:first-child

說明:

匹配父元素的第一個子元素E。

要使該屬性生效,E元素必須是某個元素的子元素,E的父元素最高是body,即E可以是body的子元素
這里可能存在誤解:

示例代碼:

<ul>
    <li>列表項一</li>
    <li>列表項二</li>
    <li>列表項三</li>
    <li>列表項四</li>
</ul>

在上述代碼中,如果我們要設(shè)置第一個li的樣式,那么代碼應(yīng)該寫成li:first-child{sRules}
,而不是ul:first-child{sRules}
。

來看這樣一段代碼:

示例代碼:

p:first-child{color:#f00;}

<div>
    <p>我是一個p</p>
</div>

我是一個p

這段代碼你能看到p元素被命中變成了紅色

假設(shè)將代碼簡單地修改一下:

示例代碼:

p:first-child{color:#f00;}

<div>
    <h2>我是一個標(biāo)題</h2>
    <p>我是一個p</p>
</div>

只是在p前面加了一個h2標(biāo)簽,你會發(fā)現(xiàn)選擇器失效了,沒有命中p,why?

E:first-child選擇符,E必須是它的兄弟元素中的第一個元素,換言之,E必須是父元素的第一個子元素。與之類似的偽類還有E:last-child
,只不過情況正好相反,需要它是最后一個子元素。

E:first-of-type
說明:
匹配同類型中的第一個同級兄弟元素E。
要使該屬性生效,E元素必須是某個元素的子元素,E的父元素最高是html,即E可以是html的子元素,也就是說E可以是body
該選擇符總是能命中父元素的第1個為E的子元素,不論第1個子元素是否為E

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>結(jié)構(gòu)性偽類選擇符 E:first-of-type_CSS參考手冊_web前端開發(fā)參考手冊系列</title>
<meta name="author" content="Joy Du(飄零霧雨), dooyoe@gmail.com, www.doyoe.com" />
<style>
p:first-of-type {
    color: #f00;
}
</style>
</head>
<body>
<div class="test">
    <div>我是一個div元素</div>
    <p>我是一個p元素</p>
    <p>我是一個p元素</p>
</div>
</body>
</html>

運行如下代碼,解析下輸出樣式的原因。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>first-child  vs first-of-child</title>
  <style>
    /*選中.item1,該元素是它父親的第一個孩子*/
    .item1:first-of-type{
      background: red;
    }
    
    /*選中.item1,該元素是它父親所有的 .item1孩子中的第一個*/
    .item1:first-child{
      color: blue;
    }
  </style>
</head>
<body>

 <div class="item1">item1</div>
 <div class="item1">ct-item2-item1</div>
 <div class="ct">
   <div class="item2">ct-item2</div>
   <div class="item1">ct-item1</div>
   <div class="item1">ct-itmm1</div>
   <div class="item2">

     <div class="item1">ct-item2-item1</div>
     <div class="item1">ct-item2-item1</div>
   </div>
 </div>
</body>
</html>

.item1:first-of-type,選擇器匹配屬于其父元素的有item1類名的首個子元素而不論item1是否為父元素的第一個子元素
.item1:first-child 選擇器用于選取屬于其父元素的有item1的所有首個子元素的

text-align: center的作用是什么,作用在什么元素上?能讓什么元素水平居中

將文本或inline-block元素水平居中

如果遇到一個屬性想知道兼容性,在哪查看?

can i use

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.class 和 id 的使用場景? class:類選擇器,一個標(biāo)簽可以有多個類且同一個類可以用到不同的標(biāo)簽上,...
    饑人谷_兔子君閱讀 1,277評論 0 0
  • 一、CSS選擇器常見的有幾種? 基本選擇器 通配選擇器~選擇文檔中所有的html元素,用一個*表示 元素選擇器~選...
    dengpan閱讀 1,030評論 0 3
  • 1.class 和 id 的使用場景? 兩者都能選取DOM節(jié)點并給DOM節(jié)點添加樣式,但是W3C標(biāo)準(zhǔn)里規(guī)定頁面中只...
    饑人谷_米彌輪閱讀 505評論 0 1
  • class 和 id 的使用場景? class 和 id 有什么區(qū)別 class是設(shè)置標(biāo)簽的類, class屬性用...
    蕭雪圣閱讀 326評論 0 0
  • 1.class 和 id 的使用場景? 當(dāng)頁面中某元素的樣式并不獨有,或與其他元素共用一個樣式時,可以為該元素指定...
    Feiyu_有貓病閱讀 1,039評論 0 0

友情鏈接更多精彩內(nèi)容