CSS:如何在图像之间添加10px?

时间:2017-01-23 20:28:36

标签: html css spacing

我试图在我网站上的图库中添加10px间距。我使用Wordpress自定义主题和集成的“页面构建器”,用于创建包含短代码的投资组合帖子(不确定这是否有用!)

目前,图像采用零间距的网格布局 - 请参见下图。

我想在每张图片之间添加一个10px的间距,但不会在页面为全宽的外侧添加间距 - 请参阅下面的图片我希望它看起来如何。

有人能帮我修改CSS来实现这个目标吗?我已经尝试了好几天,但它超出了我的基本CSS能力。

任何帮助都将非常感激!

这是有问题的CSS代码:



/*	Gallery
------------------------------------------------*/
.sr-gallery {
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	overflow: hidden;
}

.sr-gallery.gallery-col3 { width: 100.5%; }
	
.sr-gallery li {
	margin: 0;
	padding: 0;
	float: left;
	width: 33.33%;
	overflow: hidden;
	text-align: center;
}
	
.gallery-col1 li { width: 100%;  }
.gallery-col2 li { width: 50%;  }
.gallery-col3 li { width: 33.33%;  }
.gallery-col4 li { width: 25%;  }
.gallery-col5 li { width: 20%;  }
.gallery-col6 li { width: 16.66%;  }
	
.sr-gallery li a  {
	display: inline-block;
	max-width: 100%;
}

<ul class="sr-gallery gallery-col1">
  <li><img src="http://chatsingh.com/wp-content/uploads/2016/08/Secret7-003-1.jpg" alt=""></li>
</ul>

<ul class="sr-gallery gallery-col2">
  <li style="
    border-right: 5px solid #fff;
"><img src="http://chatsingh.com/wp-content/uploads/2016/11/Secret7-007-1100x800.jpg" alt=""></li>
  <li><img src="http://chatsingh.com/wp-content/uploads/2016/08/Secret7-001-1-1100x800.jpg" alt="" style="
    box-shadow: inset 10px 0 0 0 #fff;
"></li>
</ul>

<ul class="sr-gallery gallery-col1">
  <li><img src="http://chatsingh.com/wp-content/uploads/2016/08/Secret7-004-1.jpg" alt=""></li>
</ul>
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:1)

在您的情况下(基于您的图片),您可以像这样使用Flexbox:

&#13;
&#13;
body {
  margin: 0;
}

.container {
  display: flex; 
  flex-wrap: wrap;
}

.child {
  display: inline-block;
  background: #3794fe;
  flex: 1 1 auto;
  height: 100px;
  margin-bottom: 10px;
}

.child.col-1,
.child.col-4 {
  width: 100%;
}

.child.col-2 {
  margin-right: 10px;
}

.child:last-child {
  margin-bottom: 0;
}
&#13;
<div class="container">
  <div class="child col-1"></div>
  <div class="child col-2"></div>
  <div class="child col-3"></div>
  <div class="child col-4"></div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以使整个画廊比屏幕宽10px并且有5px填充(这是连续两个图像)。

或者,您可能在图像周围有填充物,左图像的水平相对位置为-5px,右图像水平相对位置为+ 5px。棘手的部分是使填充/偏移正确,以便中心的分离也是10px。

答案 2 :(得分:0)

我想,你可以试试这个:

.sr-gallery img {
  padding: 10px;
}

由于您没有发布实际的工作示例,我不能说它会不会或不会起作用。

答案 3 :(得分:0)

如果我们使用box-sizing: border-box;,那么您可以在不破坏布局的情况下将边框应用于特定元素。

.sr-gallery li {
    margin: 0;
    padding: 0;
    float: left;
    width: 33.33%;
    overflow: hidden;
    text-align: center;
    border-bottom: 10px solid white;
    box-sizing: border-box;
}

.gallery-col2 li {
    width: 50%;
    border-right: 5px solid white;
}

.gallery-col2 li + li {
    border-left: 5px solid white;
    border-right: none;
}