将图像排成一行的更好方法

Better way placing images in row

我想将两张图片排成一行,并在它们之间添加 10px 的间距。 由于布局是响应式的,移动屏幕上的行应该断开,图像应该一张在另一张上面。

样本layout

我只使用了两个图像而没有额外的代码,它可以工作,但肯定应该有更好、更可靠的方法,使用 div 容器也允许向图像添加对齐(我需要垂直对齐:中间)。有什么更好的 CSS 来实现这个,专门针对这个布局?

也许这可以帮到你。 将图像放在宽度为 50% 的 div 中。要添加填充,您可以使用 box-sizing: border-box;

<div class="row">
        <div class="left ">
            <img src="http://www.codewithsonia.com/stuff/img/vader.jpg"  />
        </div>
        <div class="right ">     
            <img src="http://www.codewithsonia.com/stuff/img/vader.jpg"  />
        </div>
</div>

通过将最大宽度设置为 100% 使图像具有响应性

img {
    max-width: 100%;    
}

.left{
    width:50%;   
    float: left;
    position: relative;
    border-right:5px solid green;  
   -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
          box-sizing: border-box;       

}

.right{
    width:50%;
    padding-right: 0px;
    float: right;
    border-left:5px solid red;  
    -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;

}

.row:after {    
        clear: both;
  }

@media screen and (max-width: 300px) {
  .right {
    width:100%;
   border-left:0; 
    clear:right;
   }    
    .left{
    width:100%;
     border-right:0; 
    clear:right;
   } 
}

你可以在这里看到一个fiddle http://jsfiddle.net/f4bt5Lq0/1/