重新描述一下,當普通的div包裹著固定寬度的兩個div子元素時,當瀏覽器窗口縮小時,會出現(xiàn)子元素“沖出”父元素的現(xiàn)象,當給父元素div增加inline-block的屬性后,子元素和父元素就自適應了,也就是子元素不會沖出父元素,而父元素隨著瀏覽器窗口大小自適應。
我想問的是這個現(xiàn)象的本質(zhì)?以及inline-block在這里的影響?
<div class="outter">
<div>1</div>
<div>2</div>
</div>
.outter {
background: red;
padding: 5px;
display: inline-block;
}
.outter div {
width: 800px;
margin: 5px;
background: gray;
}
當瀏覽器寬度小于div時,就會發(fā)生這樣的現(xiàn)象,
在父元素加上inline-block之后就正常了,求問為什么,這里inline-block發(fā)揮了什么作用
摘抄 《CSS世界》豆瓣讀書第三章 3.2.1小節(jié)的一段來解釋下。
3.2.1 深藏不露的 width:auto
我們應該都知道, width 的默認值是 auto。 auto 因為是默認值,所以出鏡率不高,但
是,它卻是個深藏不露的家伙,它至少包含了以下 4 種不同的寬度表現(xiàn)。
(1) 充分利用可用空間。比方說, <div>、 <p>這些元素的寬度默認是 100%于父級容器的。
這種充分利用可用空間的行為還有個專有名字,叫作 fill-available,大家了解即可。
(2) 收縮與包裹。典型代表就是浮動、絕對定位、 inline-block 元素或 table 元素,
英文稱為 shrink-to-fit,直譯為“收縮到合適”,有那么點兒意思,但不夠形象,我一直把這種現(xiàn)
象稱為“包裹性”。 CSS3 中的 fit-content 指的就是這種寬度表現(xiàn)。
(3) 收縮到最小。 這個最容易出現(xiàn)在 table-layout 為 auto 的表格中,想必有經(jīng)驗的
人一定見過圖 3-4 所示的這樣一柱擎天的盛況吧!
眼見為實,有興趣的讀者可以手動輸入 http://demo.cssworld.cn/3/2-1...
div默認是display: block;width:auto;,所以(1)充分利用可用空間。所以跟著父級容器body變動而變動。
而把div設置為display:inline-block;width:auto;,則表現(xiàn)為(2)收縮與包裹。收縮到合適也就是寬度為子容器的width:800px;
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。