第15题 使用display:inline-block会产生什么问题 解决方法
问题: 两个display:inline-block元素放到一起会产生一段空白。
如代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .container { width: 800px; height: 200px; } .left { font-size: 14px; background: red; display: inline-block; width: 100px; height: 100px; } .right { font-size: 14px; background: blue; display: inline-block; width: 100px; height: 100px; } </style> </head> <body> <div class="container"> <div class="left"> 左 </div> <div class="right"> 右 </div> </div> </body> </html>
如图显示:
产生空白的原因
元素被当成行内元素排版的时候,元素之间的空白符(空格、回车换行等)都会被浏览器处理,根据CSS中white-space属性的处理方式(默认是normal,合并多余空白),原来HTML代码中的回车换行被转成一个空白符,在字体不为0的情况下,空白符占据一定宽度,所以inline-block的元素之间就出现了空隙。
解决办法
1.将子元素标签的结束符和下一个标签的开始符写在同一行或把所有子标签写在同一行
<div class="container"> <div class="left"> 左 </div><div class="right"> 右 </div> </div>
2. 父元素中设置font-size: 0,在子元素上重置正确的font-size
.container{ width:800px; height:200px; font-size: 0; }
3. 为子元素设置float:left
.left{ float: left; font-size: 14px; background: red; display: inline-block; width: 100px; height: 100px; } //right是同理
声明:
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » 第15题 使用display:inline-block会产生什么问题 解决方法
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » 第15题 使用display:inline-block会产生什么问题 解决方法