DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML和Xhtml >> 5種方法快速去掉HTML中Inline-Block的空白
5種方法快速去掉HTML中Inline-Block的空白
編輯:HTML和Xhtml     

當需要在”inline”元素上控制margin和padding時,inline-block屬性值變得非常有用,有了它,你不在需要讓這些元素去“block”和“float”。但有一個問題,當使用inline-block時,HTML元素之間的空白會顯示在頁面上。很討厭。有幾種方法可以除去這些空白;其中一個非常巧妙。

方法1:各元素間不留任何空白

一個100%能解決這個問題的方法是在你的HTML代碼裡元素間不留任何空白:

CSS Code復制內容到剪貼板
  1. <ul>   
  2.   
  3. <li>Item content</li>   
  4.   
  5. <li>Item content</li>   
  6.   
  7. <li>Item content</li>   
  8.   
  9. </ul>   

當然,這樣看起來很亂,讓代碼不好維護,但很實用,很直觀,更重要的……很可靠。

方法2:在父元素上設置font-size: 0

解決這個空白問題最好的方案是在這些inline-block元素的父元素上設置font-size: 0。如果你的<UL>裡有inline-block的<LI>,那你可以這樣做:

XML/HTML Code復制內容到剪貼板
  1. .inline-block-list { /* ul or ol with this class */   
  2.  font-size: 0;   
  3. }   
  4.   
  5. .inline-block-list li {   
  6.  font-size: 14px; /* put the font-size back */   
  7. }   
  8.   

為了不讓父元素的字體大小影響子元素,你需要重新在子元素上設置font-size值,這通常很簡單。唯一可能遇到麻煩的情況是你用相對大小設置字體。但大多數時候,這樣的方法能解決你的問題。

方法3:HTML注釋

這種方法有點暴力,但同樣能奏效。將HTML元素間用注釋填充,這跟它們之間沒有空白效果一樣:

XML/HTML Code復制內容到剪貼板
  1. <ul>  
  2.  <li>Item content</li><!--  
  3.  --><li>Item content</li><!--  
  4.  --><li>Item content</li>  
  5. </ul>  
  6.   

用一個詞…惡心。用兩個詞…非常惡心。用三個詞….OK,你明白。但這確實管用!

方法4:負邊距

跟方法2很相似,抱歉。你可以利用inline-block的靈活性,給它們設置一個負邊距,隱藏空白:

XML/HTML Code復制內容到剪貼板
  1. .inline-block-list li {   
  2.  margin-left: -4px;   
  3. }   
  4.   

這種方法最不推薦,因為你必須考慮到各種情況,有時候會出現一些無法預料的空白。最好不用這招。

方法5:首尾接龍

另外一個利用HTML標記的方法是將元素的閉合標記和下一個元素的開始標記靠在一起:

XML/HTML Code復制內容到剪貼板
  1. <ul>  
  2.  <li>Item content</li  
  3.  ><li>Item content</li  
  4.  ><li>Item content</li>  
  5. </ul>  
  6.   

並不像HTML注釋那樣丑陋,但我寧願手工刪除那些空白,而不考慮代碼的可讀性。

沒有一個方法是非常理想的,但在網頁中不留空白也是一個爛方法。這並不是在警告你不要使用inline-block,inline-block仍然是非常的有用,只是在使用你要明白如何處理裡面出現的空白。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved