inline-block元素間的間隙問題,inline-block間隙

來源:互聯網
上載者:User

inline-block元素間的間隙問題,inline-block間隙

在我們使用inline-block時會發現元素間存在間隙,如下例所示

<nav>      <a href="#">one</a>      <a href="#">one</a>      <a href="#">one</a></nav>
nav a{      display:inline-block;      padding:5px;      background:red;}
                                                                     

上面代碼的效果如所示,我們可以清晰地看到連結之間的白色空隙,而這是為什麼呢?

這個應該不是“bug”,因為對於這種行內元素的設定來說,更像是單詞與單詞之間的空隙一樣,預設會有行內元素之間的空隙。

解決這個問題的方式有以下幾種。

1、去除空格

在元素與元素之間,通常我們會將分行符號或tab符作為一個空格看待,去除這些當作空格的元素即可解決問題

<ul>      <li>       one</li><li>       two</li><li>       three</li></ul>
或者是這種

<ul>      <li>one</li      ><li>two</li      ><li>three</li></ul>
或者是中間加上注釋

<ul>      <li>one</li><!--      --><li>two</li><!--      --><li>three</li></ul>
2、負margin

可以為inline-block的元素設定負margin值,一般為-4,但是根據父級元素的font-size會有相應的變化,使得元素間隙消失

nav a{      display:inline-block;      margin-right:-4px;}
這個方法對於盒模型比較怪異的IE6/7來說另當別論。

3、省略閉合符號

<nav>      <li>one      <li>two      <li>three</nav>

4、設定父元素的font-size為0

nav{      font-size:0;}nav a{      font-size:16px;}
當然,如果用浮動來代替inline-block的效果的話,也是可以避免這一問題,只是對於浮動和inline-block的方法來說,各有各的優勢,因此實際情況下需要如何處理完全是按照實際的需要進行選擇。










聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.