盒子模型是CSS中一個(gè)很重要的概念,頁面中的所有元素都可以看成一個(gè)盒子,并占據(jù)一定的頁面空間,一個(gè)頁面由很多盒子組成,盒子之間會(huì)互相影響。只有掌握盒模型以及其中每個(gè)屬性的用法,才能真正控制好頁面元素。
站在用戶的角度思考問題,與客戶深入溝通,找到秦淮網(wǎng)站設(shè)計(jì)與秦淮網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋秦淮地區(qū)。
盒子模型主要定義四個(gè)區(qū)域: 內(nèi)容(content)、內(nèi)邊距/填充(padding)、邊框(border)和外邊距(margin) 。
盒子的內(nèi)容區(qū)域存放文本和圖片等頁面元素,擁有如下屬性:
邊框基本屬性:
通過一個(gè)屬性設(shè)置四個(gè)方向邊框的寬度、樣式、顏色
屬性:border
取值:width style color;
只設(shè)置某一條邊框的寬度、樣式、顏色
語法:border-方向(top/right/bottom/left):width style color;
只設(shè)置邊框的寬度、樣式、顏色中的一種
語法:border-屬性(width/style/color):取值;
只設(shè)置某一條邊框的寬度、樣式、顏色中的一種
語法:border-方向(top/right/bottom/left)-屬性(width/style/color):取值;
屬性:border-radius
作用:設(shè)置倒角位置處圓的半徑,半徑越大,弧度越大。
取值:
屬性:border-image
語法:
border-image-source :引入背景圖片
取值:
默認(rèn)值:無圖片
url(圖片URL地址)
border-image-slice :切割引入背景圖片,把邊框背景切成9份
取值:
number:默認(rèn)單位px
百分比:
fill:保留邊框圖像的中間部分
border-image-width :指定邊框圖片的寬度
border-image-repeat :指定邊框背景圖片的排列方式,可定義2個(gè)參數(shù),即水平和垂直方向
取值:
Stretch:默認(rèn)值,拉伸
Repeat:平鋪
Round:取整平鋪
內(nèi)容區(qū)域和邊框(邊緣)之間的距離
語法:padding: 值;
單邊設(shè)置:padding-方向(top/right/bottom/left):值;
取值:
數(shù)值px
百分比
內(nèi)邊距的簡寫方式:
padding:value;
四個(gè)方向內(nèi)邊距的值均為value
padding:value1 value2;
Value1為上下內(nèi)邊距的值,value2為左右內(nèi)邊距的值
padding:value1 value2 value3;
Value1為上內(nèi)邊距的值,value2為左右內(nèi)邊距的值,value3為下內(nèi)邊距的值
padding:value1 value2 value3 value4;
上右下左內(nèi)邊距的值分別為value1, value2, value3, value4
外邊距指元素與元素之間的距離,即圍繞在元素邊框之外的空白區(qū)域,通過外邊距可以為元素創(chuàng)建額外的“空間”。默認(rèn)不能被其他元素所占據(jù),用于拉伸兩個(gè)元素間的距離。
語法:margin: 值;
單邊設(shè)置:margin-方向(top/right/bottom/left):值;
取值:
重新制定元素尺寸計(jì)算模式
屬性:box-sizing
取值:
屬性:resize
取值:
位于元素邊框之外的一條線
屬性:
outline:width style color;
屬性:box-shadow
語法:
box-shadow: h-shadow v-shadow blur spread color inset;
取值:由一組值構(gòu)成的值列表
屬性:background-color
取值:顏色值或transparent
注意:背景顏色是從邊框位置處開始繪制
屬性:background-image
取值:url(背景圖像URL)
屬性:background-repeat
取值:
屬性:background-attchment
取值:
scroll:默認(rèn)值,滾動(dòng)
fixed:固定
屬性:background-position
取值:
屬性:background-size
取值:
屬性:background-origin
取值:
屬性:background-clip
取值:
CSS3多背景通過為每個(gè)背景屬性提供多個(gè)屬性值實(shí)現(xiàn)。
font 簡寫屬性語法:
將所有字體屬性合寫為一行,其中font-family是復(fù)合屬性中必不可少的屬性。
可以不設(shè)置其中的某個(gè)值,如果省略值地話,就使用屬性的默認(rèn)值。
②文本屬性:
(2)CSS3文本陰影屬性:
屬性:text-shadow
作用:產(chǎn)生陰影和模糊主體
語法:
作用:定義列表的編號(hào)樣式
屬性:list-style-type
作用:用于設(shè)置列表項(xiàng)的圖像屬性
語法:
圖像URL地址:圖像的相對(duì)路徑或絕對(duì)路徑
none:默認(rèn)值,不指定圖像
注意:圖片圖標(biāo)與文字之間的距離在不同瀏覽器中是不一樣的,因此,一般情況下不采用這種方式來設(shè)置列表的圖片樣式。
通過設(shè)置li的背景圖片的方式來設(shè)置列表圖片基本步驟:
設(shè)置list-style-type屬性值為none
設(shè)置li標(biāo)記的背景屬性backgruond
作用:用于聲明列表標(biāo)志相對(duì)于列表項(xiàng)內(nèi)容的位置
語法:
作用:可以同時(shí)設(shè)定列表樣式類型、列表樣式位置、列表樣式圖片等屬性的值。
語法:
注意:
可以不設(shè)置其中的某個(gè)值,未設(shè)置的屬性采用默認(rèn)值
同時(shí)指定list-style-image和list-style-type時(shí),list-style-image優(yōu)先顯示,除非list-style-image設(shè)置為none,或圖片路徑錯(cuò)誤無法顯示
當(dāng)列表與列表項(xiàng)目同時(shí)使用樣式時(shí),列表項(xiàng)目的樣式優(yōu)先顯示
特點(diǎn):
可以設(shè)置寬度和高度
默認(rèn)情況下每個(gè)塊級(jí)元素獨(dú)占一行
作用:
塊級(jí)元素主要用于頁面布局
常用塊級(jí)元素:
div、p、h1~h6、ol、ul等
特點(diǎn):
不可以設(shè)置寬度和高度,其寬度就是自身文字或圖片的寬度
默認(rèn)情況下多個(gè)行內(nèi)元素會(huì)在一行內(nèi)顯示,遇父元素邊界時(shí)會(huì)自動(dòng)換行
作用:
行內(nèi)元素主要用于設(shè)置文樣式
常用行內(nèi)元素:
a、span、em、b、i、strong、img、input等
作用:控制頁面元素脫離原有文檔流,實(shí)現(xiàn)向左或向右移動(dòng),直到該元素外邊緣碰到其包含框或另一個(gè)浮動(dòng)框的邊緣停止,標(biāo)準(zhǔn)流中的其他盒子將頂?shù)礁?dòng)盒子的位置。浮動(dòng)的元素不占據(jù)實(shí)際空間。
屬性: float
取值:
浮動(dòng)元素不會(huì)相互重疊;
浮動(dòng)元素不會(huì)上下浮動(dòng),如果一個(gè)浮動(dòng)元素在另一個(gè)浮動(dòng)元素之后顯示,而且會(huì)超出容納塊,則它下降到低于先前任何浮動(dòng)元素的位置。
作用:規(guī)定元素的哪一側(cè)不允許出現(xiàn)其他浮動(dòng)元素。
取值:
作用:控制頁面元素在頁面中的位置。
屬性:position
取值:static/relative/absolute/fiexed
默認(rèn)屬性值,元素按照標(biāo)準(zhǔn)文檔流進(jìn)行排列,塊級(jí)元素獨(dú)占一行, 行內(nèi)元素位于一行內(nèi)顯示,一行顯示不下,自動(dòng)換行。
特點(diǎn):
相對(duì)于自身原有位置進(jìn)行偏移
仍處于標(biāo)準(zhǔn)文檔流中
隨即擁有偏移屬性和z-idex屬性
偏移屬性:
left:數(shù)值px;
right:數(shù)值px;
top:數(shù)值px;
bottom:數(shù)值px;
當(dāng)元素相對(duì)定位后會(huì)產(chǎn)生Z軸上的堆疊,不設(shè)置z-index屬性時(shí),默認(rèn)該元素出現(xiàn)在X軸和Y軸構(gòu)成的平面上。
特點(diǎn):
建立了以包含塊為基準(zhǔn)的定位
絕對(duì)定位的元素的位置相對(duì)于最近的已定位祖先元素(設(shè)定了絕對(duì)定位、相對(duì)定位或固定定位中的任何一種),如果元素沒有已定位的祖先元素,則該元素的位置相對(duì)于瀏覽器窗口。
完全脫離了標(biāo)準(zhǔn)文檔流
隨即擁有偏移屬性和z-idex屬性
偏移屬性:
left:數(shù)值px;
right:數(shù)值px;
top:數(shù)值px;
bottom:數(shù)值px;
絕對(duì)定位未設(shè)置偏移量的特點(diǎn):
無論是否存在已經(jīng)定位的祖先元素,都保持在元素的初始位置
脫離了標(biāo)準(zhǔn)文檔流
設(shè)定固定定位的元素框的表現(xiàn)類似于將position設(shè)置為absolute,不過其包含塊是瀏覽器窗口本身。
在計(jì)算機(jī)顯示中把垂直于屏幕平面的方向稱為Z方向,CSS絕對(duì)定位容器的z-index屬性即對(duì)應(yīng)該方向。
作用:用于控制元素的層疊次序,使得某個(gè)元素浮于其他元素之上。
語法:
auto:遵循其父元素的定位
number:整數(shù),可負(fù),值大者疊加在上層
注意:使用z-index屬性時(shí),要求該元素的position屬性值為absolute、relative或fixed。
作用:用于定義建立布局時(shí)元素生成的顯示框類型
語法:dispaly:值;
作用:用于定義建立布局時(shí)元素生成的顯示框類型
語法:visibility:值;
css樣式將對(duì)布局、字體、顏色、背景和其它文圖效果實(shí)現(xiàn)更加精確的控制。只通過修改一個(gè)文件就改變頁數(shù)不計(jì)的網(wǎng)頁的外觀和格式。 在所有瀏覽器和平臺(tái)之間的兼容性。更少的編碼、更少的頁數(shù)和更快的下載速度。除了還不能全面支持我們常用的大多數(shù)瀏覽器之外,CSS在實(shí)現(xiàn)其它承諾方面作得相當(dāng)出色。CSS在改變我們制作樣式表的方法。它為大部分的網(wǎng)頁創(chuàng)新奠定了基石。
1. 繼承性
繼承是一種規(guī)則,它允許樣式不僅應(yīng)用于某個(gè)特定 html 標(biāo)簽元素,而且應(yīng)用于其后代。
比如下面代碼:如某種顏色應(yīng)用于 p 標(biāo)簽,這個(gè)顏色設(shè)置不僅應(yīng)用 p 標(biāo)簽,還應(yīng)用于 p 標(biāo)簽中的所有子元素文本,這里子元素為 span 標(biāo)簽。
span?style="font-size:?18px;"p{color:red;}
p三年級(jí)時(shí),我還是一個(gè)span膽小如鼠/span的小男孩。/p?/span
結(jié)果 p 中的文本與 span 中的文本都設(shè)置為了紅色。但注意有一些 css 樣式是不具有繼承性的。如 border:1px solid red;
span?style="font-size:18px;"p{border:1px?solid?red;}??/span
在上面例子中它代碼的作用只是給 p 標(biāo)簽設(shè)置了邊框?yàn)?像素、紅色、實(shí)心邊框線,而對(duì)于子元素 span 是沒用起到作用的。
2. 特殊性
span?style="font-size:18px;"p{color:red;}
.first{color:green;}
p?class="first"三年級(jí)時(shí),我還是一個(gè)span膽小如鼠/span的小男孩。/p??/span
p 和 .first 都匹配到了 p 這個(gè)標(biāo)簽上,那么會(huì)顯示哪種顏色呢?green是正確的顏色,那么為什么呢?是因?yàn)闉g覽器是根據(jù)權(quán)值來判斷使用哪種 css 樣式的,權(quán)值高的就使用哪種 css 樣式。
下面是權(quán)值的規(guī)則:
標(biāo)簽的權(quán)值為1,類選擇符的權(quán)值為10,ID選擇符的權(quán)值最高為100。例如下面的代碼:
span?style="font-size:18px;"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*/???/span
注意:還有一個(gè)權(quán)值比較特殊–繼承也有權(quán)值但很低,有的文獻(xiàn)提出它只有0.1,所以可以理解為繼承的權(quán)值最低。
3. 層疊性
層疊就是在html文件中對(duì)于同一個(gè)元素可以有多個(gè)css樣式存在,當(dāng)有相同權(quán)重的樣式存在時(shí),會(huì)根據(jù)這些css樣式的前后順序來決定,處于最后面的css樣式會(huì)被應(yīng)用。
如下面代碼:
span?style="font-size:18px;"p{color:red;}
p{color:green;}??/span
最后 p 中的文本會(huì)設(shè)置為green,這個(gè)層疊很好理解,理解為后面的樣式會(huì)覆蓋前面的樣式。
所以前面的css樣式優(yōu)先級(jí)就不難理解了:
內(nèi)聯(lián)樣式表(標(biāo)簽內(nèi)部) 嵌入樣式表(當(dāng)前文件中) 外部樣式表(外部文件中)。
4. 重要性
我們?cè)谧鼍W(wǎng)頁代碼的時(shí),有些特殊的情況需要為某些樣式設(shè)置具有最高權(quán)值,怎么辦?這時(shí)候我們可以用!important來解決。
如下代碼:
span?style="font-size:18px;"p{color:red!important;}
p{color:green;}
p?class="first"三年級(jí)時(shí),我還是一個(gè)span膽小如鼠/span的小男孩。/p??/span
這時(shí) p 段落中的文本會(huì)顯示的red紅色。