行内元素默认间距的4种解决办法

时间:2024年02月29日

/

来源:网络

/

编辑:佚名

相信很多小伙伴在页面布局上都碰到过行内元素之间存在默认的间隙的问题。其实这是因为行内块元素之间,浏览器会有一个默认的间距。
如下图:

解决的办法有四种:
1.html中将行内元素在同一行显示,不影响美观即可,可读性比较差
<div class="main">
       <!-- 在html中将行内元素在同一行显示,不影响美观即可,可读性比较差 -->
       <div class="left"></div><div class="middle"></div><div class="right"></div>
</div>
2.在父元素上设置font-size: 0px;
<div class="main">
    <div class="left"></div>
        <div class="middle"></div>
        <div class="right"></div> -->
 </div>
.main{
    width:200px;
    height:200px;
    margin:50px;
    font-size: 0px; /*在父元素上设置font-size: 0px; */
}
.left{
    width:50px;
    height: 80px;
    margin:0;
    vertical-align: middle;
    background:red;
    display: inline-block;
}
.middle{
    width:50px;
    height: 100px;
    vertical-align: middle;
    background:blue;
    display: inline-block;
}
.right{
    width:50px;
    height: 150px;
    vertical-align: middle;
    background:green;
    display: inline-block;
    }
3.在父元素上设置word-spacing的值为合适的负值
<div class="main">
    <div class="left"></div>
        <div class="middle"></div>
        <div class="right"></div> -->
 </div>
.main{
    width:200px;
    height:200px;
    margin:50px;
    word-spacing: -10px; /*在父元素上设置word-spacing的值设为合适的负值 */
}
.left{
    width:50px;
    height: 80px;
    margin:0;
    vertical-align: middle;
    background:red;
    display: inline-block;
}
.middle{
    width:50px;
    height: 100px;
    vertical-align: middle;
    background:blue;
    display: inline-block;
}
.right{
    width:50px;
    height: 150px;
    vertical-align: middle;
    background:green;
    display: inline-block;
}
4.将行内元素设置为浮动状态,不过这样做可能会有布局问题。
<div class="main">
    <div class="left"></div>
        <div class="middle"></div>
        <div class="right"></div>
 </div>
.main{
    width:200px;
    height:200px;
    margin:50px;
    word-spacing: -10px; /*在父元素上设置word-spacing的值设为合适的负值 */
}
.left{
    float: left;
    width:50px;
    height: 80px;
    margin:0;
    vertical-align: middle;
    background:red;
    display: inline-block;
}
.middle{
    float: left;
    width:50px;
    height: 100px;
    vertical-align: middle;
    background:blue;
    display: inline-block;
}
.right{
    float: left;
    width:50px;
    height: 150px;
    vertical-align: middle;
    background:green;
    display: inline-block;
}
最终效果如下图:
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。