Flexbox不包含整个图像(CSS)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flexbox不包含整个图像(CSS)相关的知识,希望对你有一定的参考价值。

我正在制作一张带有flexbox属性的图像电影,用于使用我自己的滑块脚本。问题是当我检查.film div时,它没有像这样正确地包含整个图像:

enter image description here

如您所见,图像属于.film div。但是,它只包含一小部分图像。我想.film div涵盖所有图像。

有什么方法可以解决这个问题吗?

这是代码:

.outer {
  margin: 0 auto;
  width: 80%;
  overflow: hidden;

}
.film {
  display: flex;
  flex-flow: row;
  justify-content: center;
  width: 100%;
  left: -130%;
  margin-top: 10px;
  flex-grow: 1;
}
.images {
  position: relative;
  display: block;
  width: 50%;
  margin: 0 7.5%;
  flex-shrink: 0;
  padding-bottom: 50%;
  background-color: blue;
  background-image: url('CovercefwM.jpg');
  background-size: cover;
  background-position: center center;
}
    <div class="outer" draggable="false">
      <div class="film" draggable="false">
        <a class="images" href="#" draggable="false">
          <!-- <img src="CovercefwM.jpg" alt=""> -->
        </a>
        <a class="images" href="#" draggable="false">
          <!-- <img src="Coverdefw.jpg" alt=""> -->
        </a>
        <a class="images" href="#" draggable="false">
          <!-- <img src="Covercefw.jpg" alt=""> -->
        </a>
      </div>
    </div>
答案

将您的图片css设置为:

img {
    display: block;
    width: 100%;
}

Flexbox将负责其余部分

另一答案

我不确定我是否完全理解你的风格如何显示图像。如果设置宽度:50%;对于图像,你有3个,而不是所有三个都没有空间适合父div(加上每个的7.5%的边距)。另外,我看到你想要它们之间的空间。你使用7.5%的保证金,但你可以使用justify-content:space-between;在电影上,它会有同样的效果,但更好。作为解决方案,我建议设置宽度:30%;并删除.images的保证金7.5%,相反,设置justify-content:space-between; .film会做你想要的间距。我希望这是你真正想要的结果。这是更正后的CSS:

.outer {
  margin: 0 auto;
  width: 80%;
  overflow: hidden;

}
.film {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  width: 100%;
  left: -130%;
  margin-top: 10px;
  flex-grow: 1;
}
.images {
  position: relative;
  display: block;
  width: 30%;
  margin: 0;
  flex-shrink: 0;
  padding-bottom: 50%;
  background-color: blue;
  background-image: url('CovercefwM.jpg');
  background-size: cover;
  background-position: center center;
}

以上是关于Flexbox不包含整个图像(CSS)的主要内容,如果未能解决你的问题,请参考以下文章

css 此代码将删除WordPress库图像周围的边框,并将布局模型更改为CSS flexbox。

使用 CSS 网格和 flexbox 定位图像

CSS:Firefox/Internet Explorer 中 flexbox 的图像缩放问题

Flexbox 图像在浏览器中的大小调整不同

flexbox子元素中的CSS可滚动内容

Flexbox 中的 CSS Grid 仅在 Chrome 上无法正常工作