内联块在图库中不起作用

时间:2018-03-14 03:01:42

标签: css image gallery sections

我正在制作的网站上有一个图片库。 而不是浮动,我需要在每个图像容器上使用内联块,以便我可以在以后中心整个画廊(我发现在经过这么多试用后我永远无法将浮动图像居中) 如果有人在我的代码中发现缺陷,我会受到百倍的赞赏。 (为了记录,我在图片库上方的顶部导航栏中使用了浮动。请告诉我它是否会影响图库!)

  
    
      

这是图片库的HTML代码。

    
  
   <section>
        <article class="img1">
            <a href=""><img src="img/img1.png"></a>
            <dl>
                <a href="#"><dt>Image Title</dt></a>
                <dd>Image Description</dd>
            </dl>
        </article>
        <article class="img2">
            <a href=""><img src="img/img2.png"></a>
            <dl>
                <a href="#"><dt>Image Title</dt></a>
                <dd>Image Description</dd>
            </dl>
        </article>
        <article class="img3">
            <a href=""><img src="img/img3.png"></a>
            <dl>
                <a href="#"><dt>Image Title</dt></a>
                <dd>Image Description</dd>
            </dl>
        </article>
  
    
      

这是图库的css代码。

    
  
section{
    margin-top: 80px; /* the gap between top navigation above */
}

article .img1, .img2, .img3 {
    display:inline-block;
    width: 100%;
    height: auto;
    margin-left: 2%;
    padding: 0;
}

article img{
    width: 250px;
    height: 250px;
    margin: 0;
    padding: 0;
}

article dl{
    display: block;
    width: 250px;
    margin-top: 10px;
    text-align: left;
}

article dt{
    font-size: 0.9em;
    font-weight: 400; 
}

article dd{
    margin-left: 0;
    font-size: 0.9em;
    font-weight: 300; 
}

1 个答案:

答案 0 :(得分:0)

问题是您在width元素上设置100% <article>,因此虽然它们已设置为display: inline-block,但每个占用行的100%。为避免这种情况,您需要为它们提供较小的基于百分比的宽度,最好使用width: calc((100% / 3) - (2% * 3))。这会将它们设置为占用尽可能宽的宽度,同时考虑元素的数量以及每个元素的margin-left

另请注意,您的<img>代码具有硬编码的固定width。由于您现在正在调整包含<article>标记的容器相对于容器,因此这些图片应该width 100%

这可以在以下内容中看到:

&#13;
&#13;
section {
  margin-top: 80px;
  /* the gap between top navigation above */
}

.img1,
.img2,
.img3 {
  display: inline-block;
  width: calc((100% / 3) - (2% * 3));
  height: auto;
  margin-left: 2%;
  padding: 0;
}

article img {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

article dl {
  display: block;
  width: 250px;
  margin-top: 10px;
  text-align: left;
}

article dt {
  font-size: 0.9em;
  font-weight: 400;
}

article dd {
  margin-left: 0;
  font-size: 0.9em;
  font-weight: 300;
}
&#13;
<section>
  <article class="img1">
    <a href=""><img src="http://placehold.it/100"></a>
    <dl>
      <a href="#"><dt>Image Title</dt></a>
      <dd>Image Description</dd>
    </dl>
  </article>
  <article class="img2">
    <a href=""><img src="http://placehold.it/100"></a>
    <dl>
      <a href="#"><dt>Image Title</dt></a>
      <dd>Image Description</dd>
    </dl>
  </article>
  <article class="img3">
    <a href=""><img src="http://placehold.it/100"></a>
    <dl>
      <a href="#"><dt>Image Title</dt></a>
      <dd>Image Description</dd>
    </dl>
  </article>
&#13;
&#13;
&#13;