例如"<img src="xx.jpg">瀏覽器會根據標籤的src屬性的值來讀取圖片信息並顯示,<input type="radio">瀏覽器會根據input標籤的type屬性來決定是顯示輸入框仍是單選按鈕
<h1>shizai</h1> <div>shashi</div>
在css中,有時一個元素的位置和尺寸的計算都相對於一個矩形,這個矩形被稱做包含塊。包含塊是一個相對的概念,好比子元素的初始化佈局老是在父元素的左上角,這就是一個相對的概念。每一個元素都會生成一個包含塊,但這個包含塊是虛無的,你看不到也摸不着,只是一個概念。包含塊吧並不會限制它裏面元素的大小,若是裏面的元素比包含塊大,那麼超出的部分就會被溢出。一個元素的位置和尺寸與它的包含塊息息相關,而元素會爲它的子孫元素建立包含塊,但這並不表明這個包含塊就是它的父元素(不過這個父元素確實和包含塊有着一些聯繫)。在某些狀況下,咱們能夠將包含塊理解爲父元素。css
當定位值爲absolute,父元素沒有設置定位時,包含塊爲初始包含塊。而若是指定了其定位值,則包含塊由其定位了的父元素或祖先元素建立瀏覽器
<style> .box{ width: 100px; height:100px; border:1px solid red; } .box1{ position: absolute; left:0; top:0; } .box2{ position: relative; left:100px; } .box2 .item,.box3,.box3 .item,.box4 .item{ position: absolute; } .box4{ position: fixed; left: 200px; } </style> <div class="box box1">父元素或祖先元素沒有定位時</div> <div class="box box2"> <div class="item">父元素或祖先元素定位值爲relative</div> </div> <div class="box box3"> <div class="item">父元素或祖先元素定位值爲absolute</div> </div> <div class="box box4"> <div class="item">父元素或祖先元素定位值爲fixed</div> </div>
當祖先元素時行內元素時,若direction值爲ltr則右邊補空白,若direction值爲rtl則左邊補空白佈局
<style> .box{ display: inline; direction: ltr; width: 100px; height: 100px; } .box2{ display:inline; direction: rtl; width:100px; height: 100px; } </style> <div class="box"> <div class="item">direction:ltr</div> </div> <div class="box2"> <div class="item">direction:rtl</div> </div>
控制框主要指display的屬性所造成的框,包括塊框,匿名塊框,行內框,匿名行內框,插入框(run-in).spa
display的一些屬性:code
1.塊級元素與塊框圖片
其中能夠產生塊元素的值爲block,list-item,run-in,table。塊級元素除了table外都會造成一個主塊框,而且這個主塊框只包含一個類型的框,就是說裏面要麼是塊框,要麼是行內框。主塊框會爲子孫元素創建包含塊,生成內容。主塊框參與塊級格式化上下文。某些塊級元素還會在主塊框以外生成額外的框,好比當某個元素的display值爲list-item時,它會生成一個額外的框用來放置那些標誌,好比li元素前面的標誌ip
2.匿名塊框input
<div> 這是一段<p>內容</p> </div>
div包括了一段文本和一個塊框(p),此時div彷佛既包括了行內框,又包括了一個塊框,那麼它會將全部的行內框都包含在一個匿名塊框之中hash
3.行內框it
能夠產生行內元素的值爲inline,inline-table,run-in
4.匿名行內框
<div> 這是一段<em>內容</em> </div>
div包括了一段文本和一個em元素,此時div彷佛包含的都是一個行內框,那麼它會爲這段文本生成一個匿名行內框。在格式化table時,會造成更多的匿名行內框。
5.插入框(run-in)
若是一個元素的display值爲run-in,那麼它會根據後面的元素來肯定它的類型應該是什麼。這個屬性在新的Chrome版本中已經移除了,能夠不用關注該屬性了。