CSS

樣式選擇器

  • 標(biāo)簽選擇器
  • 類選擇器:.
  • ID選擇器:#
  • 子(后代)選擇器:> 空格
  • 通用選擇器:* 匹配所有html標(biāo)簽
  • 屬性選擇器:[att=val] ,如#id{}等價(jià)于id=idName{}.className{}等價(jià)于class~=className{},都是特例。
    [att^=val]:以val開頭;[att$=val]:以val結(jié)尾;[att*=val]:包含val...
  • 偽類選擇器:給html不存在的標(biāo)簽(標(biāo)簽的某種狀態(tài))設(shè)置樣式。
a:link{color: gray;}  //鏈接
a:visited{color: red;}  //已訪問
a:hover{color: green;}  //鼠標(biāo)懸停
a:active{color: orange;} //選中時(shí)```
- [偽元素選擇器](http://www.runoob.com/css/css-pseudo-elements.html):
![](http://upload-images.jianshu.io/upload_images/1943350-2a23ae4381536db5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

- *類選擇器和ID選擇器的區(qū)別:*
1、ID選擇器只能在文檔中使用一次。與類選擇器不同,在一個(gè)HTML文檔中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。
2、可以使用類選擇器詞列表方法為一個(gè)元素同時(shí)設(shè)置多個(gè)樣式。我們可以為一個(gè)元素同時(shí)設(shè)多個(gè)樣式,但只可以用類選擇器的方法實(shí)現(xiàn),ID選擇器是不可以的(不能使用 ID 詞列表)。

- *子選擇器和包含選擇器的區(qū)別:*
子選擇器(child selector)僅是指它的直接后代,或者你可以理解為作用于子元素的第一代后代。而后代選擇器是作用于所有子后代元素。包含選擇器通過空格來進(jìn)行選擇,而子選擇器是通過“>”進(jìn)行選擇。
總結(jié):>作用于元素的第一代后代,空格作用于元素的所有后代。

- 當(dāng)你想為html中多個(gè)標(biāo)簽元素設(shè)置同一個(gè)樣式時(shí),可以使用分組選擇符(,),如下代碼為右側(cè)代碼編輯器中的h1、span標(biāo)簽同時(shí)設(shè)置字體顏色為紅色:
`h1,span{color:red;}`它相當(dāng)于下面兩行代碼:`h1{color:red;}span{color:red;}`

- *權(quán)值*
標(biāo)簽的權(quán)值為1,類選擇符的權(quán)值為10,ID選擇符的權(quán)值最高為100。例如下面的代碼:

p{color:red;} /權(quán)值為1/
p span{color:green;} /權(quán)值為1+1=2/
.warning{color:white;} /權(quán)值為10/
p span.warning{color:purple;} /權(quán)值為1+1+10=12/

footer .note p{color:yellow;} /權(quán)值為100+10+1=111/```

注意:還有一個(gè)權(quán)值比較特殊--繼承也有權(quán)值但很低,有的文獻(xiàn)提出它只有0.1,所以可以理解為繼承的權(quán)值最低。

格式化排版

元素分類

常用的塊狀元素有:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<li>、<dl>、<table>、<address>、<blockquote> 、<form>
常用的內(nèi)聯(lián)元素有:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
常用的內(nèi)聯(lián)塊狀元素有:
<img>、<input>

將塊狀元素轉(zhuǎn)換為內(nèi)聯(lián)元素:{display:inline;}
將內(nèi)聯(lián)元素轉(zhuǎn)換為塊狀元素:{display:block;}
轉(zhuǎn)換為inline-block元素:{display:inline-block;}

  • 塊狀元素(block)
    特點(diǎn):
    1、每個(gè)塊級(jí)元素都從新的一行開始,并且其后的元素也另起一行。(真霸道,一個(gè)塊級(jí)元素獨(dú)占一行)
    2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。
    3、元素寬度在不設(shè)置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設(shè)定一個(gè)寬度。

  • 內(nèi)聯(lián)元素(行內(nèi)元素,inline)
    特點(diǎn):
    1、和其他元素都在一行上;
    2、元素的高度、寬度及頂部和底部邊距不可設(shè)置;
    3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。

  • 內(nèi)聯(lián)塊狀元素(inline-block)
    同時(shí)具備內(nèi)聯(lián)元素和塊狀元素的特點(diǎn)。
    特點(diǎn):
    1、和其他元素都在一行上;
    2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。

盒模型

  • 邊框(border)
    屬性:粗細(xì),樣式,顏色。
    border-width:2px;(thin細(xì) | medium中 | thick粗(但不是很常用),最常還是用像素(px))
    border-style:solid;(dashed虛線,dotted點(diǎn)線,solid實(shí)線)
    border-color:red;(十六進(jìn)制顏色,#888)

單獨(dú)設(shè)置邊框

div{
    border-bottom 底:1px solid red;
    border-top 上:1px solid red;
    border-right 右:1px solid red; 
    border-left 左:1px solid red;
}```

- 填充(padding)
元素內(nèi)容與邊框之間是可以設(shè)置距離的,稱之為“填充”。填充也可分為上、右、下、左(順時(shí)針)。

- 邊界(margin)
元素與其它元素之間的距離可以使用邊界來設(shè)置。邊界也是可分為上、右、下、左。
*padding在邊框里,margin在邊框外。*

### 布局模型
- 流動(dòng)模型(flow)
默認(rèn)的網(wǎng)頁(yè)布局模型
1、塊狀元素都會(huì)在所處的包含元素內(nèi)自上而下按順序垂直延伸分布,因?yàn)樵谀J(rèn)狀態(tài)下,塊狀元素的寬度都為100%。實(shí)際上,塊狀元素都會(huì)以行的形式占據(jù)位置。
2、在流動(dòng)模型下,內(nèi)聯(lián)元素都會(huì)在所處的包含元素內(nèi)從左到右水平分布顯示。(內(nèi)聯(lián)元素可不像塊狀元素這么霸道獨(dú)占一行)

- 浮動(dòng)模型(float)
默認(rèn)寬度為內(nèi)容寬度,半脫離文檔流(對(duì)元素,脫離文檔流;對(duì)內(nèi)容,在文檔流)

.clearfix:after{ //清除float元素,clear屬性指定段落的左側(cè)或右側(cè)不允許浮動(dòng)的元素。
content: 0;
display: block;
clear: both;
height: 0px;
overflow: hidden;
visibility: hidden;
}```

  • 層模型(layer)
    CSS定義了一組定位(positioning)屬性來支持層布局模型。
    1、絕對(duì)定位(position: absolute)
    絕對(duì)于其父元素(或)位置,默認(rèn)寬度為內(nèi)容寬度,脫離文檔流,參照物為第一個(gè)定位祖先或者根元素。
    2、相對(duì)定位(position: relative)
    相對(duì)于其原來的位置
    3、固定定位(position: fixed)
    參照物為視窗
  • 彈性布局(flax)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 本文主要是起筆記的作用,內(nèi)容來自慕課網(wǎng). 認(rèn)識(shí)CSS樣式 CSS全稱為“層疊樣式表 (Cascading Styl...
    0o凍僵的企鵝o0閱讀 2,750評(píng)論 0 30
  • 一.CSS描述 CSS全稱為“層疊樣式表(Cascading Style Sheets)”,它主要是用于定義HTM...
    snowy_sunny閱讀 1,196評(píng)論 0 4
  • 一 外部式css樣式 (也可稱為外聯(lián)式)就是把css代碼寫一個(gè)單獨(dú)的外部文件中,這個(gè)css樣式文件以“.css...
    KunMitnic閱讀 1,119評(píng)論 0 1
  • 本課來自http://www.imooc.com/learn/9請(qǐng)不要用作商業(yè)用途。 HTML5 HTML介紹 H...
    PYLON閱讀 3,447評(píng)論 0 5
  • CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義HTML內(nèi)容在瀏覽器...
    百作不死的學(xué)習(xí)閱讀 1,329評(píng)論 0 7

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