css知識點整理,css知識點

來源:互聯網
上載者:User

css知識點整理,css知識點

  CSS是Cascading Style Sheets的簡稱,中文稱為層疊樣式表,用來控制網頁資料的表現,可以使網頁的表現與資料內容分離。

一、css引入的方式

  1、行內樣式:行內式是在標記的style屬性中設定CSS樣式。這種方式沒有體現出CSS的優勢,不推薦使用。

  2、嵌入式:嵌入式是將CSS樣式集中寫在網頁的<head></head>標籤對的<style></style>標籤對中。格式如下:

    

  <head>

          <style type="text/css">

               .  ..此處寫CSS樣式

         </style>

        </head>

  3、匯入式:將一個獨立的.css檔案引入HTML檔案中,匯入式使用CSS規則引入外部CSS檔案,<style>標記也是寫在<head>標記中,使用的文法如下:

          <style type="text/css">

                    @import"mystyle.css"; 此處要注意.css檔案的路徑

         </style>

  4、連結式:也是將一個.css檔案引入到HTML檔案中    <link href="mystyle.css" rel="stylesheet" type="text/css"/>

  注意:匯入式會在整個網頁裝載完後再裝載CSS檔案,因此這就導致了一個問題,如果網頁比較大則會兒出現先顯示無樣式的頁面,閃爍一下之後,再出現網頁的樣式。這

  是匯入式固有的一個缺陷。使用連結式時與匯入式不同的是它會以網頁檔案主體裝載前裝載CSS檔案,因此顯示出來的網頁從一開始就是帶樣式的效果的,它不會象匯入式那樣

  先顯示無樣式的網頁,然後再顯示有樣式的網頁,這是連結式的優點。

  二、css的選取器

  “選取器”指明了{}中的“樣式”的作用對象,也就是“樣式”作用於網頁中的哪些元素

  1、基礎選取器:

  * :                                 通用元素選取器,匹配任何元素                                * { margin:0; padding:0; }

  E  :                                 標籤選取器,匹配所有使用E標籤的元素p { color:green; }

  .info和E.info:                     class選取器,匹配所有class屬性中包含info的元素        .info { background:#ff0; }    p.info { background:blue; }

  #info和E#info                    id選取器,匹配所有id屬性等於footer的元素                #info { background:#ff0; }   p#info { background:#ff0; }

  2、組合選取器:  

    E,F               多元素選取器,同時匹配所有E元素或F元素,E和F之間用逗號分隔             Div,p { color:#f00; }

      E F               後代元素選取器,匹配所有屬於E元素後代的F元素,E和F之間用空格分隔    #nav li { display:inline; }    li a { font-weight:bold; }

      E > F             子項目選取器,匹配所有E元素的子項目F                                            div > strong { color:#f00; }

  E + F            毗鄰元素選取器,匹配所有緊隨E元素之後的同級元素F                            p + p { color:#f00; }   

  注意嵌套規則: 

  3、屬性選取器

    E[att]            匹配所有具有att屬性的E元素,不考慮它的值。

                             (注意:E在此處可以省略,比如“[cheacked]”。以下同。)                 p[title] { color:#f00; }

 

         E[att=val]     匹配所有att屬性等於“val”的E元素                                                   div[class=”error”] { color:#f00; }

 

        E[att~=val]    匹配所有att屬性具有多個空格分隔的值、其中一個值等於“val”的E元素      td[class~=”name”] { color:#f00; }

 

        E[att|=val]    匹配所有att屬性具有多個連字號分隔(hyphen-separated)的值、其中一個值以“val”開頭的E元素,主要用於lang屬性,

                            比如“en”、“en-us”、“en-gb”等等                                                    p[lang|=en] { color:#f00; }

        E[attr^=val]    匹配屬性值以指定值開頭的每個元素                       div[class^="test"]{background:#ffff00;}

        E[attr$=val]    匹配屬性值以指定值結尾的每個元素                       div[class$="test"]{background:#ffff00;}

        E[attr*=val]    匹配屬性值中包含指定值的每個元素                       div[class*="test"]{background:#ffff00;}

 

        p:before         在每個 <p> 元素的內容之前插入內容                     p:before{content:"hello";color:red}

        p:after           在每個 <p> 元素的內容之前插入內容                      p:after{ content:"hello";color:red}

  4、偽類別選取器

  

 偽類別選取器: 專用於控制連結的顯示效果,偽類別選取器:

a:link(沒有接觸過的連結),用於定義了連結的常規狀態。

a:hover(滑鼠放在連結上的狀態),用於產生視覺效果。

a:visited(訪問過的連結),用於閱讀文章,能清楚的判斷已經訪問過的連結。

a:active(在連結上按下滑鼠時的狀態),用於表現滑鼠按下時的連結狀態。

     偽類別選取器 : 偽類指的是標籤的不同狀態:

            a ==> 點過狀態 沒有點過的狀態 滑鼠懸浮狀態 啟用狀態

  a:link {color: #FF0000} /* 未訪問的連結 */

  a:visited {color: #00FF00} /* 已訪問的連結 */

  a:hover {color: #FF00FF} /* 滑鼠移動到連結上 */

  a:active {color: #0000FF} /* 選定的連結 */ 格式: 標籤:偽類名稱{ css代碼; }

  三、css常用屬性

  1、顏色屬性 

    <div> 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <style> 7 html{ 8 background-color: antiquewhite; 9 10 }11 body{12 width: 100px;13 height: 600px;14 background-color: deeppink;15 background-image: url(1.jpg);16 background-repeat: no-repeat;17 background-position: center center;18 }19 </style>20 </head>21 <body>View Code

  4、文字屬性

  

   white-space: 設定元素中空白的處理方式

  • normal:預設處理方式。
  • pre:保留空格,當文字超出邊界時不換行
  • nowrap:不保留空格,強制在同一行內顯示所有文本,直到文本結束或者碰到br標籤
  • pre-wrap:保留空格,當文字碰到邊界時換行
  • pre-line:不保留空格,保留文字的換行,當文字碰到邊界時換行

  direction: 規定文本的方向 

  • ltr 預設,文本方向從左至右。
  • rtl 文本方向從右至左。

  text-align: 文本的水平對齊 

  • left
  • center
  • right

    line-height: 文本行高

  • normal 預設

    vertical-align: 文本所在行高的垂直對齊

  • baseline 預設
  • sub 垂直對齊文本的下標,和<sub>標籤一樣的效果
  • super 垂直對齊文本的上標,和<sup>標籤一樣的效果
  • top 對象的頂端與所在容器的頂端對齊
  • text-top 對象的頂端與所在行文字頂端對齊
  • middle 元素對象基於基準垂直對齊
  • bottom 對象的底端與所在行的文字底部對齊
  • text-bottom 對象的底端與所在行文字的底端對齊

    text-indent: 文本縮排

    letter-spacing: 添加字母之間的空白

    word-spacing: 添加每個單詞之間的空白

    text-transform: 屬性控制文本的大小寫

  • capitalize 文本中的每個單詞以大寫字母開頭。
  • uppercase 定義僅有大寫字母。
  • lowercase 定義僅有小寫字母。

    text-overflow: 文本溢出樣式

  • clip 修剪文本。
  • ellipsis 顯示省略符號...來代表被修剪的文本。
  • string 使用給定的字串來代表被修剪的文本。
  •   text-decoration: 文本的裝飾
    • none 預設。
    • underline 底線。
    • overline 上劃線。
    • line-through 中線。

      text-shadow:文本陰影

    • 第一個參數是左右位置
    • 第二個參數是上下位置
    • 第三個參數是虛化效果
    • 第四個參數是顏色
    • text-shadow: 5px 5px 5px #888;

      word-wrap:自動換行

    • word-wrap: break-word;

  

  5. 列表屬性

    list-style-type: 清單項目標誌的類型

  • none 去除標誌
  • decimal-leading-zero;  02.
  • square;  方框
  • circle;  空心圓
  • upper-alph; & disc; 實心圓

    list-style-image:將圖象設定為清單項目標誌

    list-style-position:清單項目標誌的位置

  • inside
  • outside

    list-style:縮寫

  

 6. 邊框 

    border-style:邊框樣式

  • solid 預設,實線
  • double 雙線
  • dotted 點狀線條
  • dashed 虛線

    border-color:邊框顏色

    border-width:邊框寬度

      border-radius:圓角

  • 1個參數:四個角都應用
  • 2個參數:第一個參數應用於 左上、右下;第二個參數應用於 左下、右上
  • 3個參數:第一個參數應用於 左上;第二個參數應用於 左下、右上;第三個參數應用於右下
  • 4個參數:左上、右上、右下、左下(順時針)

    border: 簡寫

  • border: 2px yellow solid; 

    box-shadow:邊框陰影

  • 第一個參數是左右位置
  • 第二個參數是上下位置
  • 第三個參數是虛化效果
  • 第四個參數是顏色
  • box-shadow: 10px 10px 5px #888;

  

  7、display

    • none 不顯示。
    • block 顯示為區塊層級元素。
    • inline 顯示為內嵌元素。
    • inline-block 行內塊元素(會保持塊元素的高寬)。
    • list-item 顯示為列表元素。

   8、盒子模型

  什麼是盒子模型?

  

  padding:用於控制內容與邊框之間的距離;

  margin: 用於控制元素與元素之間的距離; 

  

  一個參數,應用於四邊。

  兩個參數,第一個用於上、下,第二個用於左、右。

  三個參數,第一個用於上,第二個用於左、右,第三個用於下

  邊框在預設情況下會定位於瀏覽器視窗的左上方,但是並沒有緊貼著瀏覽器的視窗的邊框,這是因為body本身也是一個盒子(外層還有html),解決辦法

  

1 body {2 margin: 0;3 }View Code

  9、float

  

  讓一行顯示兩個塊級標籤,會脫離文檔流

  • none
  • left 左浮動
  • right 右浮動

  clear 清除浮動:

  • none  :  預設值。允許兩邊都可以有浮動物件
  • left   :  不允許左邊有浮動物件
  • right  :  不允許右邊有浮動物件
  • both  :  不允許兩邊有浮動物件

  10、position

  

   1 static,預設值 static:無特殊定位,對象遵循正常文檔流。

   top,right,bottom,left等屬性不 會被應用。 說到這裡我們不得不提一下一個定義——文檔流,文檔流其實就是文檔的輸出順序, 也就是我們通常看到的由左      到右、由

  上而下的輸出形式,在網頁中每個元素都是按照這個順序進行排序和顯示的,而float和position兩個屬性可以將元素從文檔流脫離出來顯示。 預設值就        是讓元素繼續按照

  文檔流顯示,不作出任何改變。

  2  position:relative

      relative:對象遵循正常文檔流,但將依據top,right,bottom,left等屬性在正常文檔流中位移位置。而其層疊通過z-index屬性定義。

      absolute:對象脫離正常文檔流,使用top,right,bottom,left等屬性進行絕對位置。而其層疊通過z-index屬性定義。 如果設定 position:relative,就可以使用

  top,bottom,left和 right 來相對於元素在文檔中應該出現的位置來移動這個元素。[意思是元素實際上依然佔據文檔 中的原有位置,只是視覺上相對於它在文檔中的原有位置

  移動了] 當指定 position:absolute 時,元素就脫離了文檔[即在文檔中已經不佔據位置了],可以準確的按照設定的 top,bottom,left 和 right 來定位了。 如果一個元素絕對

  定位後,其參照物是以離自身最近元素是否設定了相對定位,如果有設定將以離自己最近元素定位,如果沒有將往其祖先元素尋找相對定位元素, 一直找到html為止。

  3  position:fixed

         在理論上,被設定為fixed的元素會被定位於瀏覽器視窗的一個指定座標,不論視窗是否滾動,它都會固定在這個位置。

     fixed:對象脫離正常文檔流,使用top,right,bottom,left等屬性以視窗為參考點進行定位,當出現捲軸時,對象不會隨著滾動。而其層疊通過z-index屬性      定

  義。 注

  意點: 一個元素若設定了 position:absolute | fixed; 則該元素就不能設定float。這 是一個常識性的知識點,因為這是兩個不同的流,一個是浮動流,    另一個是“定位

  流”。但是 relative 卻可以。因為它原本所佔的空間仍然佔據文檔流。

 

  

 


  通過以下四種屬性進行定位:  

  • left
  • top
  • right
  • bottom
  • z-index

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.