html - 带有 imgs 的 Bootstrap 方形瓷砖

标签 html css image twitter-bootstrap tiles

我想创建带有 Bootstrap col-*-* 类(适当大小)的方形图 block ,其中包含背景图像和一些文本。

现在我使用虚拟 block

margin-top: 100%

后面是内容 block :

position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;

但是当我为该 block 设置背景图像时,它变得非常难看,所以我认为我应该使用标签来正确调整图像大小。

所以我尝试制作像 bgimage 这样的类:

width: 100%;
object-fit: cover;

我还设置了溢出:隐藏到父 block ,但这没有帮助,图像变得很好,但现在它从我的 block 中消失了。

现在我有两个问题:

  1. 是否有更好的方法将图像设置为方形 block 中的背景以覆盖它?

  2. 如何为这些 block 做适当的填充和边距(上、左、下、右设置,没有其他方法?需要在小设备上调整大小)?

最佳答案

在方形缩略图内设置带有文本的背景图像。您需要再添加一个 div,其中包含 position: absolute 和 background-size: cover

查看 CODEPEN 处的示例代码

HTML:

<div class="container">
  <div class="row">

    <div class="col-xs-6 col-sm-4 col-md-3">
      <div class="margin-top"></div>
      <a href="#x" class="square-text">Section1</a>
      <div class="square-img"></div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3">
      <div class="margin-top"></div>
      <a href="#x" class="square-text">Section2</a>
      <div class="square-img"></div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3">
      <div class="margin-top"></div>
      <a href="#x" class="square-text">Section3<br>para2</a>
      <div class="square-img"></div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3">
      <div class="margin-top"></div>
      <a href="#x" class="square-text">Section4</a>
      <div class="square-img"></div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3">
      <div class="margin-top"></div>
      <a href="#x" class="square-text">Section1</a>
      <div class="square-img"></div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3">
      <div class="margin-top"></div>
      <a href="#x" class="square-text">Section2</a>
      <div class="square-img"></div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3">
      <div class="margin-top"></div>
      <a href="#x" class="square-text">Section3<br>para2</a>
      <div class="square-img"></div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3">
      <div class="margin-top"></div>
      <a href="#x" class="square-text">Section4</a>
      <div class="square-img"></div>
    </div>

  </div>
</div>

CSS:

.margin-top {
  margin-top: 100%;
}

.square-text {
  position: absolute;
  top: 15px;
  bottom: 0;
  left: 15px;
  right: 0;
  text-align: center;
  padding-top: calc(50% - 30px);
  z-index: 9;
  background: transparent;
  color: #fff;
}

.square-img {
  background: url('http://www.themdfactor.com/wp-content/uploads/2015/11/image7.jpg') no-repeat;
  position: absolute;
  top: 15px;
  bottom: 20px;
  left: 15px;
  right: 0;
  background-size: cover;
}

希望对你有帮助 享受:)

关于html - 带有 imgs 的 Bootstrap 方形瓷砖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39255397/

相关文章:

javascript - 如何防止单击在 jQuery 中触发多个单击处理程序调用

jquery - CSS从开发环境到Web服务器不同

css - Mat-form-field 在不同的浏览器中有不同的高度

android - 挂载 Android 模拟器镜像

javascript - 如何以 JSON 或 CSV 格式写入数据?

javascript - 为什么 HTML 按钮不调用 onclick 事件分配的函数

javascript - 如何在使用 jquery 键入时删除类

html - 使用 CSS 打印网页的一部分

objective-c - 如何在幻灯片放映中优雅地转换图像?

image - 图像捕捉和处理