CSS selector

  • CSS選擇器常見的有幾種?
    • 元素選擇器旅择,p {}
    • 后代選擇器,p a {}
    • id選擇器预麸,#header {}
    • 類選擇器瞪浸,.clearfix {}
    • 子選擇器,p>a {}
    • 同胞選擇器
      • 相鄰?fù)x擇器吏祸,p+p {}
      • 一般同胞選擇器对蒲,p~p {}
        .p1+p {
        color: red;
        }
        .p2~p {
        color: blue;
        }
        同胞選擇器
    • 通配符選擇器钩蚊,* {}
    • 屬性選擇器
      • [attr],屬性名attr的元素
      • [attr=value]蹈矮,屬性名為attr砰逻,屬性值為"value"的元素
      • [attr~=value],以空格做分隔符泛鸟,其中一個(gè)值為"value"的元素
      • [attr|=value]蝠咆,以"value"-開頭的元素("-"為連字符),常用于zh-CN,zh-TW
      • [attr^=value]北滥,以"value"開頭的元素
      • [attr$=value]刚操,以"value"結(jié)尾的元素
      • [attr*=value],含有"value"的元素
      • [attr operator value i]再芋,忽略屬性值大小寫
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        [lang~="en-us"] {
            color: red;
        }
        [lang|="zh"] {
            color: blue;
        }
    </style>
</head>
<body>
        <a href="#">English:</a>
        <span lang="en-us en-gb en-au en-nz">Hello World!</span><br>
        <a href="#">Portuguese:</a>
        <span lang="pt">Olá Mundo!</span><br>
        <a href="#">Chinese (Simplified):</a>
        <span lang="zh-CN">世界您好菊霜!</span><br>
        <a href="#">Chinese (Traditional):</a>
        <span lang="zh-TW">世界您好!</span><br>
</body>
</html>
屬性選擇器
- 偽類選擇器济赎,`a:hover {}`
  偽類選擇器表示的是原本存在的元素鉴逞,相當(dāng)于給這些元素加上一個(gè)類,在CSS3中用":"和 "::"區(qū)分偽類和偽元素司训,但是一般瀏覽器兩種方式都兼容
- 偽元素選擇器构捡,`p::first-letter {}`
  偽元素選擇器表示的是原本不存在的元素,相當(dāng)于加上一個(gè)元素壳猜,注意:`::after`和`::before`中的content的屬性叭喜,該屬性的值有:
    - <string>,文本內(nèi)容
    - <uri> url()蓖谢,外部資源(比如圖片)捂蕴,如果該資源不能顯示,它就會(huì)被忽略或顯示一些占位
    - attr(x)闪幽,將元素的X屬性以字符串形式返回
    - open-quote|close-quote啥辨,引號(hào)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .bd::before {
           content: "(我是前面的字符串)";
        }

        .bd::after {
            content: "(" attr(href) ")";
        }

        .jrg::before {
            content: url(http://upload-images.jianshu.io/upload_images/2348761-f10b477e82e5ac19.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240);
        }
        
        q::before {
            content: open-quote;
        }

        q::after {
            content: close-quote;
        }
    </style>
</head>
<body>
    <a  class="bd">百度</a><br>
    <a href="http//jirengu.com" class="jrg">饑人谷</a><br>
    <q>我是引用</q>
</body>
</html>
content屬性
  • 選擇器的優(yōu)先級(jí)是怎樣的?
    • 整體遵循下列三條規(guī)則
      • 選擇器越精確,優(yōu)先級(jí)越高
      • 優(yōu)先級(jí)相同的情況下盯腌,后面的樣式會(huì)覆蓋前面的樣式
      • !important的優(yōu)先級(jí)最高
    • 選擇器權(quán)重
      選擇器權(quán)重

      理解起來就是一個(gè)內(nèi)聯(lián)元素的權(quán)重是1000溉知,一個(gè)id選擇器的權(quán)重是100,類選擇器腕够、偽類選擇器和屬性選擇器是10级乍,元素選擇器和偽元素選擇器是1,最后通配符選擇器是0帚湘,所以最后一樣選擇器權(quán)重的值就是按照這個(gè)公式計(jì)算value=a*1000+b*100+c*10+d*1
      參考:Specificity Calculator
  • class 和 id 的使用場(chǎng)景?
    id表示的是頁面上獨(dú)一無二的玫荣,是不可重復(fù)的,而class表示的是一類大诸。
    • 當(dāng)我們需要為一類元素指定樣式時(shí)就使用class
    • 當(dāng)我們需要為元素做出單獨(dú)的標(biāo)記的時(shí)候就是用id
  • 使用CSS選擇器時(shí)為什么要?jiǎng)澏ㄟm當(dāng)?shù)拿臻g捅厂?
    • 為了代碼的可讀性
    • 為了代碼的易維護(hù)性
  • 以下選擇器分別是什么意思?
    /id為header的元素/
    #header{
    }
    /class為header的元素/
    .header{
    }
    /class為header后代中的class為logo的元素/
    .header .logo{
    }
    /class為header和mobile的元素/
    .header.mobile{
    }
    /class為header后代中的p元素和class為header后代的h3元素
    .header p, .header h3{
    }
    /
    id為header后代中class為nav子代中的li元素
    #header .nav>li{
    }
    /*id為header后代中的a元素的偽類hover
    #header a:hover{
    }
  • 列出你知道的偽類選擇器
    • :link贯卦,默認(rèn)狀態(tài)下的鏈接
    • :visited,點(diǎn)擊過的鏈接
    • :hover焙贷,鼠標(biāo)懸浮上去的鏈接
    • :focus撵割,tab焦距上去的鏈接
    • :active,鼠標(biāo)按下去的鏈接
    • :first-child辙芍,first-child代表了某個(gè)元素啡彬,這個(gè)元素是它父元素的的第一個(gè)子元素.
    • :first-of-type,匹配元素的所有子元素類型中第一個(gè)出現(xiàn)的元素
  • :first-child:first-of-type的作用和區(qū)別
    • 兩種用法
      • 第一種和后代選擇器組合起來故硅,div :first-childdiv :first-of-stype,注意父元素和偽類之間加了空格外遇,表示的是父元素的后代中的第一個(gè)子元素或者子元素中某個(gè)類型的第一個(gè)第一個(gè)
      • 第二種和元素選擇器一起使用,p:first-childp:first-of-stype契吉,分別表示的是p元素而且他父元素下的第一個(gè)的那個(gè)元素和所有p類型的第一個(gè)
    • 區(qū)別是,如果只和元素選擇器配合起來用诡渴,p:first-child必須是父元素下的第一個(gè)捐晶,而p:first-ot-type則不需要,只要是p標(biāo)簽中的第一個(gè)就可以
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div :first-of-type {
            background-color: lime;
        }
    </style>
</head>
<body>
    <div>
        <span>This span is first!</span>
        <span>This span is not. :(</span>
        <span>what about this <em>nested element</em>?</span>
        <strike>This is another type</strike>
        <span>Sadly, this one is not...</span>
    </body>
</html>
:first-of-type
  • 運(yùn)行如下代碼妄辩,解析下輸出樣式的原因惑灵。
<style>
.item1:first-child{ color: red;}
.item1:first-of-type{ background: blue;}
</style> 
<div class="ct"> 
<p class="item1">aa</p>
<h3 class="item1">bb</h3> 
<h3 class="item1">ccc</h3> 
</div>
1. `<p class="item1">aa</p>`是其父元素下的第一個(gè)子元素,所以`.item1:first-child{ color: red;}`生效了眼耀。
2. `.item1:first-child{ color: red;}`和`<h3 class="item1">bb</h3> `分別是父元素下其類型元素的第一個(gè)英支,所以`.item1:first-of-type{ background: blue;}`生效了。
  • text-align: center的作用是什么哮伟,作用在什么元素上干花?能讓什么元素水平居中

The text-align CSS property describes how inline content like text is aligned in its parent block element. text-align does not control the alignment of block elements, only their inline content.---MDN

text-align: center的作用在塊級(jí)元素上,他的作用是讓行內(nèi)元素相對(duì)與他的父元素居中顯示

  • 如果遇到一個(gè)屬性想知道兼容性楞黄,在哪查看?
    caniuse或者MDN
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末池凄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鬼廓,更是在濱河造成了極大的恐慌肿仑,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碎税,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)冀值,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門溯乒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人匪煌,你說我怎么就攤上這事荔泳〗侗” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵玛歌,是天一觀的道長(zhǎng)昧港。 經(jīng)常有香客問我,道長(zhǎng)支子,這世上最難降的妖魔是什么创肥? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮值朋,結(jié)果婚禮上叹侄,老公的妹妹穿的比我還像新娘。我一直安慰自己昨登,他們只是感情好趾代,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丰辣,像睡著了一般撒强。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上笙什,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天飘哨,我揣著相機(jī)與錄音,去河邊找鬼琐凭。 笑死芽隆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的统屈。 我是一名探鬼主播胚吁,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼愁憔!你這毒婦竟也來了囤采?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤惩淳,失蹤者是張志新(化名)和其女友劉穎蕉毯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體思犁,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡代虾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了激蹲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棉磨。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖学辱,靈堂內(nèi)的尸體忽然破棺而出乘瓤,到底是詐尸還是另有隱情环形,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布衙傀,位于F島的核電站抬吟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏统抬。R本人自食惡果不足惜火本,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望聪建。 院中可真熱鬧钙畔,春花似錦、人聲如沸金麸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挥下。三九已至揍魂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間见秽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工讨盒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留解取,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓返顺,卻偏偏與公主長(zhǎng)得像禀苦,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子遂鹊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理振乏,服務(wù)發(fā)現(xiàn),斷路器秉扑,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139
  • 1.CSS選擇器常見的有幾種? 詳情請(qǐng)見teren的技術(shù)博客:CSS選擇器與優(yōu)先級(jí)淺析 2.選擇器的優(yōu)先級(jí)是怎樣的...
    犯迷糊的小羊閱讀 460評(píng)論 1 1
  • 1.CSS選擇器常見的有幾種慧邮?選擇器的優(yōu)先級(jí)怎樣? 詳情請(qǐng)點(diǎn)擊Peter的web前端技術(shù)博客 2.class和Id...
    Sheldon_Yee閱讀 612評(píng)論 0 0
  • 一舟陆、CSS選擇器常見的有幾種? 基本選擇器 通配選擇器~選擇文檔中所有的html元素误澳,用一個(gè)*表示 元素選擇器~選...
    dengpan閱讀 962評(píng)論 0 3
  • 其實(shí)平時(shí)用得多的選擇器無非也就是那么幾個(gè),時(shí)間久了秦躯,許多不常用的選擇器就慢慢忘記了忆谓。為了不讓自己忘記這些選擇器,今...
    盛夏晚清風(fēng)閱讀 1,830評(píng)論 0 5