行内块元素之间默认间距问题


 

前言

为了个文档结构条理性,我也来个前言,虽然不知道写个啥。但向大神学习态度不能丢。因为这个问题简单,逻辑性不强,就直接上问题上代码上解决方案了。大神勿喷,有什么问题,别的解决方案方法,希望大神们多多指点

问题描述

行内块元素之间,浏览器会有一个默认的间距,例如照片之间的间距,或者是别的元素类型直接转换过来的行内块元素,浏览器都会有默认的间距。话不多说,直接上图解释其中的bug。

实现上述效果代码如下:

 

<!DOCTYPE html>
<html>
<head>
    <title>test测试行内块之间的默认边距</title>
    <meta charset="utf-8"/>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
        .wrap div{
            width: 300px;
            height: 300px;
            display:inline-block;
        }
        .wrap div:first-child{
            background-color: green;
        }
        .wrap div:last-child{
            background-color: blue;
        }
        img{
            width:300px;
            height: 300px;
        }
        .content{
            /*word-spacing:-20px;*/
            /*font-size:0;*/
        }
    </style>
</head>
<body>
    <div class="wrap">
        <div></div>
        <div></div>
    </div>
    <div class="content">
        <img src="tv01.jpg">
        <img src="tv01.jpg">
    </div>
    <textarea rows="2" cols="2"></textarea>
    <textarea rows="5" cols="5"></textarea>
</body>
</html>
 

解决方案

最近总结了一些方法来解决这样的bug,常用的方法有:
1.将所有的行内块元素直接设置浮动,个人认为最直接的方法,当然是在适当的场景中,因为过度的浮动会产生需要清除浮动的必要(自己也总结常用的清除浮动的方法,有兴趣可以喵喵看看,大神越过)。
2.在产生边距的行内块的父元素设置属性:font-size:0px;
3.在父元素上设置,word-spacing(词边距)的值设为合适的负值即可
4.在html中将行内块元素在同一行显示,不要进行美观缩进或者换行


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM