1. 程式人生 > >【CSS基礎筆記】偽元素 偽類 過渡 動畫 陰影 漸變 繼承

【CSS基礎筆記】偽元素 偽類 過渡 動畫 陰影 漸變 繼承

偽元素:

  1. 偽元素在DOM樹中建立了一些是不存在於文件語言裡的抽象元素
  2. (例如常用的::before,::after::before,::after只有在設定屬性:content:""之後才能顯示)【偽元素本質上是建立了一個有內容的虛擬容器;】
  3. 偽元素的由兩個冒號::開頭,然後是偽元素的名稱
  4. 一個選擇器只能使用一個偽元素,並且偽元素必須處於選擇器語句的最後。注:不排除未來會加入同時使用多個偽元素的機制。

 

偽類:

  1. 偽類存在的意義是為了通過選擇器找到那些不存在與DOM樹中的資訊不能被常規CSS選擇器獲取到的資訊。偽類本質上是為了彌補常規CSS選擇器的不足,以便獲取到更多資訊
    ,例如 :nth-child:(even){} 對偶數的子元素設定屬性。 】
  2. 偽類由一個冒號:開頭,冒號後面是偽類的名稱和包含在圓括號中的可選引數。
  3. 任何常規選擇器可以任何位置使用多個偽類。偽類語法不區別大小寫。一些偽類的作用會互斥,另外一些偽類可以同時被同一個元素使用。並且,為了滿足使用者在操作DOM時產生的DOM結構改變,偽類也可以是動態的。和偽元素的語法不同

 

 

 

Transition過渡的簡寫屬性可以為一個元素在不同狀態之間切換的時候定義不同的過渡效果。比如在不同的偽元素之間切換,像是 :hover 

:active 或者通過JavaScript實現的狀態變化。

預設值

all 0 ease 0

transition-property

規定設定過渡效果的 CSS 屬性的名稱。

transition-duration

規定完成過渡效果需要多少秒或毫秒。

transition-timing-function

規定速度效果的速度曲線。

transition-delay

定義過渡效果何時開始。

 

 

Animation動畫的簡寫屬性):

 

Transition(過渡)和animation(動畫)的區別:

  1. Transition通常是和:hover ,:active配合使用,由動作觸發。Animation則是自動執行。
  2. Transition只能設定從初始狀態漸變到最終狀態,無法像Animation一樣改變中途的每一幀的樣式。
  3. Transition搭配Javascript可以實現非常多的動畫效果。目前AnimationJS的互動功能還不完善。
  4. Animation可以設定迴圈次數。

 

 

box-shadow(陰影):

陰影效果線上編寫工具:https://www.cssmatic.com/box-shadow

常量

描述

h-shadow

必需。水平陰影的位置。允許負值。

v-shadow

必需。垂直陰影的位置。允許負值。

blur

可選。模糊距離。

spread

可選。陰影的尺寸。

color

可選。陰影的顏色。請參閱 CSS 顏色值。

inset

可選。將外部陰影 (outset) 改為內部陰影。

 

 

radial-gradient用來定義徑向漸變,以對圖形元素進行填充或描邊。

漸變填充線上編寫工具:http://www.colorzilla.com/gradient-editor/

常量

描述

closest-side

漸變的邊緣形狀與容器距離漸變中心點最近的一邊相切(圓形)或者至少與距離漸變中心點最近的垂直和水平邊相切(橢圓)。

closest-corner

漸變的邊緣形狀與容器距離漸變中心點最近的一個角相交。

farthest-side

closest-side相反,邊緣形狀與容器距離漸變中心點最遠的一邊相切(或最遠的垂直和水平邊)。

farthest-corner

漸變的邊緣形狀與容器距離漸變中心點最遠的一個角相交。

 

 

繼承

常見可繼承屬性:

  1. 字型屬性
  2. 文字屬性:text-indenttext-alignline-heightword-spacingletter-spacingtext-transformDirectionColor
  3. 聲音屬性:speakspeak-punctuationspeak-numeralspeak-headerspeech-ratevolumevoice-familypitchpitch-rangestressrichnessazimuthelevation

 

 

常見不可繼承屬性:

  1. 文字屬性:vertical-aligntext-decorationtext-shadowwhite-spaceunicode-bidi
  2. 盒模型屬性:widthheightmargin margin-topmargin-rightmargin-bottommargin-leftborderborder-styleborder-top-styleborder-right-styleborder-bottom-styleborder-left-styleborder-widthborder-top-widthborder-right-rightborder-bottom-widthborder-left-widthborder-colorborder-top-colorborder-right-colorborder-bottom-colorborder-left-colorborder-topborder-rightborder-bottomborder-leftpaddingpadding-toppadding-rightpadding-bottompadding-left
  3. 背景屬性:backgroundbackground-colorbackground-imagebackground-repeatbackground-positionbackground-attachment
  4. 佈局定位屬性:floatclearpositiontoprightbottomleftmin-widthmin-heightmax-widthmax-heightoverflowclipz-index
  5. 頁面樣式屬性:sizepage-break-beforepage-break-after
  6. 聲音屬性:pause-beforepause-afterpausecue-beforecue-aftercueplay-during
  7. 生成內容屬性:contentcounter-resetcounter-increment