• img图片之间的间距问题


    【问题】页面中如果有多张图片,那么图片之间会有一些间距,在某些情况下(如切好的图片再次拼接),在显示上就会出现一些问题。效果如下:

    对应代码:

    1 <div class="f0">
    2     <img src="images/1.png" >
    3     <img src="images/2.png" >
    4     <img src="images/3.png" >
    5 </div>

    【问题分析】

    这个是浏览器的一个设计问题。

    1.img本来是行内元素,却可以用width 和height,当父元素没有设置高度的时候,用子元素们的高度计算出的高度给父元素的时候就会出现3px空隙这类的问题。

    2.img图片默认排版为 inline-block;而所有的inline-block元素之间都会有空白。

    【解决方法】

    方法一:

    将img显示设置成  display:block;

    因图片横向排列,同时设置向左浮动,样式代码如下:

    1 .f0 img{
    2      150px;
    3     display: block;
    4     float: left;

    方法二:

    将父容器字体大小设为零。font-size:0;

    1 div.f0 {
    2     font-size: 0;
    3 }

    方法三:

    去掉<img>标签之间的空格,将所用的<img>标签书写在同一行(即各个img标签之间不留空格),无须设置其他样式。

    1 <div class="f0">
    2   <img src="images/1.png"><img src="images/2.png"><img src="images/3.png">
    3 </div>

    效果:

    【小问题】如果在样式中引用了bootstrap.css并且为图片设置了"img-rounded"类,

    并且根据上述的方法设置样式,则在图片之间会出现1px左右的缝隙。如下:

    【示例完整代码】

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <style>
     8     body{
     9         background: #dedede;
    10         padding: 5% 5%;
    11         margin: 0;
    12     }
    13     div.f0{
    14         font-size: 0;
    15     }
    16     div.f0 img{
    17         width: 150px;
    18         display: block;
    19         float: left;
    20     }
    21     .f0 img{
    22         width: 150px;
    23         float: left;
    24         display: block;
    25     }
    26 </style>
    27 <body>
    28     <div class="f0">
    29         <img src="images/1.png">
    30         <img src="images/2.png">
    31         <img src="images/3.png">
    32     </div>
    33 </body>
    34 </html>

    相关问题更多方案讨论参考:

    http://www.w3cfuns.com/article-5597087-1-1.html

    http://www.dynamicdrive.com/forums/showthread.php?24880-White-space-between-lt-li-gt-items

    css写作建议和性能优化小结

  • 相关阅读:
    Node 命令行工具 commander.js 快速上手
    使用 express 极简处理前端路由的 history 模式问题
    在博客中插入希沃白板课件
    休息一下(屏幕提醒)
    vue htmlWebpackPlugin.options.title 标题设置
    使用 docker 部署 elasticsearch 并安装 ik 中文分词器
    .NET 中的计时 tick 是多长?
    剑指offer队列的最大值(主队列+辅助队列)
    Golang垃圾回收原理解析
    Golangchannel底层实现精要
  • 原文地址:https://www.cnblogs.com/wx1993/p/5058769.html
Copyright © 2020-2023  润新知