css基礎一

css簡介

什麼是css

  • css是層疊樣式表(Cascading Style Sheets)的簡稱。有時我們也會稱之爲CSS樣式表或級聯樣式表
  • css也是一種標記語言

有什麼用

  • CSS主要用於設置HTML頁面中的文本內容(字體、大小、對齊方式等)、圖片的外形(寬高、邊框樣式、邊距等)以及版面的佈局和外觀顯示樣式。
  • CSS讓我們的網頁更加豐富多彩,佈局更加靈活自如。簡單理解:CSS 可以美化 HTML , 讓 HTML 更漂亮, 讓頁面佈局更簡單。
  • CSS 最大價值: 由 HTML 專注去做結構呈現,樣式交給 CSS,即 結構 ( HTML ) 與樣式( CSS ) 相分離

引入css(css三種引入方式)

行內樣式表(行內式)

​ 行內樣式表(內聯樣式表)是在元素標籤內部的 style 屬性中設定 CSS 樣式。適合於修改簡單樣式.
​ 語法:

 <div style="color: red; font-size: 12px;">helloword</div>

​ 1.style 其實就是標籤的屬性
​ 在雙引號中間,寫法要符合 CSS 規範
​ 2.可以控制當前的標籤設置樣式
​ 3.由於書寫繁瑣,並且沒有體現出結構與樣式相分離的思想,所以不推薦大量使用,只有對當前元素添加簡單樣式的時候,可以考慮使用
​ 4.使用行內樣式表設定 CSS,通常也被稱爲行內式引入

內部樣式表(嵌入式)

​ 內部樣式表(內嵌樣式表)是寫到html頁面內部. 是將所有的 CSS 代碼抽取出來,單獨放到一個

 <style>
                div {
                color: red;
                font-size: 12px;
                }
 </style>

​ 1.

外部樣式表(鏈接式)

​ 實際開發都是外部樣式表. 適合於樣式比較多的情況. 核心是:樣式單獨寫到CSS 文件中,之後把CSS文件引入到 HTML 頁面中使用.
​ 引入外部樣式表分爲兩步:
1. 新建一個後綴名爲 .css 的樣式文件,把所有 CSS 代碼都放入此文件中。
2. 在 HTML 頁面中,使用 標籤引入這個文件。
語法:

  <link rel="stylesheet"  href="css文件路徑">

css選擇器

  1. ID選擇器
    #elem{} id=“elem”

     1. ID是唯一值,在一個頁面中只能出現一次,出現多次是不符合規範的。
     2. 命名的規範,由字母、下劃線、中劃線、字母(並且第一個不能是數字)
     3. 駝峯寫法 : searchButton (小駝峯)  SearchButton (大駝峯)  searchSmallButton
        短線寫法:search-small-button
        下劃線寫法:search_small_button
    
  2. CLASS選擇器
    .elem{} class=“elem”

     1. class選擇器是可以複用的。
     2. 可以添加多個class樣式。
     3. 多個樣式的時候,樣式的優先級根據CSS決定,而不是class屬性中的順序。
     4. 標籤+類的寫法
    
  3. 標籤選擇器(TAG選擇器)
    div{}


    使用的場景:
    1. 去掉某些標籤的默認樣式時
    2. 複雜的選擇器中,如 層次選擇器

  4. 羣組選擇器(分組選擇器)
    可以通過逗號的方式,給多個不同的選擇器添加統一的CSS樣式,來達到代碼的複用。

 <style>
    div,
    p,
    ul>li{
        color: aqua;
    }
    </style>
  1. 通配選擇器

     *{  } ->  div,ul,li,p,h1,h2....{}    
     注:儘量避免使用通配選擇器,因爲會給所有的標籤添加樣式,慎用。
     使用的場景:
         1. 去掉所有標籤的默認樣式時           
    
  2. 層次選擇器

     後代  M N { }	  當前M的子孫後代
     父子  M > N { }  當前M的兒子
     兄弟  M ~ N { }  當前M下面的所有兄弟N標籤
     相鄰  M + N { }  當前M下面相鄰的N標籤
    
  3. 屬性選擇器

    M[attr] {}    
    = : 完全匹配
    *= : 部分匹配
    ^= : 起始匹配
    $= : 結束匹配
    [][][] : 組合匹配
    
  4. 僞類選擇器
    M:僞類{}
    :link 訪問前的樣式 ( 只能添加給a標籤 )
    :visited 訪問後的樣式 ( 只能添加給a標籤 )
    :hover 鼠標移入時的樣式 (可以添加給所有的標籤)
    :active 鼠標按下時的樣式 (可以添加給所有的標籤)

     注:
         一般的網站都只設置  
             a{}   ( link visited active )    a:hover{}
    
     :after、:before    通過僞類的方式給元素添加一段文本內容,使用content屬性
     :checked、:disabled 、:focus 都是針對表單元素的   
    
     結構性僞類選擇器
         nth-of-type()   nth-child()
         角標是從1開始的,1表示第一項,2表示第二項 | n值 表示從0到無窮大
         first-of-type
         last-of-type
         only-of-type 
    
         nth-of-type()和nth-child()之間的區別
             type : 類型
             child : 孩子
    
  5. :focus 僞類選擇器

定義:

​ :focus 僞類選擇器用於選取獲得焦點的表單元素。

​ 焦點就是光標,一般情況 類表單元素才能獲取

css元素顯示模式

1、什麼是元素的顯示模式

定義:

​ 元素顯示模式就是元素(標籤)以什麼方式進行顯示,比如

自己佔一行,比如一行可以放多個

作用:

​ 網頁的標籤非常多,在不同地方會用到不同類型的標籤,瞭解他們的特點可以更好的佈局我們的網頁。

2、元素顯示模式的分類

2.1、塊元素

常見的塊元素

<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>

標籤是最典型的塊元素。

塊級元素的特點

  • 比較霸道,自己獨佔一行。
  • 高度,寬度、外邊距以及內邊距都可以控制。
  • 寬度默認是容器(父級寬度)的100%。
  • 是一個容器及盒子,裏面可以放行內或者塊級元素。

注意:

​ 文字類的元素內不能放塊級元素

<p> 標籤主要用於存放文字,因此 <p> 裏面不能放塊級元素,特別是不能放<div> 
同理, <h1>~<h6>等都是文字類塊級標籤,裏面也不能放其他塊級元素

2.2、行內元素

常見的行內元素:

<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>

標籤是最典型的行內元素。有的地方也將行內元素稱爲內聯元素。

行內元素的特點:

  • 相鄰行內元素在一行上,一行可以顯示多個。

  • 高、寬直接設置是無效的。

  • 默認寬度就是它本身內容的寬度。

  • 行內元素只能容納文本或其他行內元素。

注意:
鏈接裏面不能再放鏈接
特殊情況鏈接< a> 裏面可以放塊級元素,但是給 <a>轉換一下塊級模式最安全

2.3、行內塊元素

常見的行內塊標籤

<img />、<input />、<td>

​ 它們同時具有塊元素和行內元素的特點。有些資料稱它們爲行內塊元素。

行內塊元素的特點

  • 和相鄰行內元素(行內塊)在一行上,但是他們之間會有空白縫隙。
  • 一行可以顯示多個(行內元素特點)。
  • 默認寬度就是它本身內容的寬度(行內元素特點)。
  • 高度,行高、外邊距以及內邊距都可以控制(塊級元素特點)。

2.4、元素顯示模式總結

​ 學習元素顯示模式的主要目的就是分清它們各自的特點,當我們網頁佈局的時候,在合適的地方用合適的標籤元素。

3、元素顯示模式的轉換

簡單理解:

​ 一個模式的元素需要另外一種模式的特性
​ 比如想要增加鏈接 <a> 的觸發範圍。

轉換方式

  • 轉換爲塊元素:display:block;
  • 轉換爲行內元素:display:inline;
  • 轉換爲行內塊:display: inline-block;

4、單行文字垂直居中的代碼

解決方案:

​ 讓文字的行高等於盒子的高度 就可以讓文字在當前盒子內垂直居中

簡單理解:

​ 行高的上空隙和下空隙把文字擠到中間了,

​ 如果行高小於盒子高度,文字會偏上,

​ 如果行高大於盒子高度,則文字偏下。

CSS繼承

文字相關的樣式可以被繼承
佈局相關的樣式不能被繼承 ( 默認是不能繼承的,但是可以設置繼承屬性 inherit 值 )

CSS優先級

1. 相同樣式優先級
    當設置相同樣式時,後面的優先級較高,但不建議出現重複設置樣式的情況。
2. 內部樣式與外部樣式
    內部樣式與外部樣式優先級相同,如果都設置了相同樣式,那麼後寫的引入方式優先級高。
3. 單一樣式優先級
    style行間 > id > class > tag > * > 繼承

    注:style行間 權重 1000
        id       權重 100
        class    權重 10
        tag      權重 1
4. !important
    提升樣式優先級,非規範方式,不建議使用。( 不能針對繼承的屬性進行優先級的提升 )
  
5. 標籤+類與單類
    標籤+類 > 單類 
	
6. 羣組優先級
    羣組選擇器與單一選擇器的優先級相同,靠後寫的優先級高。

7. 層次優先級
    1. 權重比較
        ul li .box p input{}   1 + 1 + 10 + 1 + 1
        .hello span #elem{}    10 + 1 + 100

    2. 約分比較    
        ul li .box p input{}    li p input{}
        .hello span #elem{}      #elem{}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章