在div

时间:2017-03-20 18:54:11

标签: html css html5 centering neat

我试图将一个由锚标签包裹的图像居中在div中。我试图使用显示器flexbox和justify-content:center图像在一定程度上工作,但图像的高度保持不变,而宽度相应地改变,因此当我从桌面缩小到移动时,压缩图像。 ..因此失去了它的质量。

如何将此图像居中。

注意:我正在使用波旁威士忌

这就是我所拥有的

HTML

<div class="project">
  <a class="project__thumb" href="{{ project.url }}" target="_blank">
   <img src="{{ site.baseurl }}img/{{ project.thumbnail }}">
  </a>
</div>

SCSS

.project{
    width: 80%;
    margin: 0 auto; /*center whole block for mobile*/
    height: auto;
    margin-bottom: 60px;
    border-radius: 2px;
    position: relative;

    a{
      display: flex;
      justify-content: center;
    }

    img{
        max-width: 100%; /*make image responsive*/
        height: auto; /*make image responsive*/
        border-radius: 2px;
        transition: opacity 0.25s ease-in-out;
    }
}

@include media ($tablet){
    .main__projects{
        @include span-columns(12);
    }

    .project{
        @include span-columns(6 of 12);
        @include omega(2n);
        margin-bottom: 50px;
    }
}

@include media ($desktop){
    .main__projects{
        @include span-columns(12);
    }

    .project{
      @include span-columns(4 of 12);
      @include omega(3n);
        margin-bottom: 100px;
    }

}

1 个答案:

答案 0 :(得分:1)

这里有几个问题。第一个问题是您使用了错误的CSS注释。对于CSS,您需要使用/* */包装注释。 //用于评论JavaScript。由于您使用的是Javascript评论,因此height的{​​{1}}和border-radius属性将被忽略。

另一个问题是在锚标记上使用img,这将阻止响应式图像大小调整的发生。这应该让你开始:

display:flex;
.project{
    width: 80%;
    margin: 0 auto; /* center whole block for mobile */
    height: auto;
    margin-bottom: 60px;
    border-radius: 2px;
    position: relative;
    text-align:center;
}
    .project a {
      display:inline-block;
    }  
    .project img{
        max-width: 100%; /* make image responsive */
        height: auto; /* make image responsive - THIS IS NOT NECESSARY */
        border-radius: 2px;
        transition: opacity 0.25s ease-in-out;
    }