CSS快速入門

HammerZe發表於2022-01-20

CSS快速入門

檢視源影像

簡介

層疊樣式表 — 也就是CSS — 是你在HTML之後應該學習的第二門技術。HTML用於定義內容的結構和語義,CSS用於設計風格和佈局。比如,您可以使用CSS來更改內容的字型、顏色、大小、間距,將內容分為多列,或者新增動畫及其他的裝飾效果;

通俗理解為:CSS就是為了給HTML標籤修改樣式;

語法結構

語法結構:

選擇器 {
    	屬性名1:屬性值1;
    	屬性名2:屬性值2
  }

檢視源影像


如何註釋

/*註釋內容*/
快捷鍵:ctrl+? (pycharm)

引入方式

1.style內部直接編寫css程式碼,平時學習、練習的時候推薦使用
2.link標籤引入外部css檔案,正式工作、實際生產環境推薦使用

選擇器

簡介

CSS選擇器是CSS規則的第一部分。它是元素和其他部分組合起來告訴瀏覽器哪個HTML元素應當是被選為應用規則中的CSS屬性值的方式。選擇器所選擇的元素,叫做“選擇器的物件”;

css是用來調節標籤樣式的 那為什麼需要學選擇器呢?
因為同一個頁面上有很多相似的標籤 並且這些標籤在不同的位置有不同的樣式 所以為了能夠區分 ,我們肯定先需要學習如何查詢指定的標籤

Some code with the h1 highlighted.


選擇器列表

如果你有多個使用相同樣式的CSS選擇器,那麼這些單獨的選擇器可以被混編為一個“選擇器列表”,這樣,規則就可以應用到所有的單個選擇器上了。例如,如果我的h1.special類有相同的CSS,那麼我可以把它們寫成兩個分開的規則。

/*方式一*/
h1 {
  color: blue;
}

.special {
  color: blue;
} 

/*方式二*/
h1, .special {
  color: blue;
} 

/*如果出現語法錯誤,那麼樣式不會生效*/
/*相同修改,優先順序一般最下面的生效*/

基本選擇器

標籤選擇器

通過標籤名直接查詢

/*查詢所有的div標籤*/
  	div {  
            color: red;
        }

類選擇器

類選擇器的關鍵符號為.句點符號,是通過class值查詢標籤;

/*查詢所有含有c1樣式類的標籤*/
  	.c1 {
            color: red;
        }

id選擇器

id選擇器關鍵符號位#警號,通過id值查詢標籤;

/*查詢id為d1的標籤*/
  	#d1 {
            color: orange;
        }

通用選擇器(不重要)

修改body內所有的標籤;

/*body內所有的標籤*/
    * {
      color: darkgray;
    }

組合選擇器

為了區分巢狀標籤之間的關係,我們發明了一種稱呼,如下:

<div>
<p>
<span></span>
</p>
</div>
/*
span是p的兒子 是div的孫子也可以說是div的後代
p是div的兒子也是div後代 是span的父親
div是p的父親是span的爺爺 也可以說是他們的祖先
*/

後代選擇器

特徵符號是空格

/*查詢div內部所有的後代span*/
	div span {  
            color: red;
        }
  

兒子選擇器

特徵是>大於號

/*查詢div內部所有的兒子span*/
	div > span { 
            color: greenyellow;
        }

相鄰選擇器

特徵為+加號,這個查詢的是同級別下面緊挨著的第一個span

/*查詢同級別下面緊挨著的第一個span(不能有其他標籤間隔)*/
	div + span {  
            color: pink;
        }

弟弟選擇器

特徵為~

/*查詢同級別下面所有的span(不需要緊挨著)*/
	div ~ span {  
            color: deeppink;
        }

屬性選擇器

CSS 屬性選擇器通過已經存在的屬性名或屬性值匹配元素;

語法

  • [attr]

    表示帶有以 attr 命名的屬性的元素。

  • [attr=value]

    表示帶有以 attr 命名的屬性,且屬性值為 value 的元素。

  • [attr~=value]

    表示帶有以 attr 命名的屬性的元素,並且該屬性是一個以空格作為分隔的值列表,其中至少有一個值為 value。

  • [attr|=value]

    表示帶有以 attr 命名的屬性的元素,屬性值為“value”或是以“value-”為字首("-"為連字元,Unicode 編碼為 U+002D)開頭。典型的應用場景是用來匹配語言簡寫程式碼(如 zh-CN,zh-TW 可以用 zh 作為 value)。

  • [attr^=value]

    表示帶有以 attr 命名的屬性,且屬性值是以 value 開頭的元素。

  • [attr$=value]

    表示帶有以 attr 命名的屬性,且屬性值是以 value 結尾的元素。

  • [attr*=value]

    表示帶有以 attr 命名的屬性,且屬性值至少包含一個 value 值的元素。

  • [attr operator value i]

    在屬性選擇器的右方括號前新增一個用空格隔開的字母 i(或 I),可以在匹配屬性值時忽略大小寫(支援 ASCII 字元範圍之內的字母)。

  • [attr operator value s]

    在屬性選擇器的右方括號前新增一個用空格隔開的字母 s(或 S),可以在匹配屬性值時區分大小寫(支援 ASCII 字元範圍之內的字母)。

示例

/* 存在title屬性的<a> 元素 */
a[title] {
  color: purple;
}

/* 存在href屬性並且屬性值匹配"https://example.org"的<a> 元素 */
a[href="https://example.org"] {
  color: green;
}

/* 存在href屬性並且屬性值包含"example"的<a> 元素 */
a[href*="example"] {
  font-size: 2em;
}

/* 存在href屬性並且屬性值結尾是".org"的<a> 元素 */
a[href$=".org"] {
  font-style: italic;
}

/* 存在class屬性並且屬性值包含以空格分隔的"logo"的<a>元素 */
a[class~="logo"] {
  padding: 2px;
}

分組與巢狀

如果存在多個標籤需要調整為同一樣式,那麼使用分組和巢狀可以減少程式碼的冗餘;

匹配標籤之間用逗號隔開,標籤與標籤是或的關係;

並列寫可以標籤和標籤、標籤和選擇器、意思就是可以多個相同選擇器或多個不同選擇器都可以並列使用;

/*並列的情況*/
/* 多個相同選擇器並列使用*/ 
div,span,p {  /*查詢div或者span或者p*/
            color: red;
        }
/*多個不同選擇器並列使用*/
div,#d1,.c1 {  /*標籤查詢div id查詢d1 類查詢c1*/
            color: red;
        }
/*不併列的情況*/
/*不併列同樣可以使用組合選擇器*/
.c1 p {   /*查詢class為c1的後代p標籤*/
            color: red;
        }
/*直接篩選*/
	div#d1 {  /*查詢id為d1的div標籤*/
  	color: red;
  }
  div.c1 {  /*查詢class為c1的div標籤*/
    color: red;
  }

偽類選擇器

CSS 偽類 是新增到選擇器的關鍵字,指定要選擇的元素的特殊狀態。例如,:hover 可被用於在使用者將滑鼠懸停在按鈕上時改變按鈕的顏色。

語法

selector:pseudo-class {
  property: value;
}

示例

/*滑鼠懸浮在上面*/
a:hover {  
            color: orange;
        }
/*a標籤預設的顏色會變化 第一次是藍色 後面是紫色*/


input:focus {
            background-color: red;
        }
/*我們將input框被使用者點選即將錄入資料的過程看成是focus狀態(聚焦狀態)*/

標準偽類索引

選擇器參考表

選擇器 示例 學習CSS的教程
型別選擇器 h1 { } 型別選擇器
通配選擇器 * { } 通配選擇器
類選擇器 .box { } 類選擇器
ID選擇器 #unique { } ID選擇器
標籤屬性選擇器 a[title] { } 標籤屬性選擇器
偽類選擇器 p:first-child { } 偽類
偽元素選擇器 p::first-line { } 偽元素
後代選擇器 article p 後代運算子
子代選擇器 article > p 子代選擇器
相鄰兄弟選擇器 h1 + p 相鄰兄弟
通用兄弟選擇器 h1 ~ p 通用兄弟

網站分享