前端面試題(2)——CSS盒模型


題目:談?wù)勀銓?duì)CSS盒模型的理解

  1. 基本概念:標(biāo)準(zhǔn)模型+IE模型
  2. 標(biāo)準(zhǔn)模型和IE模型的區(qū)別
  3. CSS如何設(shè)置這兩種模型
  4. JS如何設(shè)置獲取盒模型對(duì)應(yīng)的寬和高
  5. 實(shí)例題(根據(jù)盒模型解釋邊距重疊)
  6. BFC(邊距重疊解決方案)/IFC

一、基本概念

CSS盒模型:內(nèi)容(content)捕犬、填充(padding)、邊框(border)婉陷、邊界(margin)

二纱皆、標(biāo)準(zhǔn)模型和IE模型的區(qū)別

  1. 標(biāo)準(zhǔn)模型:寬高都指content辐董,不包括padding和border雾棺;


    標(biāo)準(zhǔn)模型.jpg
  2. IE模型:寬高是指content+padding+border的總的寬高柱告;


    IE模型.jpg

三、CSS如何設(shè)置這兩種模型

  1. 設(shè)置標(biāo)準(zhǔn)盒模型(<font color='#f00'>瀏覽器默認(rèn)</font>):box-sizing:content-box;;
  2. 設(shè)置IE盒模型:box-sizing:border-box;;

四征椒、JS如何設(shè)置獲取盒模型對(duì)應(yīng)的寬和高

  1. dom.style.width/height(只能取出內(nèi)聯(lián)樣式的寬和高);
  2. dom.currentStyle.width/height(三種設(shè)置方式設(shè)置的寬高都可以取到娇哆,但是只支持IE瀏覽器);
  3. window.getComputedStyle(dom).idth/height(三種設(shè)置方式設(shè)置的寬高都可以取到勃救,兼容firefox和chrome,相比上一種通用性更好一些)
  4. dom.getBoundingClientRect().width/height(適用場(chǎng)所:計(jì)算一個(gè)元素的絕對(duì)位置碍讨,相對(duì)于視窗viewport的左頂點(diǎn)的絕對(duì)位置,dom.getBoundingClientRect()方法可以拿到四個(gè)元素蒙秒,分別是top/left/width/height);

五勃黍、實(shí)例題(根據(jù)盒模型解釋邊距重疊)

  1. 父子元素:子元素的height=100px;marign-top=10px晕讲;請(qǐng)問(wèn)父元素的高度是覆获?
  • 下面的代碼片段顯示子元素和父元素的高度都是100px;
  • 若給父元素加上overflow:hidden;(BFC)瓢省,則子元素的高度為100不變弄息,父元素的高度為110px;
    <section id="sec">
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            #sec {
                background: #f00;
            }
            
            .child {
                height: 100px;
                margin-top: 10px;
                background: yellow;
            }
        </style>
        <article class="child"></article>
    </section>
    
  1. 兄弟元素:若為上下分布,則大的margin兼容小的margin勤婚;若為左右分布摹量,則相加;

    • 上下分布: 以下代碼片段中馒胆,elderBrotheryoungerBrother之間的上下間距是30px缨称;
    <section id="sect">
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            #sect article {
                height: 200px;
            }
            
            .elderBrother {
                margin-bottom: 30px;
                background: #f00;
            }
            
            .youngerBrother {
                margin-top: 10px;
                background: yellow;
            }
        </style>
        <article class="elderBrother"></article>
        <article class="youngerBrother"></article>
    </section>
    
    • 左右分布:以下代碼片段中,elderBrotheryoungerBrother之間的左右間距是40px祝迂;
    <section id="sect">
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            #sect article {
                height: 100px;
                width: 300px;
                display: inline-block;
            }
            
            .elderBrother {
                margin-bottom: 30px;
                background: #f00;
            }
            
            .youngerBrother {
                margin-top: 10px;
                background: yellow;
            }
        </style>
        <article class="elderBrother"></article>
        <article class="youngerBrother"></article>
    </section>
    

六睦尽、BFC(邊距重疊解決方案)

  1. BFC的基本概念:塊級(jí)格式化上下文;IFC的基本概念:內(nèi)聯(lián)元素格式化上下文型雳;
  2. BFC的原理(BFC的渲染規(guī)則):
    • 在BFC這個(gè)元素的垂直方向上的邊距重疊当凡;
    • BFC的區(qū)域不會(huì)和浮動(dòng)元素的box重疊(用來(lái)清除浮動(dòng)和做布局)山害;
    • BFC在頁(yè)面上是一個(gè)獨(dú)立的容器,它外面的元素不會(huì)影響它里面的元素宁玫,它里面的元素也不會(huì)影響它外面的元素粗恢;
    • 計(jì)算BFC高度的時(shí)候,浮動(dòng)元素也會(huì)參與計(jì)算欧瘪;
  3. 如何創(chuàng)建BFC眷射?
    • float的值不是none的時(shí)候;
    • position的值不是static/relative的時(shí)候佛掖;
    • display的值是table相關(guān)的值的時(shí)候妖碉;
    • overflow的值不是visible的時(shí)候;
  4. BFC的使用場(chǎng)景
    • BFC垂直方向邊距重疊的問(wèn)題芥被;
    • BFC不與float重疊欧宜;
    • 清除浮動(dòng);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拴魄,一起剝皮案震驚了整個(gè)濱河市冗茸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匹中,老刑警劉巖夏漱,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異顶捷,居然都是意外死亡挂绰,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門服赎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)葵蒂,“玉大人,你說(shuō)我怎么就攤上這事重虑〖叮” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵缺厉,是天一觀的道長(zhǎng)永高。 經(jīng)常有香客問(wèn)我,道長(zhǎng)芽死,這世上最難降的妖魔是什么乏梁? 我笑而不...
    開(kāi)封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任次洼,我火速辦了婚禮关贵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘卖毁。我一直安慰自己揖曾,他們只是感情好落萎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著炭剪,像睡著了一般练链。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奴拦,一...
    開(kāi)封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天媒鼓,我揣著相機(jī)與錄音,去河邊找鬼错妖。 笑死绿鸣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的暂氯。 我是一名探鬼主播潮模,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼痴施!你這毒婦竟也來(lái)了擎厢?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤辣吃,失蹤者是張志新(化名)和其女友劉穎动遭,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體齿尽,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沽损,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了循头。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绵估。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖卡骂,靈堂內(nèi)的尸體忽然破棺而出国裳,到底是詐尸還是另有隱情,我是刑警寧澤全跨,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布缝左,位于F島的核電站,受9級(jí)特大地震影響浓若,放射性物質(zhì)發(fā)生泄漏渺杉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一挪钓、第九天 我趴在偏房一處隱蔽的房頂上張望是越。 院中可真熱鬧,春花似錦碌上、人聲如沸倚评。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)天梧。三九已至盔性,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呢岗,已是汗流浹背冕香。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留后豫,地道東北人暂筝。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像硬贯,于是被迫代替她去往敵國(guó)和親焕襟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案饭豹? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評(píng)論 1 92
  • ?前端面試題匯總 一鸵赖、HTML和CSS 21 你做的頁(yè)面在哪些流覽器測(cè)試過(guò)?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,220評(píng)論 0 8
  • css盒模型 1.題目:談?wù)勀銓?duì)css盒模型的認(rèn)識(shí)(從理論轉(zhuǎn)化到應(yīng)用) 基本概念:標(biāo)準(zhǔn)模型+ IE模型border...
    飛菲fly閱讀 958評(píng)論 0 2
  • 50道CSS基礎(chǔ)面試題(附答案) 1 介紹一下標(biāo)準(zhǔn)的CSS的盒子模型拄衰?與低版本IE的盒子模型有什么不同的它褪? 標(biāo)準(zhǔn)盒...
    殺個(gè)程序猿祭天閱讀 1,652評(píng)論 0 71
  • 在我苦逼的做著第三個(gè)PPT的時(shí)候茫打,老曹在QQ上蹭蹭蹭發(fā)了好幾張照片,猛一看妖混,我去老赤,這誰(shuí)家大胖小子,白胖白胖的制市!在我...
    寶藏女王閱讀 189評(píng)論 0 1