整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS語法具體有哪三部分組成?CSS選擇器屬性與值的繼承和層疊!

          SS(層疊樣式表)是一種用于控制網頁樣式的語言,由選擇器、屬性和值三部分組成。選擇器用于指定要樣式化的元素,屬性用于指定樣式,值用于定義樣式的具體屬性值。CSS支持繼承和層疊,可以使網頁樣式更加精確地控制,同時也能夠提高代碼的可讀性和可維護性。

          CSS(層疊樣式表)語法由以下三個部分組成:

          1、選擇器(Selectors):選擇器指定了要應用樣式的HTML元素。選擇器可以基于元素的標簽名、類、ID、屬性和關系等方式進行指定。

          2、屬性(Properties):屬性指定了要應用到選定元素的樣式。每個屬性都有一個對應的值。

          3、值(Values):值指定了要應用到選定元素的屬性的具體樣式。例如,屬性“color”可以具有值“red”或“#FF0000”。

          這些部分組成了CSS規則,例如以下規則:

          p {

          color: red;

          font-size: 16px;

          }

          在這個規則中,選擇器是“p”,屬性是“color”和“font-size”,值是“red”和“16px”。

          CSS規則可以單獨應用到一個元素上,也可以通過選擇器應用到一組元素上。例如,下面的規則將所有<p>元素的顏色設置為紅色:

          p {

          color: red;

          }

          如果想要只應用到某個類別的<p>元素,可以使用類選擇器:

          p.my-class {

          color: blue;

          }

          這將只會將顏色設置為藍色的具有my-class類的<p>元素,其他<p>元素不受影響。

          除了基本的選擇器和屬性,CSS還提供了許多其他功能,例如媒體查詢、偽類、偽元素、盒模型等等。這些功能使得CSS能夠更加靈活、強大,從而可以更好地控制頁面的樣式。

          CSS還支持繼承和層疊,這是CSS的兩個重要概念。

          繼承(Inheritance)指的是當元素沒有顯式設置某個屬性時,它可以繼承來自父元素的屬性。例如,如果沒有為某個段落設置顏色,那么它會繼承父元素的顏色屬性。繼承可以簡化CSS的編寫,減少了代碼量,同時也能夠保持一致的樣式。

          層疊(Cascading)指的是當多個規則同時應用到同一個元素時,它們的樣式如何疊加。層疊的順序按照以下三個優先級:

          1、樣式表來源的優先級,即內聯樣式(Inline Style)優先級最高,其次是嵌入樣式表(Embedded Style Sheet),最后是外部樣式表(External Style Sheet)。

          2、元素的特殊性(Specificity)優先級,特殊性值越大的選擇器越優先。

          3、代碼順序的優先級,后出現的規則覆蓋前面的規則。

          通過繼承和層疊,CSS可以使頁面的樣式更加精確地控制,同時也能夠提高代碼的可讀性和可維護性。

          ss選擇器

          CSS選擇器是CSS規則的第一部分

          它是元素和其他部分組合起來告訴瀏覽器哪個HTML元素應當是被選為應用規則中的CSS屬性值的方式

          選擇器所選擇的元素,叫做“選擇器的對象”

          我們從一個Html結構開始

          <div id="box">
              <div class="one">
                  <p class="one_1">
                  </p >
                  <p class="one_1">
                  </p >
              </div>
              <div class="two"></div>
              <div class="two"></div>
              <div class="two"></div>
          </div>

          關于css屬性選擇器常用的有:

          • id選擇器(#box),選擇id為box的元素
          • 類選擇器(.one),選擇類名為one的所有元素
          • 標簽選擇器(div),選擇標簽為div的所有元素
          • 后代選擇器(#box div),選擇id為box元素內部所有的div元素
          • 子選擇器(.one>one_1),選擇父元素為.one的所有.one_1的元素
          • 相鄰同胞選擇器(.one+.two),選擇緊接在.one之后的所有.two元素
          • 群組選擇器(div,p),選擇div、p的所有元素

          還有一些使用頻率相對沒那么多的選擇器:

          • 偽類選擇器
          :link :選擇未被訪問的鏈接
          :visited:選取已被訪問的鏈接
          :active:選擇活動鏈接
          :hover :鼠標指針浮動在上面的元素
          :focus :選擇具有焦點的
          :first-child:父元素的首個子元素
          • 偽元素選擇器
          :first-letter :用于選取指定選擇器的首字母
          :first-line :選取指定選擇器的首行
          :before : 選擇器在被選元素的內容前面插入內容
          :after : 選擇器在被選元素的內容后面插入內容
          • 屬性選擇器
          [attribute] 選擇帶有attribute屬性的元素
          [attribute=value] 選擇所有使用attribute=value的元素
          [attribute~=value] 選擇attribute屬性包含value的元素
          [attribute|=value]:選擇attribute屬性以value開頭的元素

          CSS3中新增的選擇器有如下:

          • 層次選擇器(p~ul),選擇前面有p元素的每個ul元素
          • 偽類選擇器
          :first-of-type 表示一組同級元素中其類型的第一個元素
          :last-of-type 表示一組同級元素中其類型的最后一個元素
          :only-of-type 表示沒有同類型兄弟元素的元素
          :only-child 表示沒有任何兄弟的元素
          :nth-child(n) 根據元素在一組同級中的位置匹配元素
          :nth-last-of-type(n) 匹配給定類型的元素,基于它們在一組兄弟元素中的位置,從末尾開始計數
          :last-child 表示一組兄弟元素中的最后一個元素
          :root 設置HTML文檔
          :empty 指定空的元素
          :enabled 選擇可用元素
          :disabled 選擇被禁用元素
          :checked 選擇選中的元素
          :not(selector) 選擇與 <selector> 不匹配的所有元素
          • 屬性選擇器
          [attribute*=value]:選擇attribute屬性值包含value的所有元素
          [attribute^=value]:選擇attribute屬性開頭為value的所有元素
          [attribute$=value]:選擇attribute屬性結尾為value的所有元素

          選擇器

          示例

          說明

          class

          .test{color: red}

          選擇class="test"的標簽

          id

          #test{color:red}

          選擇id="test"的標簽

          element

          p{color: red}

          選擇所有 p 標簽

          element, element

          div, p {}

          選擇所有div和p

          后代
          element element

          ul li {border: 1px solid red;}

          選擇ul的所有li后代(包括兒子 孫子 重孫...)

          :link

          a:link {color: black;}

          選擇所有未訪問鏈接

          :visited

          a:visited {color: red;}

          選擇所有訪問過的鏈接

          :hover

          a:hover {color: #fff}

          鼠標懸浮觸發

          :active

          a:active {background: yellow;}

          選擇活動鏈接(按住鼠標不松開觸發)
          (注:在CSS定義中,:active必須位于:hover之后?。?/p>

          :first-letter

          h1:first-letter{font-size: 200%}

          選擇h1中以第一個字

          :first-line

          p:first-line {background: yellow}

          選擇每個<p>元素的第一行

          版本 2

          選擇器

          示例

          說明

          *

          * {padding: 0;}

          選擇所有標簽

          父子element>element

          .list > li {border: 1px solid red;}

          選擇class="list"的所有兒子li

          兄弟element+element

          h1+p {color: red}

          在h1后面選一個p兄弟

          屬性
          [attribute]

          [type] {display: block;}

          選擇帶有 type 屬性的標簽

          屬性等于
          [attribute=value]

          [type=text] {display: block;}

          選擇type屬性值為text的標簽

          屬性包含
          [attribute~=value]

          [eyes~=小眼睛] {display:none}

          選擇所有eyes屬性包含小眼睛的元素
          (<span eyes="單眼皮 小眼睛">)

          [attribute|=word]

          [eyes|="小眼睛"]
          (常與attribute^=value混淆)

          選擇eyes屬性為小眼睛開頭的元素;
          這個值必須是完整的單詞(或者后面跟著連字符" - ")
          如:eyes="小眼睛-李榮浩"

          :focus

          input:focus{backgroundr:yellow;}

          選擇具有焦點的輸入元素

          大兒子
          element:first-child

          h1:first-child{color: red}

          選擇一個h1標簽并且是其父元素的第一個元素
          (h2:first-child 不會選中,因為h2是二兒子)

          :before

          span:before

          在每個<span>元素之前插入內容

          :after

          span:after

          在每個<span>元素之后插入內容

          版本 3

          選擇器

          示例

          說明

          酒場兄弟
          element1~element2

          h1~p {color: red}

          版本2的只能選一個兄弟,版本3能選h1后面所有p兄弟

          屬性開頭
          [attribute^=value]

          [name^="李"]{border: 1px solid red;}

          選擇所有name屬性以‘李’開頭的元素,^ 類似正則

          屬性結尾
          [attribute$=value]

          img[src$=".png"]{width: 100%}

          選擇src 為 .png 結尾的 img 元素
          (切記element后面不要帶空格)

          屬性包含
          [attribute*=value]

          [name*="李"]{width: 100%}

          選擇所有name屬性包含‘李’開頭的元素

          :first-of-type

          li:first-of-type{}

          選擇所有li并且是其父元素的第一個

          :last-of-type

          li:last-of-type{}

          選擇所有li并且是其父元素的最后一個

          :only-of-type

          h2:only-of-type{}

          選擇一個h2并且它是唯一一個
          (h1:only-of-type 不會選中因為不是唯一)

          :only-child

          h2:only-child{}

          選擇一個h2并且是其父元素的獨子
          (div1 生了4個所以選不了他的h2)

          :nth-child(n)

          div:nth-child(1){}

          選擇一個div并且是其父元素的第一個孩子

          :nth-last-child(n)

          div:nth-last-child(2){}

          選擇一個div并且是其父元素的倒數第二個孩子


          :nth-of-type(n)

          p:nth-of-type(2)

          選擇每個p元素是其父級的第二個p元素

          :nth-last-of-type(n)

          p:nth-last-of-type(2)

          選擇每個p元素的是其父級的倒數第二個p元素

          小兒子
          element:last-child

          h1:last-child

          選擇h1標簽并且是其父元素的最后一個孩子

          :root

          :root{background: red}

          文檔根元素偽類

          :empty

          h1:empty{}

          選擇一個h1標簽并且沒有子元素(空標簽)<h1></h1>

          id:target

          #footer:target(:target)

          選擇當前處于活動狀態的錨點標簽(不加id為所有錨點)

          :not(selector)

          :not(p)

          選擇非 selector 元素的元素(即反選)

          ::selection

          ::selection{color: red}

          選擇光標選中的文字

          :enabled

          【主要用于表單元素】
          input[type="text"]:enabled

          選擇器匹配每個啟用的的元素

          :disabled

          【主要用于表單元素】
          input[type="text"]:disabled

          選擇器匹配每個禁用的的元素

          :checked

          【主要用于表單元素】
          input:checked

          選擇器匹配每個選中的輸入元素
          (僅適用于單選按鈕或復選框)

          :out-of-range

          【主要用于表單校驗】
          input:out-of-range{color: red;}

          選中【超出】設置范圍的元素(input)
          <input type="number" min="5" max="10" />

          :in-range

          【主要用于表單校驗】
          input:in-range{color:green}

          選中輸入值【未超出】指定范圍的元素

          :read-write

          【主要用于表單元素】
          input:read-write{border: 1px solid blue}

          選中【可寫】狀態的input

          :read-only

          【主要用于表單元素】
          input:read-only{background: gray;}

          選中【只讀】狀態的input

          :optional

          【主要用于表單校驗】
          input:optional{border: 1px solid black}

          選中【非必填】狀態的input

          :required

          【主要用于表單校驗】
          input:required{border: 1px solid red}

          選中【必填】狀態的input
          <input required />

          :valid

          【主要用于表單校驗】
          input:valid{color: green}

          選中 輸入email【合法】的input
          <input type="email" />

          :invalid

          【主要用于表單校驗】
          input:valid{border: 1px solid red}

          選中 輸入email【不合法】的input
          <input type="email" />


          偽類選擇器

          狀態

          示例

          說明

          :link

          a:link

          選擇所有未被訪問的鏈接

          :visited

          a:visited

          選擇所有已被訪問的鏈接

          :hover

          a:hover

          鼠標移動到元素上時

          :active

          a:active

          點擊正在發生時

          :focus

          input::focus

          選擇獲得焦點的 input 元素

          :root

          :root

          改變當前html所有樣式

          :empty

          p:empty

          對沒有元素沒有文本標簽選中,如

          選中,如果**

          雙方的

          **選不中;

          :first-child

          p:first-child

          選中父元素中第一個p,如果父元素第一個不是p選不中,如子元素第一個元素是p也會選中,

          :first-of-type

          p:first-of-type

          選中父元素中第一個p,一直往下找,如子元素中有p也會選中,main>p:first-of-type只選取兒子

          :last-child

          p:last-child

          選中父元素中最后一個p,如果父元素最后不是p選不中,如子元素中最后元素是p也會選中,main>p:last-child,只選取兒子

          :last-of-type

          p:last-of-type

          選中父元素中最后一個p,一直往下找,如子元素中有p也會選中最后一個

          :only-of-type

          p:only-of-type

          選擇屬于其父元素的唯一子元素的p,父元素有其他p選不中。如子元素有唯一p也會選中

          :only-child

          p:only-child

          選擇屬于其父元素的唯一子元素的p,父元素有其他p選不中。

          :nth-child(n)

          p:nth-child(2)

          選擇父元素第二個元素,如果是p選中,反之。如子元素第二元素是p也選中

          :nth-of-type(n)

          p:nth-of-type(2)

          選中父元素中第二個p,一直往下找,如子元素中有二個p也會選中,main>p:first-of-type只選取兒子

          :nth-last-child(n)

          p:nth-last-child(2)

          同上從最后一個算

          :nth-last-of-type(n)

          p:nth-last-of-type(2)

          同上,從最后一個算

          :not()

          :not(p)

          選中父元素除了p所有元素

          表單偽類

          選擇器

          示例

          說明

          :enabled

          input:enabled

          選擇每個啟用的 input 元素

          :disabled

          input:disabled

          選擇每個禁用的 input 元素

          :checked

          input:checked

          選擇每個被選中的 input 元素

          :required

          input:required

          包含required屬性的元素

          :optional

          input:optional

          不包含required屬性的元素

          :valid

          input:valid

          驗證通過的表單元素

          :invalid

          input:invalid

          驗證不通過的表單

          字符偽類

          狀態

          示例

          說明

          ::first-letter

          p:first-letter

          選擇每個元素的首字母

          ::first-line

          p:first-line

          選擇每個元素的首行

          ::before

          p:before

          在每個元素的內容之前插入內容

          ::after

          p:after

          在每個元素的內容之后插入內容

           p::after{        //在p標簽內容后面加上1
                content: "123";
              }

          優先級

          相信大家對CSS選擇器的優先級都不陌生:

          內聯 > ID選擇器 > 類選擇器 > 標簽選擇器

          到具體的計算層?,優先級是由 A 、B、C、D 的值來決定的,其中它們的值計算規則如下:

          • 如果存在內聯樣式,那么 A = 1, 否則 A = 0
          • B的值等于 ID選擇器出現的次數
          • C的值等于 類選擇器 和 屬性選擇器 和 偽類 出現的總次數
          • D 的值等于 標簽選擇器 和 偽元素 出現的總次數

          這里舉個例子:

          #nav-global > ul > li > a.nav-link

          套用上面的算法,依次求出 A B C D 的值:

          • 因為沒有內聯樣式 ,所以 A = 0
          • ID選擇器總共出現了1次, B = 1
          • 類選擇器出現了1次, 屬性選擇器出現了0次,偽類選擇器出現0次,所以 C = (1 + 0 + 0) = 1
          • 標簽選擇器出現了3次, 偽元素出現了0次,所以 D = (3 + 0) = 3

          上面算出的A 、 B、CD 可以簡記作:(0, 1, 1, 3)

          知道了優先級是如何計算之后,就來看看比較規則:

          • 從左往右依次進行比較 ,較大者優先級更高
          • 如果相等,則繼續往右移動一位進行比較
          • 如果4位全部相等,則后面的會覆蓋前面的

          經過上面的優先級計算規則,我們知道內聯樣式的優先級最高,如果外部樣式需要覆蓋內聯樣式,就需要使用!important

          繼承屬性

          css中,繼承是指的是給父元素設置一些屬性,后代元素會自動擁有這些屬性

          關于繼承屬性,可以分成:

          • 字體系列屬性
          font:組合字體
          font-family:規定元素的字體系列
          font-weight:設置字體的粗細
          font-size:設置字體的尺寸
          font-style:定義字體的風格
          font-variant:偏大或偏小的字體
          • 文本系列屬性
          text-indent:文本縮進
          text-align:文本水平對劉
          line-height:行高
          word-spacing:增加或減少單詞間的空白
          letter-spacing:增加或減少字符間的空白
          text-transform:控制文本大小寫
          direction:規定文本的書寫方向
          color:文本顏色
          • 元素可見性
          visibility
          • 表格布局屬性
          caption-side:定位表格標題位置
          border-collapse:合并表格邊框
          border-spacing:設置相鄰單元格的邊框間的距離
          empty-cells:單元格的邊框的出現與消失
          table-layout:表格的寬度由什么決定
          • 列表屬性
          list-style-type:文字前面的小點點樣式
          list-style-position:小點點位置
          list-style:以上的屬性可通過這屬性集合
          • 引用
          quotes:設置嵌套引用的引號類型
          • 光標屬性
          cursor:箭頭可以變成需要的形狀
          

          繼承中比較特殊的幾點:

          • a 標簽的字體顏色不能被繼承
          • h1-h6標簽字體的大下也是不能被繼承的

          無繼承的屬性

          • display
          • 文本屬性:vertical-align、text-decoration
          • 盒子模型的屬性:寬度、高度、內外邊距、邊框等
          • 背景屬性:背景圖片、顏色、位置等
          • 定位屬性:浮動、清除浮動、定位position等
          • 生成內容屬性:content、counter-reset、counter-increment
          • 輪廓樣式屬性:outline-style、outline-width、outline-color、outline
          • 頁面樣式屬性:size、page-break-before、page-break-after

          給大家分享我收集整理的各種學習資料,前端小白交學習流程,入門教程等回答-下面是學習資料參考。

          前端學習交流、自學、學習資料等推薦 - 知乎

          么是樣式選擇器

          • Selector { /* Selector 是樣式選擇器 */
          • property:value; /* color:red; */
          • property:value; /* font-size:4cm; */

          }

          Selector:當定義一條樣式規則時,必須指定受這條樣式規則作用的網頁元素,在一條規則中定義的網頁元素就是selector(選擇器),也就是選擇該樣式規則作用于的網頁元素。

          HTML選擇器

          • HTML有標簽, CSS就用選擇器
          • 選擇符就是賦予內部或外部樣式表的名字
          • HTML的標簽,用來改變一個指定標簽的樣式
          • 任何一個元素都可以是一個CSS選擇符

          類選擇器

          • 同一個選擇器能有不同的類,因而允許同一個元素有不同的樣式
          • 定的方法
          • [tag].類名 (類名是自定義的,如果不加tag則代表所有HTML元素)
          • <tag class=“類名 類名1 類名2”> (同一個元素可以使用多個類,類名之間使用空格分開)

          ID選擇器

          • 在HTML頁面中, ID屬性指定了某個單一元素,id屬性就用來對單一元素定義單獨樣式
          • 一個HTML頁面中,ID屬性值要唯一
          • #idname { } (idname是自定義的名稱)
          • <tag id=“idname”>

          關聯選擇器

          • 關聯選擇器只不過是一個用空格隔開的兩個或更多的單一選擇器給成的字符串
          • 因為層疊順序的規則,它們的優先權比單一的選擇符大
          • 必須按關聯關系使用,不能有反順序
          • 只要能保持關聯關系就可以,不管是在多少層

          組合選擇器

          • 為了減少樣式表的重復聲明,組合是允許的
          • 只要使用英文逗號(,)隔開每個選擇符就可以了

          偽元素選擇器

          偽元素選擇器是指對同一個HTML元素在不同的狀態下的一種定義方式

          目前只有a和p兩處HTML元素可以使用

          使用時的語法

          標簽:偽元素 標簽[.類名]:偽元素

          • a:link 沒有任何運作前的狀態
          • a:hover 光標移到到超鏈接上的狀態
          • a:active: 選擇超鏈接的狀態
          • a:visited 訪問過超連接的狀態
          • p:first-letter 一個段落中首個字母的狀態
          • P:first-line 一個段落中首行的狀態

          樣式規則的繼承

          所有嵌套在某個HTML標簽中的HTML標簽都會繼承外層標簽設置的樣式規則。

          樣式規則的

          優先級

          關聯>ID選擇器>CLASS選擇器>HTML標簽選擇器


          主站蜘蛛池模板: 中文无码精品一区二区三区 | 人妻少妇精品视频一区二区三区 | 日本亚洲成高清一区二区三区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产成人久久一区二区不卡三区| 久久se精品动漫一区二区三区| 精品国产aⅴ无码一区二区| 精品国产aⅴ无码一区二区| 日本精品一区二区在线播放| 亚洲第一区在线观看| 亚洲国产情侣一区二区三区| 国产精品99精品一区二区三区 | 亚洲国产精品一区二区成人片国内| 色噜噜狠狠一区二区三区果冻| 国产成人精品一区二三区熟女| www.亚洲一区| 日本在线视频一区二区| 麻豆一区二区三区蜜桃免费| 精品亚洲一区二区| 亚洲AV无码一区二区三区鸳鸯影院| 人妻体内射精一区二区| 91一区二区三区四区五区 | 日韩一区二区在线观看| 亚洲午夜精品一区二区| 色综合视频一区二区三区44| 精品久久久久一区二区三区| 国内自拍视频一区二区三区| 国产精品女同一区二区久久| 亚洲av无码片区一区二区三区| 亚洲国产精品一区二区三区久久| 亚洲日本精品一区二区| 无码精品人妻一区| 韩国理伦片一区二区三区在线播放| 一区二区三区视频免费| 国产精品一区在线播放| 一区二区三区四区精品| 亚洲丶国产丶欧美一区二区三区| 国产精品成人国产乱一区| 亚洲av无码一区二区三区人妖| 精品久久久久一区二区三区| 国产在线一区二区三区av|