【问题标题】:Avoiding CSS overriding bootstrap避免 CSS 覆盖引导程序
【发布时间】:2014-05-06 18:59:58
【问题描述】:

我正在使用 css 来改变几个图像的外观。然而,我之前一直遇到的一件事是,当屏幕尺寸变小时,图像会被剪切。下面是我制作的一个类的示例。

.headerimage {
  height: 400px;
  width: 900px;
  margin: 0 auto;
  background: url(../images/metal.jpg);
}

我最近开始使用引导程序,并注意到一个 img 响应类,它允许动态更改图像以适应任何网页,而不管大小。

但是,当我使用我的任何 css 图像类时,使用 img-responsive 类不起作用。我尝试了以下方法,但我的 css 类总是覆盖引导程序的 img-responsive 类。

<div class="img-responsive headerimage "></div>

有没有一种方法可以让我的图像 css 类不覆盖引导程序的 img-responsive 或者我需要使用 HTML 来调用我的图像?

<img class="img-responsive" src="/images/metal.jpg" height="400" width="900" />

【问题讨论】:

  • 为什么你需要在使用 .img-responsive 的同时明确设置图像的宽度和高度? .img-responsive 不适用于固定大小,没有意义。
  • 我认为img-responsive 应用于图像...这不是重点吗?
  • 'img-responsive' 用于图像,而不是用于背景。
  • 比如说一个图像是 1024x768,我希望它是一个矩形图像。有没有办法设置尺寸使其成为矩形,然后让 .img 响应在页面尺寸太小时更改图像但将其保持为矩形?
  • @Paulie_D 所有img-responsive 所做的基本上都是设置max-width: 100%。您可以将其应用于任何元素。

标签: html css image twitter-bootstrap


【解决方案1】:

在你的情况下,我认为你正在寻找的是background-size

.headerimage {
    max-width: 900px;
    background: url(...);
    background-size: cover;
}

这样,您的背景图像将始终填充您的 div,而该 div 又会根据容器调整到其 max-width(如果您有某种定义页面宽度的容器,您也可以省略它)。

【讨论】:

  • 有一件事我不太明白,每当使用 max-width 或 max-height 时,我的背景图像都无法加载。是否有一个原因?到目前为止,我一直避免使用 max- 仅仅是因为这个。
  • @Valrok,除了背景图像之外,div 中还有其他内容吗?如果不是,那么 div 的高度将为零,也许这就是问题所在?
猜你喜欢
  • 2021-11-10
  • 2015-11-20
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
  • 2013-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多