代码之家  ›  专栏  ›  技术社区  ›  Prometheus

引导程序4-卡背景图像大小调整问题

  •  0
  • Prometheus  · 技术社区  · 5 年前

    所以目前我使用的是Bootstrap的网格系统和一个简单的卡。在卡中,我动态渲染背景图像。想想Instagram的网格系统。一切都很好,除了当我低于一个定义的列宽时,卡片会将其大小调整为原来高度的10%,图像几乎看不见。

    <div class="row">
        <div class="col-md-4 col-sm-4">
           <div class="card" style=" min-height: 100%; min-width: 
           100%;background-image: url('<%= rails_blob_path(post.images.first) 
           %>'); background-position: center; background-size: cover;">
    
           </div>
         </div>
       </div>
    

    col-md-4 :一切都很好,除了: col-md-4 example

    下面 col-sm-4 (或者md,其实并不重要,一旦它落在最后一个定义的col类之下,它就开始像这样):

    below col-md-4)

    如您所见,一旦我缩小浏览器的宽度,它只会将卡的高度捕捉到第二个图像。

    "min-height: 200px;" 将解决这个问题,但它也会与其他列宽度混乱,使他们看起来有弹性。

    如果这是一个基本问题,我很抱歉。我发现了一些帖子,但我无法修复它在所有和正常的后端,只是试图更好地理解引导。

    0 回复  |  直到 5 年前
        1
  •  0
  •   Ethan Melamed    5 年前

    使用“background size:contain”将使您的图像不会拉伸并完全可见,但您仍然需要设置最小高度,这样就不会影响您的列宽,所以您不必担心这个问题。考虑使用img标记而不是带有背景的div,因为它们将根据图像来调整大小,而当使用带有背景的div时,图像将使用div来调整自身大小

    干杯, 伊桑

        2
  •  0
  •   Prometheus    5 年前

    所以我想出了一个解决办法,谢谢大家的意见。以防其他人遇到这个问题:

    工作方案如下:

    <div class="card h-100">
    
      <%= image_tag(post.images.first, class: 
     'img-responsive', style: "width: 100%; height: 
      100%;")%>
    </div>
    

    我以前试过这个,但是卡片的高度不一样,图片也不是真的全宽/全高。钥匙在这里,用来把卡片 使卡片高度相等。然后,将图像的宽度和高度拉伸100%,并使用 img-responsive . 这样,图像可以很好地与所有列宽度一起缩放。

    问候语!