zoukankan      html  css  js  c++  java
  • 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写作建议和性能优化小结

  • 相关阅读:
    file is universal (3 slices) but does not contain a(n) armv7s slice error for static libraries on iOS
    WebImageButton does not change images after being enabled in Javascript
    ajax OPTION
    编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
    获取海洋天气预报
    C#线程系列教程(1):BeginInvoke和EndInvoke方法
    js控制只能输入数字和小数点
    Response.AddHeader(,)
    ManualResetEvent的理解
    Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 区别
  • 原文地址:https://www.cnblogs.com/wx1993/p/5058769.html
Copyright © 2011-2022 走看看