当前位置: 首页 > 知识库问答 >
问题:

CSS-即使行未满,也使图像大小相同[重复]

陈项禹
2023-03-14

我正在尝试为我的rails应用程序中的图像做一个布局,但我在对齐方面遇到了麻烦。

HTML

<div class="photos">
      <div class="photo-row">
          <div class="photo-wrapper">
            <a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
          </div>
         <div class="photo-wrapper">
            <a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
          </div>
          <div class="photo-wrapper">
            <a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
          </div>
      </div>
      <div class="photo-row">
          <div class="photo-wrapper">
            <a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
          </div>
          <div class="photo-wrapper">
            <a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
          </div>
      </div>
</div>

CSS

.photos {
  display: flex;
  flex-direction: column;
  border: 10px solid goldenrod;
}

.photo-row {
  border: 5px solid red;
  display: flex;

}

.photo-wrapper {
  border: 5px solid greenyellow;
  margin-right: 20px;  
}
.photo-wrapper:last-child {
    margin-right: 0;
}

.pending-photo {
  width: 100%;
}

我以为flexbox是最好的方法。我想要的图像在窗口调整大小,这就是为什么我有宽度:100%。

编辑:

实际上,看起来我的问题是Flex-Box的一个重复:将最后一行对齐到网格。我解决了插入空元素来填充行的问题,就像第一个答案所暗示的那样。

共有1个答案

尉迟跃
2023-03-14

您可以在.photo-wrapper上设置最大宽度

.photo-wrapper {
  border: 5px solid greenyellow;
  margin-right: 20px; 
  max-width:calc(33.3333% - 20px); //one third minus the 20px margin
  box-sizing:border-box; // include the borders in the sizing
}

https://jsfidle.net/kk7httpso/23/

 类似资料:
  • 我已经尝试了几天,现在配置我的缩略图库,使所有的图像显示相同的高度和宽度。但是,当我将CSS代码更改为, 我得到的图像大小都一样,但纵横比被拉伸,破坏了图像。有没有办法调整图像容器的大小而不是图像?允许我保持纵横比,但仍然调整图像大小。(我不介意剪掉一些图片。)

  • 图像元素不显示。它显示具有替代名称的默认图像文件。 这是我的代码。我渲染它有对象头像有值null.so如果它的null它应该显示图像。 这是我的文件夹结构

  • 为什么要占用这么多内存?有没有更好的方法来使用更少的内存呢?这就是我在XML中创建按钮的方法。谢谢你

  • 问题内容: 我希望在调整浏览器窗口大小时自动调整所有(或部分)图像的大小。我发现了以下代码-尽管它什么也没做。 HTML CSS 在调整浏览器窗口的大小时,如何基本设置全屏设计(带有),并使元素处于完全相同的位置(明智的选择),同时它们的大小也进行调整(就像对背景一样)? 要使图像灵活,只需添加和。图像并在IE7中有效,但在IE8中无效(是的,另一个怪异的IE错误)。要解决此问题,您需要添加IE8

  • 问题内容: 是否可以使用JavaScript获取CSS引用的背景图片的实际大小(以像素为单位的宽度和高度)? 问题答案: 是的,我会这样做… 一些注意事项… 我们需要删除JavaScript返回的部分以获取正确的图像源。如果元素具有多个背景图像,我们需要分割。 我们创建一个新对象并将其设置为新图像。 然后,我们可以读取宽度和高度。 jQuery可能不会让您头痛不已。

  • 问题内容: 我正在尝试在的列表项上使用CSS设置自定义SVG图标。例: 问题是图像太大,并且拉伸了线条的高度。我不想更改图像大小,因为使用SVG的目的是根据分辨率进行缩放。有没有一种方法可以使用CSS设置图像的大小,而无需进行任何改动? 编辑:这是预览(故意为插图和戏剧选择大图像) : //jsfiddle.net/tWQ65/4/ 和我当前的解决方法,使用CSS3 :http : //jsfid