• inline-block

既呈现 inline 特性(不占据一整行,宽度由内容宽度决定) 又呈现 block 特性 (可设置宽高,内外边距) 缝隙问题

  1. <div class="box">
  2. <span class="inner">welcome,welcome,welcome</span>
  3. <span class="inner">welcome,welcome,welcome</span>
  4. <span class="inner">welcome,welcome,welcome</span>
  5. </div>
  6. .box{
  7. border:1px solid green;
  8. text-align:center;
  9. }
  10. .inner{
  11. display:inline-block;
  12. border:1px solid red;
  13. width:220px;
  14. padding:10px;
  15. margin-bottom:10px;
  16. }

inline-block - 图1

注:通过给span标签设置inline-block属性,发现既呈现 inline 特性、又呈现 block 特性 不占据整行又可设置width、height、padding、margin

消除缝隙

  1. 两标签并排
  1. <div class="box">
  2. <span class="inner">welcome,welcome,welcome</span><span class="inner">welcome,welcome,welcome</span>
  3. <span class="inner">welcome,welcome,welcome</span>
  4. </div>

inline-block - 图2
2. 使用font-size:0(父元素设置0,子元素自定义)

  1. .box{
  2. border:1px solid green;
  3. text-align:center;
  4. font-size:0;
  5. }
  6. .inner{
  7. display:inline-block;
  8. border:1px solid red;
  9. width:220px;
  10. padding:10px;
  11. margin-bottom:10px;
  12. font-size:16px;
  13. }

inline-block - 图3

  • line-height

行内元素默认以基线对齐,通过添加vertical-align:top / bottom 实现上下对齐

  1. <div class="box">
  2. <span class="inner first">we</span>
  3. <span class="inner second">we</span>
  4. </div>
  5. .box{
  6. border:1px solid green;
  7. text-align:center;
  8. }
  9. .inner{
  10. display:inline-block;
  11. border:1px solid red;
  12. width:100px;
  13. }
  14. .second{
  15. padding:20px;
  16. font-size:80px;
  17. }

inline-block - 图4

  1. .inner{
  2. display:inline-block;
  3. border:1px solid red;
  4. width:100px;
  5. vertical-align:top;
  6. }

inline-block - 图5

vertical-align:bottom; 同理实现下边框对齐

line-height:2 行高为font-size的二倍
line-height:200% 行高为父容器font-size 的2倍