html+css 12

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 開篇十二章

1辟躏、css布局模型

清楚了CSS 盒模型的基本概念辆憔、 盒模型類型渣蜗, 我們就可以深入探討網(wǎng)頁布局的基本模型了。布局模型與盒模型一樣都是 CSS 最基本县遣、 最核心的概念糜颠。 但布局模型是建立在盒模型基礎(chǔ)之上,又不同于我們常說的 CSS 布局樣式或 CSS 布局模板萧求。如果說布局模型是本其兴,那么 CSS 布局模板就是末了,是外在的表現(xiàn)形式夸政。?

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

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

1、流動(dòng)模型(Flow)

2耗帕、浮動(dòng)模型 (Float)

3穆端、層模型(Layer)


2、流動(dòng)模型(一)

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

流動(dòng)布局模型具有2個(gè)比較典型的特征:

第一點(diǎn)嗽仪,塊狀元素都會在所處的包含元素內(nèi)自上而下按順序垂直延伸分布荒勇,因?yàn)樵谀J(rèn)狀態(tài)下,塊狀元素的寬度都為100%钦幔。實(shí)際上枕屉,塊狀元素都會以行的形式占據(jù)位置。如右側(cè)代碼編輯器中三個(gè)塊狀元素標(biāo)簽(div鲤氢,h1搀擂,p)寬度顯示為100%。


3卷玉、流動(dòng)模型(二)

第二點(diǎn)哨颂,在流動(dòng)模型下,內(nèi)聯(lián)元素都會在所處的包含元素內(nèi)從左到右水平分布顯示相种。(內(nèi)聯(lián)元素可不像塊狀元素這么霸道獨(dú)占一行)

右側(cè)代碼編輯器中內(nèi)聯(lián)元素標(biāo)簽a威恼、span、em寝并、strong都是內(nèi)聯(lián)元素箫措。


4、浮動(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 元素一行顯示。

div{

width:200px;

height:200px;

border:2px? red? ?solid;

float:left;

}

<div? ?id="div1"></div>

<div? ?id="div2"></div>

效果圖


當(dāng)然你也可以同時(shí)設(shè)置兩個(gè)元素右浮動(dòng)也可以實(shí)現(xiàn)一行顯示旨指。

div{

width:200px;

height:200px;

border:2px? red? ?solid;

float:right;

}

效果圖


又有小伙伴問了捻悯,設(shè)置兩個(gè)元素一左一右可以實(shí)現(xiàn)一行顯示嗎?當(dāng)然可以:

div{

width:200px;

height:200px;

border:2px? red? ?solid;

}

#div1{float:left;}

#div2{float:right;}

效果圖




5淤毛、什么是層模型今缚?

什么是層布局模型?層布局模型就像是圖像軟件PhotoShop中非常流行的圖層編輯功能一樣低淡,每個(gè)圖層能夠精確定位操作姓言,但在網(wǎng)頁設(shè)計(jì)領(lǐng)域,由于網(wǎng)頁大小的活動(dòng)性蔗蹋,層布局沒能受到熱捧何荚。但是在網(wǎng)頁上局部使用層布局還是有其方便之處的。下面我們來學(xué)習(xí)一下html中的層布局猪杭。

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

層模型有三種形式:

1戒傻、絕對定位(position: absolute)

2税手、相對定位(position: relative)

3、固定定位(position: fixed)


6需纳、層模型--絕對定位

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

如下面代碼可以實(shí)現(xiàn)div元素相對于瀏覽器窗口向右移動(dòng)100px,向下移動(dòng)50px灭必。

div{

? ? ?width:200px;

? ? ?height:200px;?

? ? ?border:2px red? solid;

? ? ?position:absolute;

? ? ?left:100px;

? ? ?top:50px;

}

<div? id="div1"></div>

效果如下:




7狞谱、層模型--相對定位

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

如下代碼實(shí)現(xiàn)相對于以前位置向下移動(dòng)50px减响,向右移動(dòng)100px;

#div1{

? ? ?width:200px;

? ? ?height:200px;?

? ? ?border:2px red? solid;

? ? ?position:relative;

? ? ?left:100px;

? ? ?top:50px;

}

<div? id="div1"></div>

效果圖:


什么叫做“偏移前的位置保留不動(dòng)”呢靖诗?

大家可以做一個(gè)實(shí)驗(yàn),在右側(cè)代碼編輯器的19行div標(biāo)簽的后面加入一個(gè)span標(biāo)簽支示,在標(biāo)并在span標(biāo)簽中寫入一些文字刊橘。如下代碼:

<body>

<div? ? id="div1"></div><span>偏移前的位置還保留不動(dòng),覆蓋不了前面的div沒有偏移前的位置</span>

</body>

效果圖:


從效果圖中可以明顯的看出颂鸿,雖然div元素相對于以前的位置產(chǎn)生了偏移促绵,但是div元素以前的位置還是保留著,所以后面的span元素是顯示在了div元素以前位置的后面。


8败晴、層模型--固定定位

fixed:表示固定定位浓冒,與absolute定位類型類似,但它的相對移動(dòng)的坐標(biāo)是視圖(屏幕內(nèi)的網(wǎng)頁窗口)本身位衩。由于視圖本身是固定的裆蒸,它不會隨瀏覽器窗口的滾動(dòng)條滾動(dòng)而變化熔萧,除非你在屏幕中移動(dòng)瀏覽器窗口的屏幕位置糖驴,或改變?yōu)g覽器窗口的顯示大小,因此固定定位的元素會始終位于瀏覽器窗口內(nèi)視圖的某個(gè)位置佛致,不會受文檔流動(dòng)影響贮缕,這與background-attachment:fixed;屬性功能相同。以下代碼可以實(shí)現(xiàn)相對于瀏覽器視圖向右移動(dòng)100px俺榆,向下移動(dòng)50px感昼。并且拖動(dòng)滾動(dòng)條時(shí)位置固定不變。

#div1{

? ? width:200px;

? ? height:200px;

? ? border:2px red solid;

? ? position:fixed;

? ? left:100px;

? ? top:50px;

}

<p>文本文本文本文本</p>


9罐脊、Relative與Absolute組合使用

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

1上炎、參照定位的元素必須是相對定位元素的前輩元素:

<div? ?id="div1"><!--參照定位的元素--》

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

<!--相對定位元素-->

</div>

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

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

#box1{

width:200px;?

height:200px;?

position:relative;

}

3藕施、定位元素加入position:absolute寇损,便可以使用top、bottom裳食、left矛市、right來進(jìn)行偏移定位了。

#box2{

? ? position:absolute;

? ? top:20px;

? ? left:30px;

}

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市烦绳,隨后出現(xiàn)的幾起案子卿捎,更是在濱河造成了極大的恐慌,老刑警劉巖径密,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件午阵,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)底桂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門植袍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人籽懦,你說我怎么就攤上這事于个。” “怎么了暮顺?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵厅篓,是天一觀的道長。 經(jīng)常有香客問我捶码,道長羽氮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任惫恼,我火速辦了婚禮档押,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘祈纯。我一直安慰自己令宿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布腕窥。 她就那樣靜靜地躺著粒没,像睡著了一般。 火紅的嫁衣襯著肌膚如雪油昂。 梳的紋絲不亂的頭發(fā)上革娄,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音冕碟,去河邊找鬼拦惋。 笑死,一個(gè)胖子當(dāng)著我的面吹牛安寺,可吹牛的內(nèi)容都是我干的厕妖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼挑庶,長吁一口氣:“原來是場噩夢啊……” “哼言秸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起迎捺,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤举畸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后凳枝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抄沮,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡跋核,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了叛买。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砂代。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖率挣,靈堂內(nèi)的尸體忽然破棺而出刻伊,到底是詐尸還是另有隱情,我是刑警寧澤椒功,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布捶箱,位于F島的核電站,受9級特大地震影響蛾茉,放射性物質(zhì)發(fā)生泄漏讼呢。R本人自食惡果不足惜撩鹿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一谦炬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧节沦,春花似錦键思、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叫搁,卻和暖如春赔桌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渴逻。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工疾党, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惨奕。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓雪位,卻偏偏與公主長得像,于是被迫代替她去往敵國和親梨撞。 傳聞我的和親對象是個(gè)殘疾皇子雹洗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,748評論 1 92
  • 一 外部式css樣式 (也可稱為外聯(lián)式)就是把css代碼寫一個(gè)單獨(dú)的外部文件中卧波,這個(gè)css樣式文件以“.css...
    KunMitnic閱讀 939評論 0 1
  • 本課來自http://www.imooc.com/learn/9請不要用作商業(yè)用途时肿。 HTML5 HTML介紹 H...
    PYLON閱讀 3,223評論 0 5
  • 慕課網(wǎng): HTML+CSS基礎(chǔ)課程 一、元素分類 在講解CSS布局之前港粱,我們需要提前知道一些知識螃成,在CSS中,ht...
    CAICL閱讀 493評論 0 2
  • Html 標(biāo)簽 斜體 粗體 單獨(dú)的樣式 引用文本 長文本引用 換行 空格 分割線 地址信息 單行代碼 多行代碼 無...
    SunnySky_閱讀 553評論 0 5