css盒模型

題目:談談對css盒模型的基本認識

  • 基本概念:標準模型+IE模型
  • 標準模型和IE模型的區(qū)別
    (計算寬度和高度的不同)
  • css如何設置這兩種模型
  • js如何設置獲取盒模型對應的寬和高
  • 實例題(根據(jù)盒模型解釋邊距重疊)
  • BFC(邊距重疊解決方案)



css如何設置這兩種模型巩螃?

box-sizing:content-box(標準模型租幕,也是瀏覽器默認模型)
box-sizing:border-box(ie模型)

js如何設置獲取盒模型對應的寬和高斤葱?

dom.style.width/height(只能獲取內(nèi)聯(lián)屬性的值)
內(nèi)聯(lián)樣式:直接在標簽內(nèi)寫樣式style=""
dom.currentStyle,width/height (只要是瀏覽器渲染出來的dom都能獲取到威始,但是只有ie支持)
window.getComputedStyle(dom).width/height(兼容性更好爵憎,通用)



一個div中嵌套了一個div,子元素高為100px魏宽,子元素與父元素上邊距為10px庶灿,問父元素高為多少,是110px還是100px窄做?
答案:100px或者110px都對愧驱,要看父元素的盒模型怎么設置。
父元素設置了overflow:hidden時椭盏,高度為110px组砚,沒有設置的時候為100px。

<style type="text/css">
        .child{
            width: 300px;
            height: 300px;
            margin-top: 20px;
            background: #0000FF;
        }
        .parent{
            background: #FF0000;
            width: 300px;
        /*  overflow: hidden; */
        }
    </style>
    <body>
        <div class="parent">
            <div class="child"></div>
        </div>
    </body>
<style type="text/css">
        .child{
            width: 300px;
            height: 300px;
            margin-top: 20px;
            background: #0000FF;
        }
        .parent{
            background: #FF0000;
            width: 300px;
            overflow: hidden;
        }
    </style>
    <body>
        <div class="parent">
            <div class="child"></div>
        </div>
    </body>
補充知識(邊距重疊)

邊界重疊是指兩個或多個盒子(可能相鄰也可能嵌套)的相鄰邊界(其間沒有任何非空內(nèi)容掏颊、補白糟红、邊框)重合在一起而形成一個單一邊界。
兩個或多個塊級盒子的垂直相鄰邊界會重合乌叶,它們的邊界寬度是相鄰邊界寬度中的最大值改化。注意水平邊界是不會重合的。

①父子元素的邊界重疊
  • 上面例子中一開始時父元素的高度不是110px枉昏,而是100px陈肛,在這里發(fā)生了高度坍塌。原因是如果塊元素的 margin-top 與它的第一個子元素的margin-top 之間沒有 border兄裂、padding句旱、inline content、 clearance 來分隔晰奖,或者塊元素的 margin-bottom 與它的最后一個子元素的margin-bottom 之間沒有 border谈撒、padding、inline content匾南、height啃匿、min-height、 max-height 分隔,那么外邊距會塌陷溯乒。子元素多余的外邊距會被父元素的外邊距截斷夹厌。也就是說,子元素的外邊距變成了父元素的外邊距裆悄,父元素在進行高度計算時不會對子元素的邊距進行計算矛纹。
②兄弟元素的邊界重疊
    <style>
        #margin {
            background: #E7A1C5;
            overflow: hidden;
            width: 300px;
        }
        #margin>p {
            background: #C8CDF5;
            margin: 20px auto 30px;
        }
        </style>
        <section id="margin">
            <p>1</p>
            <p>2</p>
            <p>3</p>
        </section>

可以看到1和2,2和3之間的間距不是50px,發(fā)生了邊距重疊是取了它們之間的最大值30px光稼。

③空元素的邊界重疊

假設有一個空元素或南,它有外邊距,但是沒有邊框或填充艾君。在這種情況下采够,上外邊距與下外邊距就碰到了一起,它們會發(fā)生合并:


bfc(邊距重疊解決方案)
  • 基本概念(塊級格式上下文)
  • 原理(渲染規(guī)則)
    ① bfc里的元素垂直方向上的邊距會發(fā)生邊距重疊
    ②bfc區(qū)域不會與浮動元素發(fā)生重疊
    ③ bfc在頁面上是一個獨立的容器冰垄,外面的元素不會影響里面的元素吁恍,里面的元素不會影響外面的元素
    ④ 計算bfc高度的時候,浮動元素也會參與計算
  • 如何創(chuàng)建bfc
    ①float值不為none
    ②position的值不為static/relative
    ③display為inline-box/table/table-cell
    ④overflow:auto/hidden
  • bfc的使用場景
    ①清除浮動(解決父元素高度坍塌播演,使父元素計算高度時也將浮動元素高度計算進去)
    ②BFC垂直方向邊距重疊
    解決方法:給其中一個元素再添加一個父元素冀瓦,給父元素觸發(fā)bfc
    ③布局,左邊固定写烤,右邊自適應(bfc元素不與浮動元素重疊)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末翼闽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子洲炊,更是在濱河造成了極大的恐慌感局,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暂衡,死亡現(xiàn)場離奇詭異询微,居然都是意外死亡,警方通過查閱死者的電腦和手機狂巢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門撑毛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唧领,你說我怎么就攤上這事藻雌。” “怎么了斩个?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵胯杭,是天一觀的道長。 經(jīng)常有香客問我受啥,道長做个,這世上最難降的妖魔是什么鸽心? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮居暖,結(jié)果婚禮上顽频,老公的妹妹穿的比我還像新娘。我一直安慰自己膝但,他們只是感情好,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布谤草。 她就那樣靜靜地躺著跟束,像睡著了一般。 火紅的嫁衣襯著肌膚如雪丑孩。 梳的紋絲不亂的頭發(fā)上冀宴,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音温学,去河邊找鬼略贮。 笑死,一個胖子當著我的面吹牛仗岖,可吹牛的內(nèi)容都是我干的逃延。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼轧拄,長吁一口氣:“原來是場噩夢啊……” “哼揽祥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起檩电,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拄丰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后俐末,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體料按,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年卓箫,在試婚紗的時候發(fā)現(xiàn)自己被綠了载矿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡烹卒,死狀恐怖恢准,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甫题,我是刑警寧澤馁筐,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站坠非,受9級特大地震影響敏沉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一盟迟、第九天 我趴在偏房一處隱蔽的房頂上張望秋泳。 院中可真熱鬧,春花似錦攒菠、人聲如沸迫皱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卓起。三九已至,卻和暖如春凹炸,著一層夾襖步出監(jiān)牢的瞬間戏阅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工啤它, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奕筐,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓变骡,卻偏偏與公主長得像离赫,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子塌碌,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

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

  • 基本慨念 內(nèi)容區(qū)域(content)是包含元素真實內(nèi)容的區(qū)域搂漠。它通常包含背景迂卢、顏色或者圖片等,位于內(nèi)容邊界的內(nèi)部桐汤,...
    晴天的晴q閱讀 2,184評論 0 0
  • 盒模型的認識 基本概念:標準模型+IE模型而克。 包括margin,border,padding,content 標準...
    小境之月閱讀 610評論 0 1
  • 盒模型基本概念 盒模型本質(zhì)是一個盒子,包括邊距怔毛,邊框员萍,填充,和實際內(nèi)容拣度。 標準盒模型和IE盒模型 不同在于高度和寬...
    追風的云月閱讀 584評論 0 0
  • css盒模型 題目:談談你對CSS盒模型的認識 文檔中每個元素都會被描述為一個矩形盒子碎绎,盒子有一個邊界螃壤,分別為ma...
    一包閱讀 582評論 0 0
  • 我從未想過我是今日的我。 左手邊咖啡杯中緩慢上升的熱氣冒到了我的大框眼鏡上筋帖,沒有甜食奸晴,也沒有薯片。半夜就是這樣日麸,安...
    cca4cb7acaf5閱讀 314評論 0 3