繼承
給父元素設(shè)置屬性,子元素也可以使用。
注意點(diǎn):
1.并不是所有的屬性都可以繼承,只有以/color/font/text-/line 為開(kāi)頭的屬性才可以繼承
2.在CSS繼承中不僅僅是兒子可以繼承,只要是后代都可以繼承
CSS繼承中的特殊性:
a標(biāo)簽中的文字顏色和下劃線是不能繼承的
h標(biāo)簽的文字大小是不能繼承的
應(yīng)用場(chǎng)景:
一般用于設(shè)置網(wǎng)頁(yè)上的一些共性信息,例如網(wǎng)頁(yè)的文字顏色,字體,大小
less處理代碼的多余空間
層疊
層疊性就是CSS處理沖突的一種能力
注意點(diǎn):
層疊性只有在多個(gè)選擇器選中“統(tǒng)一標(biāo)簽”然后又設(shè)置了“相同的屬性”才會(huì)出現(xiàn)層疊性
同一個(gè)標(biāo)簽同一個(gè)屬性
優(yōu)先級(jí)
當(dāng)多個(gè)選擇器選中同一個(gè)標(biāo)簽,并且給同一個(gè)標(biāo)簽設(shè)置相同的屬性是,如何層疊就由優(yōu)先級(jí)來(lái)確定
優(yōu)先級(jí)判斷的三種方式:
1.是否是直接選中(間接選中就是指繼承)
如果是間接選中,那么就是誰(shuí)離目標(biāo)標(biāo)簽比較近就聽(tīng)
誰(shuí)的
2.是否相同選擇器
如果都是直接選中,并且都是同類型的選擇器,那么就是誰(shuí)寫(xiě)在后面就聽(tīng)誰(shuí)的
3.不同選擇器
如果都是直接選中,并且不是相同類型的選擇器,那么就會(huì)按照選擇器的優(yōu)先級(jí)來(lái)層疊
id>類>標(biāo)簽>通配符>繼承>瀏覽器默認(rèn)
行內(nèi)樣式比ID高
!important
用于提升某個(gè)直接選中標(biāo)簽的選擇器中的某個(gè)屬性的優(yōu)先級(jí)的,可以將被指定的屬性的優(yōu)先級(jí)提升為最高
注意點(diǎn):
!important 只能用于直接選中而不能用于間接選中
通配符標(biāo)簽選中的標(biāo)簽也是被直接選中的
!important 只能提升被指定的屬性的優(yōu)先級(jí),其它的屬性的優(yōu)先級(jí)不會(huì)被提升
!important 必須寫(xiě)在屬性值的分號(hào)前面
!important 的“!”不能被省略
權(quán)重
當(dāng)多個(gè)選擇器混合在一起使用時(shí),我們可以通過(guò)計(jì)算優(yōu)先級(jí)權(quán)重級(jí)最高
權(quán)重的計(jì)算規(guī)則:
1.首先先計(jì)算選擇器中有多少個(gè)id,id多的選擇器優(yōu)先級(jí)高
2.如果id的個(gè)數(shù)一樣,那么再看類名的個(gè)數(shù),
類名多的選擇器優(yōu)先級(jí)高
3.如果類名的個(gè)數(shù)一樣,那么再看標(biāo)簽名稱的個(gè)數(shù)
標(biāo)簽名多的選擇器優(yōu)先級(jí)高
4.如果id個(gè)數(shù)一樣,類名個(gè)數(shù)也一樣,標(biāo)簽名稱個(gè)數(shù)也一樣,那么就不會(huì)繼續(xù)往下計(jì)算了,那么此時(shí)誰(shuí)寫(xiě)在后面聽(tīng)誰(shuí)的
也就是說(shuō)優(yōu)先級(jí)如果一樣,那么誰(shuí)寫(xiě)在后面聽(tīng)誰(shuí)的
注意點(diǎn):
選擇器是直接選中標(biāo)簽的才需要計(jì)算權(quán)重,
div
一般用于配合css完成網(wǎng)頁(yè)的基本布局
span
一般用于配合css修改網(wǎng)頁(yè)局部信息
div與span的區(qū)別
1.div會(huì)單獨(dú)占領(lǐng)一行,span不會(huì)單獨(dú)占領(lǐng)一行
2.div是一個(gè)容器級(jí)別的標(biāo)簽
3.span是一個(gè)文本級(jí)別的標(biāo)簽
容器級(jí)的標(biāo)簽和文本級(jí)的標(biāo)簽的區(qū)別
容器級(jí)的標(biāo)簽可以嵌套其它所有的標(biāo)簽
文本級(jí)的標(biāo)簽只能嵌套文字/超鏈接/圖片
在html中html將所有的標(biāo)簽分為兩類,分別是容器及和文本級(jí)
在css中css也將所有的標(biāo)簽分為兩類,分別是快級(jí)元素和行內(nèi)元素
塊級(jí)元素會(huì)獨(dú)占一行而行內(nèi)元素不會(huì)獨(dú)占一行
塊級(jí)元素
如果沒(méi)有設(shè)置寬度,那么默認(rèn)和父元素一樣寬
如果設(shè)置了寬高,那么就按照設(shè)置的寬高來(lái)顯示
行內(nèi)元素
如果沒(méi)有設(shè)置寬度,那么默認(rèn)和內(nèi)容一樣寬
行內(nèi)元素是不可以設(shè)置寬度和高度的
行內(nèi)塊級(jí)元素
為了能夠讓元素既不獨(dú)占一行,有可以設(shè)置寬度和高度,那么就出現(xiàn)了行內(nèi)塊級(jí)元素
元素顯示轉(zhuǎn)換
display: inline;轉(zhuǎn)換行內(nèi) di
display: block;轉(zhuǎn)換快級(jí) db
display: inline-block;轉(zhuǎn)換為行內(nèi)塊級(jí) dib
background
給標(biāo)簽設(shè)置背景顏色
background-image: url();
設(shè)置背景圖片
background-repeat
背景圖片平鋪(默認(rèn)是平鋪的)
background-repeat:no-repeat
不平鋪
background-repeat:repeat-x
水平平鋪
background-repeat:repeat-y
垂直平鋪
應(yīng)用場(chǎng)景:
可以通過(guò)背景圖片平鋪來(lái)降低圖片的大小,來(lái)提高網(wǎng)頁(yè)訪問(wèn)的速度
背景定位
注意點(diǎn):
同一個(gè)標(biāo)簽可以同時(shí)設(shè)置背景顏色和背景圖片,如果顏色和圖片共存,那么圖片會(huì)覆蓋顏色
background-position
背景圖片定位
縮寫(xiě):
background:顏色 圖片 平鋪方式 關(guān)聯(lián)方式 定位方式
background任何一個(gè)屬性都可以被省略
背景關(guān)聯(lián)
修改背景圖片與滾動(dòng)條的關(guān)聯(lián)方式
background-attachment不綁定滾動(dòng)默認(rèn)取值scroll
綁定滾動(dòng)fixed
背景圖片與插入圖片的區(qū)別
背景圖片僅僅是一個(gè)裝飾 不會(huì)占用位置
插入圖片會(huì)占用位置
背景圖片有定位屬性,所以可以很方便的控制圖片的位置
插入圖片沒(méi)有定位屬性,所以不能控制圖片的位置
CSS精靈圖
CSS精靈圖是一種圖像合成技術(shù)
作用:
可以減少請(qǐng)求的次數(shù),以及降低服務(wù)器處理壓力
配合背景圖片和背景定位來(lái)使用
邊框
邊框就是環(huán)繞在標(biāo)簽寬度和高度周圍的線條
內(nèi)邊距
邊框和內(nèi)容之間的距離就是內(nèi)邊距
注意點(diǎn):
給標(biāo)簽設(shè)置內(nèi)邊距后,標(biāo)簽占有的寬高度發(fā)生變化
內(nèi)邊距也會(huì)有背景顏色
外邊距
標(biāo)簽與標(biāo)簽的距離就是外邊距
外邊不會(huì)有背景顏色
外邊距合并
水平方向
外邊距會(huì)出現(xiàn)疊加現(xiàn)象
垂直方向
誰(shuí)的外邊距大就聽(tīng)誰(shuí)的
CSS3中新增了一個(gè)box-sizing的屬性:
這個(gè)屬性可以保證我們給盒子增加內(nèi)邊與外邊和boder的時(shí)候不會(huì)變形(會(huì)減除內(nèi)容的款高度)
如果兩個(gè)盒子是嵌套關(guān)系,那么設(shè)置了里面一個(gè)盒子的頂部的外邊距,外面一個(gè)紙盒也會(huì)被頂下來(lái)
如果外面的盒子不想被一起頂下來(lái),那么可以給外面的盒子添加一個(gè)邊框?qū)傩?/p>
在企業(yè)開(kāi)發(fā)中,一般情況下如果需要控制嵌套關(guān)系盒子之間的距離,應(yīng)該首先考慮pandding,其次再考慮margin
margin本質(zhì)上是控制兄弟關(guān)系之間的間隙
注意點(diǎn):
在嵌套關(guān)系的盒子,我們可以利用margin:0 auto的方式來(lái)讓里面的盒子在外面的盒子中水平居中,此方式只對(duì)水平方向有效,對(duì)垂直無(wú)效
transform: translate();平移操作:后面跟坐標(biāo)值
移動(dòng)塊級(jí)標(biāo)簽平移
外墻法清除浮動(dòng):
在兩個(gè)盒子中間加一個(gè)塊級(jí)元素
在這個(gè)塊級(jí)元素中加一個(gè)clean-both
注意點(diǎn):
可以讓第二個(gè)盒子使用margin-top屬性
不可以讓第一個(gè)盒子使用margin-bottom屬性
內(nèi)墻法清除浮動(dòng):
在第一個(gè)盒子中所有子元素最后添加一個(gè)塊級(jí)元素
在這個(gè)額外添加的塊級(jí)元素中加一個(gè)clean-both
注意點(diǎn):
可以讓第二個(gè)盒子使用margin-top屬性
可以讓第一個(gè)盒子使用margin-bottom屬性
區(qū)別:
外墻法不能撐起第一個(gè)盒子的高度,而內(nèi)墻法可以
偽元素選擇器:
偽元素選擇器的作用就是給指定標(biāo)簽的內(nèi)容前面添加一個(gè)子元素或者給指定標(biāo)簽的內(nèi)容后面添加一個(gè)子元素
*zoom:1;兼容ie6
overfow:hidden
將超出標(biāo)簽范圍的內(nèi)容裁剪掉
清除浮動(dòng)