問題:
display:inline-block 什麼時候會顯示縫隙
解答:
詳見下面的擴展問題
擴展問題:
縫隙產生的原因及怎麼解決
解答:
產生的原因:
元素被當成行內元素排版的時候,元素之間的空白符(空格、回車換行等)都會被瀏覽器處理,根據white-space的處理方式(默認是normal,合併多餘空白),原來HTML代碼中的回車換行被轉成一個空白符,在字體不爲0的情況下,空白符佔據一定寬度,所以inline-block的元素之間就出現了空隙。這些元素之間的間距會隨着字體的大小而變化,當行內元素font-size:16px時,間距爲8px。
解決的方案:
移除空格、使用margin負值、使用font-size:0、letter-spacing、word-spacing
- 將子元素放置在同一行
- 爲父元素中設置font-size: 0,在子元素上重置正確的font-size
- 爲inline-block元素添加樣式float:left
- 設置子元素margin值爲負數
- 設置父元素,display:table和word-spacing