【问题标题】:Bootstrap .page-header background imageBootstrap .page-header 背景图片
【发布时间】:2017-07-27 23:36:32
【问题描述】:

我是第一次玩 Bootstrap,但我有点卡在一些基本的东西上,比如拉伸背景图像。我的代码如下所示:

CSS

.page-header {
    background-image: url("images/header.jpeg") ;
    -webkit-background-size: cover; /* For WebKit*/
    -moz-background-size: cover;    /* Mozilla*/
    -o-background-size: cover;      /* Opera*/
    background-size: cover;  
    height: 300px;
    width: 100%;
    }

还有我的 HTML

<header>
  <nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
         <a class="navbar-brand" href="#">ZELM</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a href=""><span class="glyphicon glyphicon-earphone" aria-hidden="true"></span> 000 000 000</a></li>
        </ul>

      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">O nás</a></li>
        <li><a href="#">Katalog domů</a></li>
        <li><a href="#">Reference</a></li>

          <form class="navbar-form navbar-right">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Hledat">
        </div>
        <button type="submit" class="btn btn-default">Hledej</button>
      </form>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

<div class="page-header">
  <h1>Dům na klíč od společnosti ZELM <small>Postavíme vaše sny</small></h1>
</div>
    </header>

我在互联网上寻找解决方案,但没有找到任何答案。问题是,背景图像没有以全尺寸显示,而是随着屏幕尺寸的变化而拉伸。我想给它一个严格的大小,它不会随着窗口的大小而调整大小。

我不想使用 javascript,我想暂时留在 CSS 和 HTML 中。

【问题讨论】:

  • 从你的 CSS 中移除 background-size: cover;
  • 没有帮助,但谢谢 :),我已将其删除。行为完全没有变化。

标签: css background-image stretch


【解决方案1】:

您应该为background-size 属性设置一个大小。如果你想同时设置严格的高度和宽度,它可能像background-size: 1000px 600px;,或者只是宽度的background-size: 1000px ;。 您还可以添加background-repeat: no-repeat; 以确保它不会重复。

CSS:

.page-header {
    background-image: url("https://srilankafoundation.org/wp-content/uploads/2016/07/Beach.jpg") ;
    -webkit-background-size: cover; /* For WebKit*/
    -moz-background-size: cover;    /* Mozilla*/
    -o-background-size: cover;      /* Opera*/
    background-size: 1000px ;
    background-repeat: no-repeat;
    height: 300px;
    width: 100%;
    }

HTML:

<header>
  <nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
         <a class="navbar-brand" href="#">ZELM</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a href=""><span class="glyphicon glyphicon-earphone" aria-hidden="true"></span> 000 000 000</a></li>
        </ul>

      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">O nás</a></li>
        <li><a href="#">Katalog domů</a></li>
        <li><a href="#">Reference</a></li>

          <form class="navbar-form navbar-right">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Hledat">
        </div>
        <button type="submit" class="btn btn-default">Hledej</button>
      </form>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

<div class="page-header">
  <h1>Dům na klíč od společnosti ZELM <small>Postavíme vaše sny</small></h1>
</div>
    </header>

这是您的代码的working fiddle。 欲了解更多信息,请查看here

【讨论】:

  • 谢谢,它改变了我对这个问题的看法。问题是我必须用屏幕大小更改 .page-header 的大小。然后,当我有这个 css 时: .page-header { background-image: url("images/header.jpeg") ; -webkit-background-size:包含; /* 对于 WebKit*/ -moz-background-size: contains; /* Mozilla*/ -o-background-size: 包含; /* Opera*/ 背景尺寸:100% 100%;背景重复:不重复;高度:200px; width: 100%;} 我可以通过媒体查询来改变窗口的大小。谢谢你带我照明。
  • 太棒了!请编辑我的答案并添加正确的最终解决方案,以后可能会对某人有所帮助...
  • 好吧,不知道怎么做:(
【解决方案2】:

如果您想要固定的图像大小,请指定确切的值(宽度高度),如下所示:background-size: 600px 600px。或者你可以这样做background-size: 600px;,其中高度值默认为auto

https://developer.mozilla.org/en-US/docs/Web/CSS/background-size

【讨论】:

  • 好的,这不是非常敏感的解决方案。我是否必须将各种图像放入媒体查询中才能在每个屏幕的背景中显示全尺寸图像?
猜你喜欢
  • 1970-01-01
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-21
  • 1970-01-01
  • 2014-01-27
  • 2014-01-21
相关资源
最近更新 更多