display:inline-block詳解
日期:2013-12-13 來源:攀枝花惠康網絡公司
在前端開發中,我們遵循結構,默示,行為相分手。所以將潤色型圖片操作css的background把它寫在默示層中。那最常見的就是icon的應用。如:
1 <a class="icon-flickr" href="http://www.css88.com/">去我的flickr相冊</a>。這是操作行內元素的左側內間距(padding-left)實現的icon+文字的組合。首先先對行內元素(inline elements,好比span,a,b等。)和塊元素(block elements,好比div,h1,p等)進行一下常識回首回頭回憶.簡而言之,它們的區別可以分為下幾點
- 塊元素會自動在末尾加一個換行,而行內元素不會。
- 塊元素可以界說自身的高度(width)和寬度(height),而行內元素不成以。
- 塊對象界說的自身垂直邊距可以改變行高,而行內元素雖然可以界說但改變不了行高。
但有時辰,我們還需要此外一種默示形式,只是零丁的icon而不需要文字或者鏈接,而且是圖文混排。也許你想只要把span瑯縵沔的文字刪除不就可以了么,現實上并非如你所愿。
1 <a class="icon-flickr" href="http://www.flickr.com/liuzhitao"></a>。如不美觀你此刻在ie下,必定什么也看不到。原因是行內元素在內容為空的情形下,ie認為它的width為0。
1 <a class="icon-flickr"> </a>,此刻在ie下可以看到了。按照行內元素的特征,并不能為其設置一個寬度來解決,所以只能在瑯縵沔加一個毫無意義的空格用來占位,來生成一個高度值,但在無css的前提下(在spider的眼里),無法得知它為何物。如下:
1 <a class="icon-flickr"> </a>所以這樣的解決方案讓人無法接管。
使用inline-block就可以解決這個問題
經由過程將外包元素設置為inline-block,操作有inline的行級特征和block的指定高度和寬度的特征。再經由過程將內嵌標簽中的詮釋文字潛匿來實現該效不美觀。
1 你會在這里看到兩個并排的icon,它們是“<a class="icon" href="http://www.css88.com/">~這里飄過無盡的詮釋性文字??!~</a><apan class="crayon-o">>~這里飄過無盡的詮釋性文字??!~</a>”,flick的icon,它和文字在一路。代碼如下:
123456789101112131415161718192021 .icon{display:inline-block;/* ie8,firefox3,safari,opera */display:-moz-inline-stack;/* firefox2,-moz-inline-box其實也可以,但在某些情形下渙有些異常-_-b */*display:inline;zoom:1;/*ie6,7,在ie中,如不美觀該class應用在行內元素中的時辰, display:inline-block 會觸發layout.年夜而使該元素擁有inline-block的特征,但為了考慮到通用性,使其能在塊元素中應用,所以使用zoom:1來觸發layout*/width:20px;height:20px;vertical-align:middle; /* 這個用來對opera的hack,使其垂直居中 */overflow:hidden; /* 針對ie,防止內容溺出,造成的高度及寬度文章來源:攀枝花惠康網絡公司
惠康網絡,是一家專業從事攀枝花網站建設,攀枝花網站制作,攀枝花網站設計公司,提供網站建設一條龍服務(網站域名注冊+網站服務器租用+網站開發+網站維護+網站營銷推廣),惠康網絡立足攀枝花,輻射全中國,攀枝花惠康網絡的客戶已經遍布國內各地大中小城市,我們高效優質的網站建設服務深受用戶好評。