CSS 之inline/inline-block 元素间距问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> body{ font-size: 18px; } .wrap{ } .wrap div{ width: 200px; height: 200px; color: white; background-color: #42b983; display: inline-block; /*inline同理*/ } </style> </head> <body> <div class="wrap"> <div>这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> <div >这是一些文字</div> </div> </body> </html>
导致这个问题的原因是:在HTML代码里,空格也会占位。class为wrap的元素继承了body font-size:18px的这个属性值。在非0的font-size值的情况下,间隙就会形成。解决该问题的方法有二:
压缩HTML,把所有空格去掉
为class为wrap的元素设置font-size :0 (但需要把其子元素的该属性重写成正常值)
贴上代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> body{ font-size: 18px; } .wrap{ font-size: 0; } .wrap div{ width: 200px; height: 200px; color: white; background-color: #42b983; display: inline-block; font-size: 18px; /*inline同理*/ } </style> </head> <body> <div class="wrap"> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> <div>这是一些文字</div> </div> </body> </html>
本文作者: Jasmine
本文链接: https://www.jianbaizhan.com/article/351
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!