CSS布局模型

清楚了CSS 盒模型的基本概念、 盒模型類型嫌变, 我們就可以深入探討網(wǎng)頁(yè)布局的基本模型了响禽。布局模型與盒模型一樣都是 CSS 最基本、 最核心的概念嘉蕾。 但布局模型是建立在盒模型基礎(chǔ)之上贺奠,又不同于我們常說(shuō)的 CSS 布局樣式或 CSS 布局模板。如果說(shuō)布局模型是本错忱,那么 CSS 布局模板就是末了儡率,是外在的表現(xiàn)形式。
CSS包含3種基本的布局模型以清,用英文概括為:Flow儿普、Layer 和 Float。
在網(wǎng)頁(yè)中掷倔,元素有三種布局模型:
1眉孩、流動(dòng)模型(Flow)
2、浮動(dòng)模型 (Float)
3、層模型(Layer)

流動(dòng)模型

流動(dòng)(Flow)是默認(rèn)的網(wǎng)頁(yè)布局模式浪汪。也就是說(shuō)網(wǎng)頁(yè)在默認(rèn)狀態(tài)下的 HTML 網(wǎng)頁(yè)元素都是根據(jù)流動(dòng)模型來(lái)分布網(wǎng)頁(yè)內(nèi)容的障贸。
流動(dòng)布局模型具有2個(gè)比較典型的特征:
第一點(diǎn),塊狀元素都會(huì)在所處的包含元素內(nèi)自上而下按順序垂直延伸分布吟宦,因?yàn)樵谀J(rèn)狀態(tài)下篮洁,塊狀元素的寬度都為100%。實(shí)際上殃姓,塊狀元素都會(huì)以行的形式占據(jù)位置袁波。如右側(cè)代碼編輯器中三個(gè)塊狀元素標(biāo)簽(div,h1蜗侈,p)寬度顯示為100%篷牌。
第二點(diǎn),在流動(dòng)模型下踏幻,內(nèi)聯(lián)元素都會(huì)在所處的包含元素內(nèi)從左到右水平分布顯示枷颊。(內(nèi)聯(lián)元素可不像塊狀元素這么霸道獨(dú)占一行)

浮動(dòng)模型

塊狀元素這么霸道都是獨(dú)占一行,如果現(xiàn)在我們想讓兩個(gè)塊狀元素并排顯示该面,怎么辦呢夭苗?不要著急,設(shè)置元素浮動(dòng)就可以實(shí)現(xiàn)這一愿望隔缀。
任何元素在默認(rèn)情況下是不能浮動(dòng)的题造,但可以用 CSS 定義為浮動(dòng),如 div猾瘸、p界赔、table、img 等元素都可以被定義為浮動(dòng)牵触。如下代碼可以實(shí)現(xiàn)兩個(gè) div 元素一行顯示淮悼。
float:left;
float:righgt;

層模型

什么是層布局模型?層布局模型就像是圖像軟件PhotoShop中非常流行的圖層編輯功能一樣揽思,每個(gè)圖層能夠精確定位操作袜腥,但在網(wǎng)頁(yè)設(shè)計(jì)領(lǐng)域,由于網(wǎng)頁(yè)大小的活動(dòng)性绰更,層布局沒(méi)能受到熱捧瞧挤。但是在網(wǎng)頁(yè)上局部使用層布局還是有其方便之處的锡宋。下面我們來(lái)學(xué)習(xí)一下html中的層布局儡湾。
如何讓html元素在網(wǎng)頁(yè)中精確定位,就像圖像軟件PhotoShop中的圖層一樣可以對(duì)每個(gè)圖層能夠精確定位操作执俩。CSS定義了一組定位(positioning)屬性來(lái)支持層布局模型徐钠。
層模型有三種形式:
1、絕對(duì)定位(position: absolute)
2役首、相對(duì)定位(position: relative)
3尝丐、固定定位(position: fixed)

絕對(duì)定位

如果想為元素設(shè)置層模型中的絕對(duì)定位显拜,需要設(shè)置position:absolute(表示絕對(duì)定位),這條語(yǔ)句的作用將元素從文檔流中拖出來(lái)爹袁,然后使用left远荠、right、top失息、bottom屬性相對(duì)于其最接近的一個(gè)具有定位屬性的父包含塊進(jìn)行絕對(duì)定位譬淳。如果不存在這樣的包含塊,則相對(duì)于body元素盹兢,即相對(duì)于瀏覽器窗口邻梆。

div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:absolute;
    left:100px;
    top:50px;
}
<div id="div1"></div>
相對(duì)位置

如果想為元素設(shè)置層模型中的相對(duì)定位,需要設(shè)置position:relative(表示相對(duì)定位)绎秒,它通過(guò)left浦妄、right、top见芹、bottom屬性確定元素在正常文檔流中的偏移位置剂娄。相對(duì)定位完成的過(guò)程是首先按static(float)方式生成一個(gè)元素(并且元素像層一樣浮動(dòng)了起來(lái)),然后相對(duì)于以前的位置移動(dòng)玄呛,移動(dòng)的方向和幅度由left宜咒、right、top把鉴、bottom屬性確定故黑,偏移前的位置保留不動(dòng)。
position:relative;

固定定位

fixed:表示固定定位庭砍,與absolute定位類型類似场晶,但它的相對(duì)移動(dòng)的坐標(biāo)是視圖(屏幕內(nèi)的網(wǎng)頁(yè)窗口)本身。由于視圖本身是固定的怠缸,它不會(huì)隨瀏覽器窗口的滾動(dòng)條滾動(dòng)而變化诗轻,除非你在屏幕中移動(dòng)瀏覽器窗口的屏幕位置,或改變?yōu)g覽器窗口的顯示大小揭北,因此固定定位的元素會(huì)始終位于瀏覽器窗口內(nèi)視圖的某個(gè)位置扳炬,不會(huì)受文檔流動(dòng)影響,這與background-attachment:fixed?屬性功能相同搔体。以下代碼可以實(shí)現(xiàn)相對(duì)于瀏覽器視圖向右移動(dòng)100px恨樟,向下移動(dòng)50px。并且拖動(dòng)滾動(dòng)條時(shí)位置固定不變疚俱。
position:fixed;

Relative與Absolute組合使用

小伙伴們學(xué)習(xí)了12-6小節(jié)的絕對(duì)定位的方法:使用position:absolute可以實(shí)現(xiàn)被設(shè)置元素相對(duì)于瀏覽器(body)設(shè)置定位以后劝术,大家有沒(méi)有想過(guò)可不可以相對(duì)于其它元素進(jìn)行定位呢?答案是肯定的,當(dāng)然可以养晋。使用position:relative來(lái)幫忙衬吆,但是必須遵守下面規(guī)范:
1、參照定位的元素必須是相對(duì)定位元素的前輩元素:

<div id="box1"><!--參照定位的元素-->
    <div id="box2">相對(duì)參照元素進(jìn)行定位</div><!--相對(duì)定位元素-->
</div>

從上面代碼可以看出box1是box2的父元素(父元素當(dāng)然也是前輩元素了)绳泉。

2逊抡、參照定位的元素必須加入position:relative;

#box1{
    width:200px;
    height:200px;
    position:relative;        
}

3、定位元素加入position:absolute零酪,便可以使用top秦忿、bottom、left蛾娶、right來(lái)進(jìn)行偏移定位了灯谣。

#box2{
    position:absolute;
    top:20px;
    left:30px;         
}

這樣box2就可以相對(duì)于父元素box1定位了(這里注意參照物就可以不是瀏覽器了,而可以自由設(shè)置了)蛔琅。

字體縮寫

網(wǎng)頁(yè)中的字體css樣式代碼也有他自己的縮寫方式胎许,下面是給網(wǎng)頁(yè)設(shè)置字體的代碼:

body{
    font-style:italic;
    font-variant:small-caps; 
    font-weight:bold; 
    font-size:12px; 
    line-height:1.5em; 
    font-family:"宋體",sans-serif;
}

這么多行的代碼其實(shí)可以縮寫為一句:

body{
    font:italic  small-caps  bold  12px/1.5em  "宋體",sans-serif;
}

注意:
1、使用這一簡(jiǎn)寫方式你至少要指定 font-size 和 font-family 屬性罗售,其他的屬性(如 font-weight辜窑、font-style、font-variant寨躁、line-height)如未指定將自動(dòng)使用默認(rèn)值穆碎。
2、在縮寫時(shí) font-size 與 line-height 中間要加入“/”斜扛职恳。
一般情況下因?yàn)閷?duì)于中文網(wǎng)站所禀,英文還是比較少的,所以下面縮寫代碼比較常用:
body{
font:12px/1.5em "宋體",sans-serif;
}
只是有字號(hào)放钦、行間距色徘、中文字體、英文字體設(shè)置操禀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末褂策,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子颓屑,更是在濱河造成了極大的恐慌斤寂,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揪惦,死亡現(xiàn)場(chǎng)離奇詭異遍搞,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)丹擎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門尾抑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蒂培,你說(shuō)我怎么就攤上這事再愈。” “怎么了护戳?”我有些...
    開(kāi)封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵翎冲,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我媳荒,道長(zhǎng)抗悍,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任钳枕,我火速辦了婚禮缴渊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鱼炒。我一直安慰自己衔沼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布昔瞧。 她就那樣靜靜地躺著指蚁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪自晰。 梳的紋絲不亂的頭發(fā)上凝化,一...
    開(kāi)封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音酬荞,去河邊找鬼搓劫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛混巧,可吹牛的內(nèi)容都是我干的糟把。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼牲剃,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼遣疯!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起凿傅,我...
    開(kāi)封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缠犀,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后聪舒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體辨液,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年箱残,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滔迈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片止吁。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖燎悍,靈堂內(nèi)的尸體忽然破棺而出敬惦,到底是詐尸還是另有隱情,我是刑警寧澤谈山,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布俄删,位于F島的核電站,受9級(jí)特大地震影響奏路,放射性物質(zhì)發(fā)生泄漏畴椰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一鸽粉、第九天 我趴在偏房一處隱蔽的房頂上張望斜脂。 院中可真熱鬧,春花似錦触机、人聲如沸秽褒。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)销斟。三九已至,卻和暖如春椒舵,著一層夾襖步出監(jiān)牢的瞬間蚂踊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工笔宿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留犁钟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓泼橘,卻偏偏與公主長(zhǎng)得像涝动,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子炬灭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案戚揭? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,743評(píng)論 1 92
  • 為期四天的入職培訓(xùn)終于結(jié)束了珍策,感覺(jué)這個(gè)行業(yè)已經(jīng)開(kāi)始逐漸的吸引我了,雖說(shuō)我現(xiàn)在的狀態(tài)是可進(jìn)可退,總有一條后路等著我佛吓,...
    那廝達(dá)克閱讀 152評(píng)論 0 0
  • 學(xué)習(xí)編程是開(kāi)啟你的Web開(kāi)發(fā)和移動(dòng)應(yīng)用開(kāi)發(fā)職業(yè)生涯的一種絕佳方式筹裕。在這篇文章中,我們將分享10個(gè)有助你學(xué)編程的最佳...
    coderpwh閱讀 910評(píng)論 1 10
  • 每當(dāng)清明來(lái)臨椎木,總會(huì)想著要回到老家祭祀祖先违柏。很多年過(guò)去了博烂,年年如此,從未深想漱竖。也許是年紀(jì)逐漸大了禽篱,也許是常年拼搏在外...
    我是安歌閱讀 504評(píng)論 2 3
  • 太陽(yáng)照常升起 筆記1 太陽(yáng)照常升起 筆記2 太陽(yáng)照常升起 筆記3 太陽(yáng)照常升起 筆記4
    午蕤閱讀 1,050評(píng)論 0 0