CSS學習(190806)

CSS樣式表

? 1.CSS概念

? ? ? ? ? ? CSS是Cascading Style Sheet的縮寫,中文為層疊樣式表,用于將樣式信息和網(wǎng)頁內(nèi)容分離的語言;

CSS 樣式由若干條樣式規(guī)則組成,每一條樣式規(guī)則都由三部分組成:選擇符(selector),屬性(properties)和屬性的取值(value)

例如:seletor{property:value }? !!!選擇符區(qū)分大小寫,多個屬性在一起時用;隔開

? 2.顏色的不同寫法和單位

? ? ? ? ? ? 英文(red)

? ? ? ? ? ? 十六禁制(#ff0000)

? ? ? ? ? ? CSS顏色縮寫(#f00)

? ? ? ? ? ? RGB百分比(rgb(100%,0%,%0))? !?。∈褂胷gb值即使值為0也要寫百分比符號,其他情況則不需要

? ? 是否包含空格不會影響CSS的使用,CSS對大小寫不敏感(!!!!!!!如果和HTML文檔一起工作,class和id名稱則對大小寫敏感)


? 3.內(nèi)聯(lián)樣式

? ? ? ? ? ? 內(nèi)聯(lián)樣式是將樣式代碼直接內(nèi)聯(lián)到標記內(nèi),以Style語句作為屬性值,例如:

<table style="border-collapse:collapse">

? 4.內(nèi)部樣式表

? ? ? ? ? ? 使用<style>標記將一段CSS代碼嵌入到HTML文檔頭部中,也就是<head></head>之間;例如:

<head>

<style type="text/css">

hr{color:sienna;}

p{margin-left:20px;}

bodyP{background-image:url("image/back40.gif");}

</style>

</head>

? 5.外部樣式表

? ? ? ? ? 把上面的樣式定義單獨放入一個文本文件,這就是樣式表文件,后綴為CSS,在使用時將其導入到文檔中來:

? <head>

? <link rel="stylesheet" type="text/css" href="mystyle.css">

? </head>

? link 放在head標記之間,rel type屬性表明這是一個樣式文件,href指定了樣式文件的路徑

? ? ? 多重樣式:

? ? ? ? ? 內(nèi)聯(lián)樣式優(yōu)先級>內(nèi)部樣式表優(yōu)先級>外部樣式表優(yōu)先級

? 6.選擇符

? ? ? ? ? 選擇符是指樣式作用的對象(元素的標記(標記選擇符),元素的id(id選擇符),元素的類class(類選擇符),元素屬性(屬性選擇符),元素狀態(tài)(偽類選擇符))?

6.1標記選擇符:

? 是指HTML中的元素的標記名稱,定義的樣式將對其起作用,作用范圍是文檔內(nèi)所使用該標記的所有元素,改變的是該元素的默認顯示格式

     6.2類選擇符:

       是指元素的類(class)為該類元素定義樣式,定義類選擇符時,需要在類的名稱前加.;例如,為段落標記定義兩個類來表示不同的樣式:

? ? ? ? ? p.red(color:red)

? ? ? ? ? p.green{coloe:green}

? p為段落標記,red,green為定義的類的名稱,{}內(nèi)為樣式定義;將上面兩個樣式應用到不同的段落中時,只需要在<P>標記中指定class屬性即可;例如:

? <p class="red">紅色</p>

? <p class="green">綠色</p>

? 上述定義的類選擇符只使用于一種標記,如果把在.之前的標記省略,則可以應用在任意標記上預先定義好的類樣式

6.3id選擇符

? 根據(jù)元素的id來設計元素的樣式,由于id不可重復,所以只能對一個元素起作用,id選擇符類似于類選擇符,不同的是id選擇符是#開頭,例如:

? ? ? ? ? #red{color:red;}

? ? ? ? ? #green{color:green;}

? ? ? ? ? <p id="red">紅色</p> .

? ? ? ? ? <p id="green">綠色</p> ?

? 類選擇符可以給任意數(shù)量的標記定義樣式,而id選擇符在頁面的標記中只能使用一次

? (?。。?!id選擇符對給定標記的應用的優(yōu)先級大于類選擇符)

? ? ? ? 6.4屬性選擇符

? ? ? ? ? 是對帶有指定屬性的HTML元素設置樣式,而不僅僅限制于class和id屬性,下面例子為title屬性的所有屬性設置樣式:

? ? ? ? ? [title]{color:red;}

? ? ? ? 6.5偽類選擇符

? ? ? ? ? 可以看成一種特殊的類選擇符,能被CSS的瀏覽器自動識別的特殊選擇符,偽類選擇符以“:”開頭,例如( 元素的不同狀態(tài) :link ,:visited,:active;:hover;

? ? ? ? ? ? 具有鍵盤輸入的焦點元素:focu 第一個子元素:first-child ? )

? ? ? ? ? 偽類選擇符最大的作用是可以對鏈接的不同狀態(tài)定義不同的樣式效果;偽類選擇符定義的樣式常應用在錨標記<a>上,即錨的偽類選擇符,

? ? ? ? ? 它表示動態(tài)鏈接的4中不同狀態(tài):未訪問的鏈接(link),已訪問的鏈接(visited),激活鏈接(active)和鼠標停留在鏈接上(hover)

? ? ? ? ? a:link{color:#FF0000;text-decoration:none}

a:visited{color:#FF0000;text-decoration:none}

? ? ? ? ? ? a:active{color:#FF0000;text-decoration:none}

a:hover{color:#FF0000;text-decoration:none}

p:first-child{font-weight:bold}

input:focus{background-color:yellow;}

? ? 7.選擇符的分組和通配符*

? ? ? ? ? ? 分組的選擇權(quán)可以分享相同的聲明

? ? ? ? ? ? 通配符*指為所有元素設置默認格式,下面的代碼為文檔中所有元素的外邊距,內(nèi)邊距和邊框都設置為0

*{margin:0;padding:0;border:0;}

8.派生選擇符

? ? ? ? HTML的標記之間有一定的層次關(guān)系,標記之間形成一個樹形層次結(jié)構(gòu),CSS根據(jù)元素在上下文關(guān)系來確定樣式,這樣可以使標記

更加簡潔

? ? 9.選擇器之間的繼承和層疊

? ? ? ? HTML中的標記都是包含關(guān)系,從而可以形成樹形結(jié)構(gòu),所以子標記可以繼承父標記的一些樣式

層疊是對同一個元素或者web頁面應用樣式的能力,指多種樣式給共同作用于同一元素

選擇符沖突時,誰的優(yōu)先級高應用誰的樣式; id選擇符>類選擇符>標記選擇符

10.框模型

? ? ? ? 框模型 (Box Model),簡稱盒子模型。是元素描述和DIV 和CSS布局的核心;

框從內(nèi)到外依次是:外邊距(margin),邊框(border),內(nèi)邊距(padding),內(nèi)容區(qū)(content)

10.1寬高屬性

? ? width 和height指的是content區(qū)域的寬和高,而不是整個盒子的寬和高

盒子的寬=width+2*border+2*border+2*margin

10.2邊框?qū)傩?/p>

? ? ? ? ? ? ? ? margin用來設置外邊距,邊框外面的空距,例如:

? ? ? ? ? ? ? ? h1{margin:10px 0px 26px 5px;} 順序是從上外邊框(top)圍著元素順時間旋轉(zhuǎn),即top right bottom left,如果左右,上下對稱,則可設置為h1{margin:10px,15px}

? ? ? ? ? ? 10.3內(nèi)邊框?qū)傩?/p>

? ? ? ? ? ? ? ? padding是設置元素內(nèi)容到元素邊框的距離,用法和margin類似;

? ? ? ? ? ? 10.4邊框?qū)傩?/p>

? ? ? ? ? ? ? ? 用來設定一個元素的邊線(包括線寬border-width,線型 border-style,線色border-color),四條邊可以單獨設置,

名稱s采用三元組形式,如border-top-style? border-top-width border-top-color?

10.5背景屬性

? ? ? ? ? ? ? ? background指的是content和padding區(qū)域,可以設置顏色或者圖片背景

? ? 11.定位和浮動

? ? ? ? ? ? 定位(positioning)屬性可以對元素進行定位,包括定位坐標類型position屬性,定位坐標(left,top.right,bottom),文本流屬性float屬性等

? ? ? ? ? ? 11.1一切皆為框

? ? ? ? ? ? ? ? div,h1,p元素通常被稱為塊級元素,這些元素顯示為一塊內(nèi)容,即“塊框”,與之相反,span和strong等元素則稱為“行內(nèi)元素”

? ? ? ? ? ? ? ? 這是因為他們的內(nèi)容顯示在行內(nèi),即行內(nèi)框

? ? ? ? ? ? ? ? 可以使用“塊區(qū)”面板中的顯示(display)屬性改變生成的框的類型,通過將display屬性設置為block,可以讓行內(nèi)元素(例如<a>)表現(xiàn)得像塊級元素

? ? ? ? ? ? ? ? 還可以將display設置為none讓生成的元素沒有框

? ? ? ? ? ? 11.2CSS定位機制

? ? ? ? ? ? ? ? CSS有三種基本的定位機制:普通流,浮動和絕對定位,除非專門指定,否則所有框都在普通流中定位(也就是說普通流中的元素的位置由元素在(x)HTML中的位置決定

? ? ? ? ? ? 11.3定位屬性

? ? ? ? ? ? ? ? 定位屬性包括定位類型(position), 定位坐標(left,top.right,bottom),溢出處理(flowover),層疊屬性(z-index)和垂直對齊方式(vertical-align)

? ? ? ? ? ? ? ? 11.3.1 positon指定的定位做別的類型,有以下幾種:

? ? ? ? ? ? ? ? 1.static:默認次序,即文本流順序,從左到右,由上到下,這時指定的定位坐標無效

? ? ? ? ? ? ? ? 2.relative:相對坐標,相對于原來的位置,需要設定左上角的偏移量(left,top)

? ? ? ? ? ? ? ? 3.absolute:絕對坐標,元素顯示在父容器指定的絕對坐標上,此時將忽略其他對象的存在,可能會覆蓋掉其他對象

? ? ? ? ? ? ? ? 4.fixed:固定坐標,瀏覽器窗口坐標,固定在瀏覽器窗口的某一位置,不隨頁面的滾動而移動(例如網(wǎng)頁的小廣告)

5.inherit:繼承父容器的position

? ? 11.3.2 層疊屬性(z-index):控制層(盒子)在Z軸上的排列次序,為整數(shù),值越大越靠近上面,該屬性只對position設置為absolute或者relative有效

? ? ? ? ? ? ? ? 11.3.3 可見性屬性(visibility):控制顯示或者隱藏,可取visible,hiddden.collapse和inherit等?

? ? ? ? ? ? ? ? 11.3.4 溢出處理(flowover);當文本流超出框的時候如何處理,可以隱藏(hidden),也可以讓溢出部分可見(visible),或者自動擴充容器(auto) ,還可以出現(xiàn)滾動條(scroll)

? ? 11.4 浮動與清理

? ? ? ? ? ? ? ? 11.4.1 浮動

? ? ? ? ? ? ? ? ? ? ? 浮動是指浮動的框可以向左或者向右移動,直到它的外邊緣碰到包含框或者另一個浮動框為止

? ? ? ? ? ? ? ? ? ? ? 浮動框不在文檔的普通流里,不占位置

? ? ? ? ? ? ? ? 11.4.2 行框與清理

? ? ? ? ? ? ? ? ? ? ? 普通的行框占一行,不允許旁邊出現(xiàn)其他元素

? ? ? ? ? ? ? ? ? ? ? ? 要想阻止行框圍繞浮動框,則需要對框使用clear屬性,clear屬性的值可以是left,right,both或者none,它表示框的哪一條邊不應該挨著浮動框 ?

12.DIV+CSS網(wǎng)頁布局

           12.1  <div>標記是“無名框”標記,是HTML文檔定義層的標記,又稱層(塊)標記

? ? ? ? ? ? ? ? 12.2? ? DIV+CSS網(wǎng)頁布局是一個典型應用,網(wǎng)頁主要由三部分組成:結(jié)構(gòu),表現(xiàn)和行為

? ? ? ? 結(jié)構(gòu)主要包括DIV在內(nèi)的一系列XHTML標記

表現(xiàn)主要包括CSS層次樣式表

行為主要包括對象模型(如W3C DOM)等

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡信息傳遞的載體。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 4,955評論 0 0
  • CSS 指層疊樣式表(Cascading Style Sheets),是一種用來為結(jié)構(gòu)化文檔(如 HTML 文檔或...
    神齊閱讀 2,232評論 0 14
  • 學習CSS的最佳網(wǎng)站沒有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_閱讀 1,192評論 0 1
  • CSS基礎(chǔ) 本文包括CSS基礎(chǔ)知識選擇器(重要?。。。├^承、特殊性、層疊、重要性CSS格式化排版單位和值盒模型浮動...
    廖少少閱讀 3,452評論 0 40
  • 本課來自http://www.imooc.com/learn/9請不要用作商業(yè)用途。 HTML5 HTML介紹 H...
    PYLON閱讀 3,450評論 0 5

友情鏈接更多精彩內(nèi)容