html - 导航栏背景图像仍然被背景颜色覆盖

标签 html css twitter-bootstrap background-image background-color

尝试使用 Bootstrap 创建一个简单的选项卡式网站,我希望顶部的导航栏有背景图像。但是,背景图像永远不会出现。这不太可能是路径问题,因为 (a) IDE (IntelliJ IDEA) 在元素中找到了正确的相对路径,并且 (b) 使用 http://... 的图像 URL 没有也工作。似乎 background-image 属性从未被识别。

这是我目前所拥有的:

.navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
  margin-left: -8px;
  height: 46px;  <!-- navbar-height -->
}

.navbar-custom {
  background: rgba(52, 73, 94, 0.7);  <!-- navbar-bgcolor -->
  background-image: url("https://jessicasse.files.wordpress.com/2012/10/distant-lights-1-1152x8641.jpg");
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
  font-family: 'Lato', 'Open Sans', 'Helvetica Neue', Helvetica, Calibri, Arial, sans-serif;  <!-- heading font -->
}

.navbar-custom .navbar-brand {
  font-size: inherit;
  font-weight: lighter;
  font-kerning: auto;
  font-family: 'Lato', 'Open Sans', 'Helvetica Neue', Helvetica, Calibri, Arial, sans-serif;  <!-- heading font -->
}

.navbar-custom .nav li a {
  font-size: 14px;
  font-weight: lighter;
  letter-spacing: 1px;
}

.navbar-default .navbar-nav > .current > a,
.navbar-default .navbar-nav > .current > a:hover,
.navbar-default .navbar-nav > .current > a:focus {
  font-weight: bolder;
}

.navbar-default .navbar-nav > li > a {
  color: ghostwhite;
}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="My Home Page">
  
  <title>My Home Page</title>
  
  <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
  <link rel="stylesheet" type="text/css" href="assets/css/bootstrap-theme.css">
  <link rel="stylesheet" type="text/css" href="assets/css/font-awesome.css">
  <link rel="stylesheet" type="text/css" href="assets/css/main.css">
  
  <!-- Custom Fonts -->
  <link rel="stylesheet" type="text/css" href="assets/fonts/Lato:300,400,700,300italic,400italic.css">
  <link rel="stylesheet" type="text/css" href="assets/fonts/Lora:400,700,400italic,700italic.css">

</head>

<body>
<nav class="navbar navbar-default navbar-custom navbar-fixed-top">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header page-scroll">
      <div>
        <a style="color: ghostwhite; font-size: xx-large; font-weight: lighter" href="">This Page</a>
        <br>
        <p>
          <span style="color: ghostwhite; font-size: medium; font-weight: lighter">Job Title</span><br>
          <span style="color: ghostwhite; font-size: medium; font-weight: lighter">Company</span>
        </p>
      </div>
    </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 navbar-right">
        <li class="current"><a href="#">Home</a></li>
        <li><a href="research.html">Research</a></li>
        <li><a href="teaching.html">Teaching</a></li>
      </ul>
    </div>
    <!-- /.navbar-collapse -->
  </div>
  <!-- /.container -->
</nav>

</body>
</html>

我明白(如果我弄错了请纠正我)main.css 应该覆盖 bootstrap.css 中的规范。但是,如果我从 main.css 中删除 background: rgba(52, 73, 94, 0.7); 行,结果只是 中指定的默认值boostrap.css(这是 Bootstrap v3.3.4,以防此处相关)。

最佳答案

问题可能是由

引起的
  1. 图像非常大。您可以使用 background-size 属性来确保它适合空间。

  1. 您的评论格式有误。在 CSS 中,注释看起来像这样:/* 注释 */

.navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
  margin-left: -8px;
  height: 46px;  
}

.navbar-custom {
  background: rgba(52, 73, 94, 0.7);  
  background-image: url("https://jessicasse.files.wordpress.com/2012/10/distant-lights-1-1152x8641.jpg");
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
  font-family: 'Lato', 'Open Sans', 'Helvetica Neue', Helvetica, Calibri, Arial, sans-serif; 
}

.navbar-custom .navbar-brand {
  font-size: inherit;
  font-weight: lighter;
  font-kerning: auto;
  font-family: 'Lato', 'Open Sans', 'Helvetica Neue', Helvetica, Calibri, Arial, sans-serif;  <!-- heading font -->
}

.navbar-custom .nav li a {
  font-size: 14px;
  font-weight: lighter;
  letter-spacing: 1px;
}

.navbar-default .navbar-nav > .current > a,
.navbar-default .navbar-nav > .current > a:hover,
.navbar-default .navbar-nav > .current > a:focus {
  font-weight: bolder;
}

.navbar-default .navbar-nav > li > a {
  color: ghostwhite;
}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="My Home Page">
  
  <title>My Home Page</title>
  
  <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
  <link rel="stylesheet" type="text/css" href="assets/css/bootstrap-theme.css">
  <link rel="stylesheet" type="text/css" href="assets/css/font-awesome.css">
  <link rel="stylesheet" type="text/css" href="assets/css/main.css">
  
  <!-- Custom Fonts -->
  <link rel="stylesheet" type="text/css" href="assets/fonts/Lato:300,400,700,300italic,400italic.css">
  <link rel="stylesheet" type="text/css" href="assets/fonts/Lora:400,700,400italic,700italic.css">

</head>

<body>
<nav class="navbar navbar-default navbar-custom navbar-fixed-top">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header page-scroll">
      <div>
        <a style="color: ghostwhite; font-size: xx-large; font-weight: lighter" href="">This Page</a>
        <br>
        <p>
          <span style="color: ghostwhite; font-size: medium; font-weight: lighter">Job Title</span><br>
          <span style="color: ghostwhite; font-size: medium; font-weight: lighter">Company</span>
        </p>
      </div>
    </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 navbar-right">
        <li class="current"><a href="#">Home</a></li>
        <li><a href="research.html">Research</a></li>
        <li><a href="teaching.html">Teaching</a></li>
      </ul>
    </div>
    <!-- /.navbar-collapse -->
  </div>
  <!-- /.container -->
</nav>

</body>
</html>

关于html - 导航栏背景图像仍然被背景颜色覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50660719/

相关文章:

twitter-bootstrap - 增加 Twitter Bootstrap 的模式大小

javascript - 按钮点击后消失 Js/html

html - Bootstrap 网格中的输入元素不会跨越整个宽度

javascript - 如何在 jQuery 中将 css 光标值设置为变量?

html - 为什么我的按钮 float 在包含元素上方?它与 Bootstrap 相关吗?

javascript - 当我在下面的代码中输入 jquery 时如何过滤我的列表?

javascript - 触摸开始时灰色表单按钮

html - 初学者在 Bootstrap 中与平板电脑大小的图像网格作斗争

javascript - jquery .change 被 .blur 覆盖

jquery - 用于更改包含 href 的 div 颜色的 CSS