5.13日(rì)音(yīn)訊,玩(wán)轉div中盒←€子(zǐ)模型其實很(hěn)簡單。說(shuō)起盒子(zǐ)模型,Ω©相(xiàng)信大(dà)家(jiā)都(dōu)不(bù)陌生(s™$¶hēng),這(zhè)在網站(zhàn)制(zhì)作(zuò)中經常£≤遇到(dào),但(dàn)我們在網頁制(zhì)作(zuò)中卻會(huì♥✘<)經常遇到(dào)一(yī)些(xiē)小(xiǎo)的(dα£¥₩e)問(wèn)題,網頁變形了(le)、錯(cuò)位了(le)、™α沒有(yǒu)按我們的(de)意圖來(lái)擺放(fàn≤↓&™g)了(le),等等,這(zhè)就(jiù)是(shì)我們對(ε♦©duì)字還(hái)有(yǒu)一(yī)些(xiē)知(zhī)識或功₽©&能(néng)沒有(yǒu)知(zhī)識清楚,現(xiàn)¶←₹★在我們就(jiù)來(lái)仔細認識下(xià),幫助大(d>→©εà)家(jiā)共同學習(xí)。
說(shuō)白(bái)了(le),CSS盒子(zǐ)也(♦yě)是(shì)裝東(dōng)西(xī)的(de),比如(r"≤α≤ú)我們要(yào)将文(wén)字內(nèi)容、圖片布局網頁中,那(≈™nà)就(jiù)需要(yào)像盒子(↕zǐ)一(yī)樣裝著(zhe)。這(zhè)個(€φgè)時(shí)候我們對(duì)其對(duì)象設置css高(gāo)≤$度(cssheight)、css寬度(csswidth)、cs←←s邊框(cssborder)、css邊距(cssmar☆♣gin)、填充(csspadding),即φ✔φγ可(kě)實現(xiàn)像盒子(zǐ)φ¥一(yī)樣的(de)長(cháng)方形、正方形平面盒ε≥↕¥子(zǐ)。
通(tōng)常我們這(zhè)樣:
一(yī)組<div></div&gΩ t;、<span></span©Ω>等類似這(zhè)種語法标簽組叫1個(gè)盒子(zǐ)。因為(w§δèi)我們對(duì)其設置了(le)高(gāo"¶₹)度(height)、寬度(width)、邊框(border)、邊距(m∞ φargin)、填充(padding)等屬↓'±性後即可(kě)呈現(xiàn)出盒子(zǐ)一(yī)樣的(de)長(★ <cháng)方形或正方形。所以我們CSS盒子(zλ ↔ǐ)模型因此而得(de)來(lái)。
日(rì)常使用(yòng)CSS盒子(zǐ):↓•←
我們說(shuō)将什(shén)麽內(nèi)容放(fàng∏ )入一(yī)個(gè)盒子(zǐ)裡(lǐ),我們₹$≥♠就(jiù)要(yào)想到(dào)是(shì)€Ω放(fàng)入<div></div>₩Ω裡(lǐ),腦(nǎo)海(hǎi)裡(lǐ)就Ω™≤φ(jiù)要(yào)這(zhè)個(gè)概念。
假如(rú)我們說(shuō)設置一(yī)個(gè)寬度為(wèλ±✘i)100px盒子(zǐ),我們就(jiù)要(yào)知(zhī)道(dà o)如(rú)下(xià)一(yī)個(gè)概念:
Css樣式代碼:
.yangshi{width:100px;}
對(duì)應html代碼:
<divclass="←β;yangshi">內(n§×£"èi)容</div>
這(zhè)個(gè)時(shí)候我們可(kě)以将<divcl£♥→✘ass="yangshi">內(nèi)容</£∏div>看(kàn)作(zuò)為(wèi)一(yī)個(gè)盒子≥©"¥(zǐ)。
1、盒子(zǐ)模型的(de)heig©≥≤ht和(hé)width屬性,指的(de)是(shì)content區☆₹(qū)的(de)高(gāo)和(hé)寬,∞↕而不(bù)是(shì)整個(gè)盒子(zǐ)的(±λ×de)。2、div為(wèi)塊級元素,span'→₹為(wèi)行(xíng)級元素。3、行(xíng)內(nè≤≤ ₩i)元素之間(jiān)的(de)水(sh&→☆uǐ)平距離(lí)為(wèi)左元素的(de)右ma♥÷÷☆rgin和(hé)右元素的(de)左margi δn之和(hé)。4、塊元素之間(jiān)的(de)豎直距離(lí)為(wè↔₹i)上(shàng)元素的(de)下(xià)margin↓Ωσ§和(hé)下(xià)元素的(de)上(shàng)mar∏≥gin的(de)最大(dà)值。5、設置♣≥了(le)float屬性的(de)塊級元素脫離(lí<☆ε)标準流,其下(xià)方的(de)塊級元素會(huì)占領其原來(lái)的×$♦(de)位置,隻是(shì)下(xià)方塊級元素中的₹→(de)文(wén)字會(huì)被該塊擠開(kāi),形成一φ φ(yī)個(gè)文(wén)字環繞該塊效果。如(rú)果想清除浮動的(de♥¶)影(yǐng)響,設置clear屬性,該屬性有(yǒu)3個(gè)值Ω∞₩♠:left、both、right。6、如(rú)果一(y ≤★ ī)個(gè)父類盒子(zǐ)中所有(yǒu)子(zǐ)類盒子(zǐ)均設置★€↔為(wèi)浮動(float),該父盒子(zǐ)的(de)高(gāo)度幾乎為↓∏÷(wèi)零,如(rú)果想讓父盒子(zǐ←<)的(de)告訴何內(nèi)部子(zǐ)♦®盒子(zǐ)的(de)高(gāo)度自(zì)适應,在父盒子(∞✔zǐ)內(nèi)部的(de)下(xià)方©•"£添加一(yī)個(gè)div,設置其CSS屬性為(wèi)™≥≠{clear:both;margin:0;paddinΩ♠★g:0}7、盒子(zǐ)的(de)定位,pos✘$∑¥ition屬性的(de)取值有(yǒu)四個(gè)。static♠£✔:盒子(zǐ)按标準流進行(xíng)布局。relative:相(☆★xiàng)對(duì)定位,盒子(zǐ)相(xiàng)對(du≈★ì)原來(lái)标準位置偏移指定距離(lí),☆"®相(xiàng)對(duì)盒子(zǐ)仍在标準流中,其後的(de)盒子(zǐ∑→)仍以标準方式對(duì)待它。
怎麽樣才算(suàn)是(shì)選擇了(le) ©“标準W3C盒子(zǐ)模型”呢(ne)?很(hěn® )簡單,就(jiù)是(shì)在網頁制(zhì)作(zuò)的(de€ )頂部加上(shàng)DOCTYPE聲明(míng)。如(rú)✘<果不(bù)加DOCTYPE聲明(míng),那(nà)麽各個(α∏¥gè)浏覽器(qì)會(huì)根據自(α<φzì)己的(de)行(xíng)為(wèi)去<®§(qù)理(lǐ)解網頁,即IE浏覽器(qì)會(huì)采用(yò↔>← ng)IE盒子(zǐ)模型去(qù)解釋你(nǐ)±δδ∏的(de)盒子(zǐ),而FF會(huì)采用(yòng)标準W3C盒子(z ∑ǐ)模型解釋你(nǐ)的(de)盒子(zǐ),所以網頁在不(bù)同的(♣de)浏覽器(qì)中就(jiù)顯示的λΩ (de)不(bù)一(yī)樣了(le)。反之,如(rú←)果加上(shàng)了(le)DOCTYγ •≈PE聲明(míng),那(nà)麽所有(yǒu)浏覽器(qì)都(d φ$ōu)會(huì)采用(yòng)标準W3C盒子(zǐ)模型去(qù)φ←解釋你(nǐ)的(de)盒子(zǐ),網頁就(jiù)能(×λ¥néng)在各個(gè)浏覽器(qì)中顯示一(yī)緻了§© (le)。
其實說(shuō)起來(lái)簡單,但(dàn)做(zuò)起來♣↕(lái)就(jiù)沒有(yǒu)這(zhè)麽容易了(l<&£e),隻有(yǒu)我們把它們這(zhè)間(jiān)的(de)各≤γ←σ種關系搞清楚了(le),我們才會(huì)達到(dào)自 ♣(zì)己想要(yào)的(de)效果,怎麽樣才αλσ<能(néng)搞明(míng)白(bái)呢(ne),就(jiù)要&"(yào)我們不(bù)矢餘力地(dì)多≤♦(duō)多(duō)練習(xí),在練習(xí)中發現✔→(xiàn)要(yào)點,在實踐中才能(néngσ←©♦)創造一(yī)個(gè)良好(hǎo)合理(lǐ)的(de)網頁≤γ效果。