最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

CSS2超全知識點(diǎn)總結(jié),CSS權(quán)重!important塌陷inherit 層模型px,em和rem【詩書畫唱】

2021-01-22 00:44 作者:詩書畫唱  | 我要投稿



CTRL+F搜索關(guān)鍵詞條:

代碼

例子和運(yùn)行效果

PPT

適合休息時聽的學(xué)習(xí)視頻

active激活

屬性選擇器

內(nèi)聯(lián)(行內(nèi))元素

子選擇器

通用選擇器

偽類選擇器

分組選擇器

偽類與偽元素:

after和:before

CSS權(quán)重總結(jié)

內(nèi)聯(lián)(行內(nèi))元素

塊級元素特點(diǎn)

塊級元素、內(nèi)聯(lián)(行內(nèi))元素和內(nèi)聯(lián)塊狀元素。

CSS繼承

important屬性的運(yùn)用

!important

?inherit 的屬性

內(nèi)聯(lián)塊狀元素

邊框

CSS布局模型

流動模型(Flow)

浮動模型 (Float)

層模型(Layer)

流動模型


浮動模型



層模型有三種形式:

絕對定位(position: absolute)

相對定位(position: relative)

固定定位(position: fixed)


浮動造成的塌陷



CSS中的單位px,em和rem



視頻筆記

鼠標(biāo)在上面就顯示角色翅膀,移走就消失翅膀的例子

特別注意:CSS權(quán)重的順序?yàn)椋?span id="s0sssss00s" class="color-purple-04">important > 內(nèi)聯(lián) > ID > 類 > 標(biāo)簽 | 偽類 | 屬性選擇 > 偽對象 > 通配符 > 繼承。根據(jù)?CSS 規(guī)范,具體性越明確的樣式規(guī)則,權(quán)重值越高。


解決“塌陷”問題有以下三個方法(個人認(rèn)為自己寫項(xiàng)目時還是常會用以下內(nèi)容的):

在使用float元素的父元素結(jié)束前加一個高為0寬為0且有clear:both樣式的div

在使用float元素的父元素添加overflow:hidden

使用after偽元素清除浮動





PPT START



學(xué)習(xí)web前端開發(fā)基礎(chǔ)技術(shù)需要掌握:HTML、CSS、JavaScript語言。

1. HTML是網(wǎng)頁內(nèi)容的載體。內(nèi)容就是網(wǎng)頁制作者放在頁面上想要讓用戶瀏覽的信息,可以包含文字、圖片、視頻等。

2. CSS樣式是表現(xiàn)。就像網(wǎng)頁的外衣。比如,標(biāo)題字體、顏色變化,或?yàn)闃?biāo)題加入背景圖片、邊框等。所有這些用來改變內(nèi)容外觀的東西稱之為表現(xiàn)。

3. JavaScript是用來實(shí)現(xiàn)網(wǎng)頁上的特效效果。如:鼠標(biāo)滑過彈出下拉菜單。或鼠標(biāo)滑過表格的背景顏色改變。還有焦點(diǎn)新聞(新聞圖片)的輪換??梢赃@么理解,有動畫的,有交互的一般都是用JavaScript來實(shí)現(xiàn)的。

樣式選擇器指明了{(lán)}中的樣式的作用對象,也就是樣式作用于網(wǎng)頁中的哪些元素。

標(biāo)簽選擇器

類選擇器

ID選擇器

子選擇器

通用選擇器

偽類選擇器

分組選擇器


偽類與偽元素:

偽元素中用的最多的就是:after和:before,我們可以用這兩個偽元素做很多效果!

嘗試一下的代碼:

a::after { content:"("attr(href) ")"; }?

a::before { content: url(logo.png); }

CSS權(quán)重的順序?yàn)椋?span id="s0sssss00s" class="color-purple-04">important > 內(nèi)聯(lián) > ID > 類 > 標(biāo)簽 | 偽類 | 屬性選擇 > 偽對象 > 通配符 > 繼承。根據(jù) CSS 規(guī)范,具體性越明確的樣式規(guī)則,權(quán)重值越高。

CSS權(quán)重計(jì)算


選擇器權(quán)重值的計(jì)算:

A:如果規(guī)則是寫在標(biāo)簽的style屬性中(內(nèi)聯(lián)樣式),則A=1,否則,A=0. 對于內(nèi)聯(lián)樣式,由于沒有選擇器,所以 B、C、D 的值都為 0,即 A=1, B=0, C=0, D=0(簡寫為 1,0,0,0,下同)。

B:計(jì)算該選擇器中ID的數(shù)量。(例如,#header這樣的選擇器,計(jì)算為 0, 1, 0, 0)。

C:計(jì)算該選擇器中偽類及其它屬性的數(shù)量(包括類選擇器、屬性選擇器等,不包括偽元素)。 (例如, .logo[id='site-logo'] 這樣的選擇器,計(jì)算為 0, 0, 2, 0)。

D:計(jì)算該選擇器中偽元素及標(biāo)簽的數(shù)量。(例如,p:first-letter這樣的選擇器,計(jì)算為0, 0, 0, 2)。

CSS權(quán)重比較


權(quán)重值的比較:

根據(jù)規(guī)范,計(jì)算權(quán)重值時,A, B, C, D 四組值,從左到右,分組比較,如果 A 相同,比較 B, 如果 B 相同,比較 C, 如果 C 相同,比較 D, 如果 D 相同,后定義的優(yōu)先。


特殊的 !important:

在按照 ABCD 四組計(jì)算比較之外,在定義樣式的時候,還可以對某一個屬性應(yīng)用 !important。 需要特別注意的是這里的 "!" 與其在編程語言中的意義剛好相反,不是代表“不重要”而是代表“很重要”。

CSS2 規(guī)范中規(guī)定:!important 用于單獨(dú)指定某條樣式中的單個屬性。對于被指定的屬性,有!important 指定的權(quán)重值大于所有未用 !important 指定的規(guī)則。

簡單樣式權(quán)重的運(yùn)用:

important屬性的運(yùn)用:

第一個樣式的權(quán)重值為 0, 1, 1, 2,第二個樣式的權(quán)重值僅為 0, 0, 0, 2。所以應(yīng)用于相同元素時,應(yīng)該是第一個樣式生效。但是對于 color 這個屬性,由于在第二個樣式中用 !important 做了指定,因此color 將應(yīng)用第二個樣式的規(guī)則。而 font-weight 則按照規(guī)定用樣式一的規(guī)則。

CSS權(quán)重總結(jié)


一條樣式規(guī)則的整體權(quán)重值包含四個獨(dú)立的部分:[A, B, C, D];

A 表示內(nèi)聯(lián)樣式,只有 1 或者 0 兩個值;

B 表示規(guī)則中ID的數(shù)量;

C 表示規(guī)則中除了 ID、標(biāo)簽和偽元素以外的其它選擇器數(shù)量;

D 表示規(guī)則中標(biāo)簽和偽元素的數(shù)量;

比較時從高位到低位(從 A 到 D)分別比較,高位相同才需要比較低位;

有 !important 標(biāo)記的屬性權(quán)重值無視沒用 !important 指定的一切情況;

多次指定 !important 時,相互抵銷。

inherit 而來的屬性定義,優(yōu)先級低于任何直接指定的屬性值。


CSS繼承

CSS的某些樣式是具有繼承性的。繼承是一種規(guī)則,它允許樣式不僅應(yīng)用于某個特定html標(biāo)簽元素,而且應(yīng)用于其后代。每個屬性值還有一個可能為 inherit的值。表示元素的該樣式屬性繼承自父級元素,與父級元素的定義一致。

對于 inherit 的屬性: 繼承而來的屬性值,權(quán)重永遠(yuǎn)低于明確指定到元素的定義。只有當(dāng)一個元素的某個屬性沒有被直接指定時,才會繼承父級元素的值。


下面的例子中,樣式規(guī)則并未針對 span 標(biāo)簽指定 color 屬性, 但是 span中的文字會顯示為紅色, 這就是因?yàn)閟pan的color屬性默認(rèn)值為inherit.


在CSS中,html中的標(biāo)簽元素大體被分為三種不同的類型:塊級元素、內(nèi)聯(lián)(行內(nèi))元素和內(nèi)聯(lián)塊狀元素。

常用的塊狀元素有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<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>

設(shè)置display:block就是將元素顯示為塊級元素。

塊級元素特點(diǎn):

每個塊級元素都從新的一行開始,并且其后的元素也另起一行。(即一個塊級元素獨(dú)占一行)

元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。

元素寬度在不設(shè)置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設(shè)定一個寬度。


內(nèi)聯(lián)(行內(nèi))元素


塊狀元素也可以通過代碼display:inline將元素設(shè)置為內(nèi)聯(lián)(行內(nèi))元素。

內(nèi)聯(lián)(行內(nèi))元素特點(diǎn):

和其他元素都在一行上;

元素的高度、寬度、行高及頂部和底部邊距不可設(shè)置;

元素的寬度就是它包含的文字或圖片的寬度,不可改變。



內(nèi)聯(lián)塊狀元素


內(nèi)聯(lián)塊狀元素(inline-block)就是同時具備內(nèi)聯(lián)元素、塊狀元素的特點(diǎn),代碼display:inline-block就是將元素設(shè)置為內(nèi)聯(lián)塊狀元素。(css2.1新增),<img>、<input>標(biāo)簽就是這種內(nèi)聯(lián)塊狀標(biāo)簽。

內(nèi)聯(lián)塊狀元素特點(diǎn):

和其他元素都在一行上;

元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。


邊框


盒子模型的邊框就是圍繞著內(nèi)容及補(bǔ)白的線,這條線可以設(shè)置它的粗細(xì)、樣式和顏色(邊框三個屬性)。

注意:

border-style(邊框樣式)常見樣式有:

dashed(虛線)| dotted(點(diǎn)線)| solid(實(shí)線)。

border-color(邊框顏色)中的顏色可設(shè)置為十六進(jìn)制顏色,如:

border-color:#888;//前面的#號不要忘掉。

CSS布局模型


布局模型與盒模型都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基礎(chǔ)之上,又不同于我們常說的 CSS 布局樣式或 CSS 布局模板。如果說布局模型是本,那么 CSS 布局模板就是末了,是外在的表現(xiàn)形式。?

CSS包含3種基本的布局模型,用英文概括為:Flow、Layer 和 Float。

在網(wǎng)頁中,元素有三種布局模型:

流動模型(Flow)

浮動模型 (Float)

層模型(Layer)

流動模型


流動(Flow)是默認(rèn)的網(wǎng)頁布局模式。也就是說網(wǎng)頁在默認(rèn)狀態(tài)下的 HTML 網(wǎng)頁元素都是根據(jù)流動模型來分布網(wǎng)頁內(nèi)容的。

流動布局模型具有2個比較典型的特征:

塊狀元素都會在所處的包含元素內(nèi)自上而下按順序垂直延伸分布,因?yàn)樵谀J(rèn)狀態(tài)下,塊狀元素的寬度都為100%。實(shí)際上,塊狀元素都會以行的形式占據(jù)位置。

在流動模型下,內(nèi)聯(lián)元素都會在所處的包含元素內(nèi)從左到右水平分布顯示。





浮動模型


如果想讓兩個塊狀元素并排顯示,可以通過設(shè)置元素浮動來實(shí)現(xiàn)。任何元素在默認(rèn)情況下是不能浮動的,但可以用CSS定義為浮動,如div、p、table、img等元素都可以被定義為浮動。

注意:設(shè)置浮動的同時一定要先設(shè)置塊狀元素的寬度,且需要浮動的幾個元素寬度加起來一定要小于容器元素的寬度。



層模型


如何讓html元素在網(wǎng)頁中精確定位,就像圖像軟件PhotoShop中的圖層一樣可以對每個圖層能夠精確定位操作。CSS定義了一組定位(positioning)屬性來支持層布局模型。

層模型有三種形式:

絕對定位(position: absolute)

相對定位(position: relative)

固定定位(position: fixed)

層模型--絕對定位(相對于父類)

如果想為元素設(shè)置層模型中的絕對定位,需要設(shè)置屬性position為absolute,這條語句的作用將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對于其最接近的一個具有定位屬性的父包含塊進(jìn)行絕對定位。如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口。

如果想為元素設(shè)置層模型中的相對定位,需要設(shè)置position屬性為relative(表示相對定位),它通過left、right、top、bottom屬性確定元素在正常文檔流中的偏移位置。相對定位完成的過程是首先按static(float)方式生成一個元素(并且元素像層一樣浮動了起來),然后相對于以前的位置移動,移動的方向和幅度由left、right、top、bottom屬性確定,偏移前的位置保留不動。

fixed:表示固定定位,與absolute定位類型類似,但它的相對移動的坐標(biāo)是視圖(屏幕內(nèi)的網(wǎng)頁窗口)本身。由于視圖本身是固定的,它不會隨瀏覽器窗口的滾動條滾動而變化,除非你在屏幕中移動瀏覽器窗口的屏幕位置,或改變?yōu)g覽器窗口的顯示大小,因此固定定位的元素會始終位于瀏覽器窗口內(nèi)視圖的某個位置,不會受文檔流動影響。

我們既可以使用position:absolute實(shí)現(xiàn)被設(shè)置元素相對于瀏覽器(body)的定位,也可以通過relative與absolute組合相對于其它元素進(jìn)行定位。

參照定位的元素必須是相對定位元素的前輩元素

參照定位的元素必須加入position:relative

定位元素加入position:absolute,便可以使用top、bottom、left、right來進(jìn)行偏移定位了。

浮動造成的塌陷


使用浮動(float)時,如果父元素只包含浮動元素,那么它的高度就會塌縮為零。如果父元素不包含任何的可見背景,這個問題會被忽視,但是這是一個很重要的問題。

解決“塌陷”問題有以下三個方法:

在使用float元素的父元素結(jié)束前加一個高為0寬為0且有clear:both樣式的div

在使用float元素的父元素添加overflow:hidden

使用after偽元素清除浮動

盒子模型

W3C組織建議把所有網(wǎng)頁上的對像都放在一個盒(box)中,設(shè)計(jì)師可以通過創(chuàng)建定義來控制這個盒的屬性




CSS中的單位px,em和rem

px(Pixel)是固定的像素點(diǎn)。像素px是相對于顯示器屏幕分辨率而言的

em和rem都是相對長度單位。長度不是固定的,而是會根據(jù)當(dāng)前對象內(nèi)文本的字體大小發(fā)生變化,所以更適用于響應(yīng)式布局。

em和rem的區(qū)別一句話概括:em相對于父元素,rem相對于根元素。


rem表示全部的長度都相對于根元素,而根元素是<html>元素。所以通常做法是給html元素設(shè)置一個字體大小,然后其他元素的長度單位就為rem,這樣頁面上使用了rem單位的元素會隨著根元素的字體大小發(fā)生變化。


實(shí)現(xiàn)三角形



PPT END



視頻筆記 START

鼠標(biāo)在上面就顯示角色翅膀,移走就消失翅膀的例子


視頻筆記 END

適合休息時聽的學(xué)習(xí)視頻

https://www.bilibili.com/video/BV1cT4y1P7C3



active激活,偽類選擇器

屬性選擇器

代碼 START


例子和運(yùn)用效果

/*寫在外部文件中的樣式就叫外部式樣式*/

span {

color: green;

}

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<!-- 寫在style標(biāo)簽中的樣式就叫嵌入式樣式 -->

<style type="text/css">

p {

font-size: 30px;

color: blue;

}

</style>

<link rel="stylesheet" href="css/my.css" />

</head>

<body>

<!-- 寫在元素的style屬性中的樣式就叫內(nèi)聯(lián)式樣式 -->

<div style="width: 100px;height: 100px;background-color: red;"></div>


<p>Hello world</p>


<span>測試文字</span>

</body>

</html>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

#ctx {

color: red;

}


.bg {


}


span {

color: orange;

}

/*通用選擇器*/

*{}


/*子選擇器:>表示選擇ul標(biāo)簽的兒子中間的a標(biāo)簽

? ? 空格表示選擇ul標(biāo)簽所有的后代中的a標(biāo)簽*/

ul>a {

color: red;

}

/*群組選擇器:,*/

div,input {

background-color: yellow;

}

#ctx,span {

font-size: 50px;

}

</style>

</head>

<body>

<ul>

<a href="#">擴(kuò)展</a>

<li>語文</li>

<li>數(shù)學(xué)<a href="#">瀏覽</a></li>

<li>英語<div><h1><a href="#">PPP</a></h1></div></li>

</ul>

<div id="ctx">aaa</div>

<span class="bg">hehe</span>

<span class="bg">bbb</span>

<span class="bg">cccc</span>

<input type="text" class="bg" />

<span>lop</span>

</body>

</html>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

#inp:active {

border: 5px red solid;

}

#inp:focus {

font-size: 50px;

}

div:hover {

color: orange;

}

a:link {

color: deeppink;

text-decoration: line-through;

}

a:visited {

color: green;

}

li:first-child {

color: red;

}

</style>

</head>

<body>

<ul>

<li>HTML</li>

<li>CSS</li>

<li>JS</li>

</ul>

<ul>

<li>語文</li>

<li>數(shù)學(xué)</li>

<li>英語</li>

</ul>

<input id="inp" type="text" />

<div>Hello world</div>

<a href="#">瀏覽</a>

</body>

</html>


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

*{

? ? color: red;/*0,0,0,0*/

}

div {

color: yellow;/*0,0,0,1*/

}


div span {

color: green;/*0,0,0,2*/

}

span[id] {

color:orange;/*0,0,1,1*/

}

#sp1 {

color: pink;/*0,1,0,0*/

}

</style>

</head>

<body>

<!-- 1,0,0,0 -->

<div style="color: orange;">Hello world</div>


<div>Hello

<span>A</span>

<span id="sp1">G</span>

<span>K</span>

</div>

</body>

</html>



代碼 END


CSS2超全知識點(diǎn)總結(jié),CSS權(quán)重!important塌陷inherit 層模型px,em和rem【詩書畫唱】的評論 (共 條)

分享到微博請遵守國家法律
杭锦后旗| 库车县| 余江县| 中阳县| 厦门市| 深州市| 海丰县| 铁力市| 山阴县| 荥阳市| 白水县| 文登市| 安平县| 江华| 华宁县| 武宁县| 临城县| 大同县| 体育| 若羌县| 明星| 静宁县| 隆昌县| 诸城市| 台州市| 康保县| 平舆县| 南安市| 旌德县| 天气| 长阳| 阿克苏市| 中山市| 宿州市| 铁岭县| 团风县| 伊金霍洛旗| 诏安县| 铁岭县| 高尔夫| 广元市|