【问题标题】:Hover links not covering the entire height of navbar悬停链接未覆盖导航栏的整个高度
【发布时间】:2018-11-16 20:05:40
【问题描述】:

我的悬停链接有背景颜色,但它们没有覆盖导航栏的整个高度。请帮忙。我已经尝试过 inline-block 和 100% 高度,但没有成功。

更新-我确实通过下面@PizzaBoy 提供的建议解决了这个问题,但现在我被困在 .active 背景上,看起来和以前一样,每个链接周围都有一个奇怪的半边框/背景。任何使 .active 链接看起来像悬停的建议都会很棒。提前谢谢你。

* {
    margin: 0;
    padding: 0;
}
body {
    font-family: Calibri, sans-serif;
}
.background-wrap {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow: hidden;
	top: 0;
    left: 0;
    z-index: -1000;
}
#video-bg-elem {
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.navbar{
    background-color: RGBA(0,0,0,0.2) !important;
}
#brand-image{
    height: 100px;
}
a.navbar-brand{
    position: relative;
}

.navbar{
    background-color: RGBA(0,0,0,0.2) !important;
}
.navbar-nav > li{
    margin-left:30px;
    margin-right:30px;
}
.navbar-nav > li > a{
    text-decoration: none;
    font-size: 2vh;
    font-size: 2.3vw;
    font-family: 'Freestyle Script';
    font-weight: 900;
	color: rgb(210, 21, 84) !important;
    padding-bottom: 0.2%;
}
.navbar-nav > li:hover,
.navbar-nav > li:focus {
    background-color: RGBA(0,0,0,0.4) !important;
    transition: .5s;
}
.navbar-nav > .active > a,
.navbar-nav > .active > a:hover,
.navbar-nav > .active > a:focus {
    background-color: RGBA(0,0,0,0.4) !important;
    display: inline-block;
}
<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link rel="stylesheet" href="Style.css">

    <title>Arks Digital Marketing</title>
  </head>
  <body>
    <!-- Video Background -->
    <div class="background-wrap">
		
        <video id="video-bg-elem" preload="auto" autoplay loop="loop" muted="muted">
                    <source src="video.mp4" type="video/mp4">
                    Video not supported
                    </video>
    </div>
    
    <!-- Navbar -->
    <div class="mynav">
        <nav class="navbar navbar-expand-lg navbar-light bg-light">
            <a class="navbar-brand" href="index.html"></a>
              <img id="brand-image" alt="Brand" src="logo.png"</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
            </button>
          
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
              <ul class="navbar-nav ml-auto">
                <li class="nav-item">
                  <a class="nav-link" href="#">Services </a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">Blogs </a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">About Us </a>
                </li>
              </ul>
            </div>
          </nav>
    </div>

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  </body>
</html>

【问题讨论】:

    标签: html css twitter-bootstrap hover navbar


    【解决方案1】:

    添加这个css

    .navbar-expand-lg .navbar-collapse {
    margin: -7px;
    }
    

    将现有代码更改为

    .navbar-nav > li {
    margin-left: 10px;
    padding: 33px 5px;
    }
    

    【讨论】:

    • @PizzaBoy- 你太棒了!太完美了!
    • @PizzaBoy- 这对我的悬停很公平。但是如何使 .active 看起来与悬停一样? .active 在活动页面周围有一个奇怪的半完整边框...谢谢您的帮助!
    • 如果它解决了您的问题,请务必点赞并标记为已接受的答案。另外,请查看我对您的问题所做的编辑,以确保我没有犯错,看起来 codepen 中的代码和问题不匹配。所以我将它转换为堆栈 sn-p 而不是 codepen,以减少对外部站点的依赖。
    • 嗨@Ryan,我还是新手,这就是为什么我不能投票,但感谢您为我转换代码。我还有一个额外的问题(见更新),如果你能解决这个问题,那就太酷了!!
    【解决方案2】:

    请试试这个代码。

    * {
        margin: 0;
        padding: 0;
    }
    body {
        font-family: Calibri, sans-serif;
    }
    .background-wrap {
    	position: fixed;
    	width: 100%;
    	height: 100%;
    	overflow: hidden;
    	top: 0;
        left: 0;
        z-index: -1000;
    }
    #video-bg-elem {
    	top: 0;
    	left: 0;
    	height: 100%;
    	width: 100%;
    	object-fit: cover;
    }
    .navbar{
        background-color: RGBA(0,0,0,0.2) !important;
    }
    #brand-image{
        height: 100px;
    }
    a.navbar-brand{
        position: relative;
    }
    
    .navbar{
        background-color: RGBA(0,0,0,0.2) !important;
    }
    .navbar-nav > li{
        margin-left:30px;
        margin-right:30px;
    }
    .navbar-nav > li > a{
        text-decoration: none;
        font-size: 2vh;
        font-size: 2.3vw;
        font-family: 'Freestyle Script';
        font-weight: 900;
    	  color: rgb(210, 21, 84) !important;
        padding-bottom: 0.2%;
    	  display: block;
    }
    .navbar-nav > .active > a,
    .navbar-nav > .active > a:hover,
    .navbar-nav > .active > a:focus {
        background-color: RGBA(0,0,0,0.4) !important;
        display: block;
    }
    .navbar-nav > li a:hover,
    .navbar-nav > li a:focus {
        background-color: RGBA(0,0,0,0.4) !important;
        transition: .5s;
    }
        <!-- Video Background -->
        <div class="background-wrap">
    		
            <video id="video-bg-elem" preload="auto" autoplay loop muted="muted">
                        <source src="video.mp4" type="video/mp4">
                        Video not supported
                        </video>
        </div>
        
        <!-- Navbar -->
        <div class="mynav">
            <nav class="navbar navbar-expand-lg navbar-light bg-light">
                <a class="navbar-brand" href="index.html"></a>
                  <img id="brand-image" alt="Brand" src="logo.png"</a>
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                  <span class="navbar-toggler-icon"></span>
                </button>
              
                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                  <ul class="navbar-nav ml-auto">
                    <li class="nav-item active">
                      <a class="nav-link" href="#">Services </a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#">Blogs </a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#">About Us </a>
                    </li>
                  </ul>
                </div>
              </nav>
        </div>
          <!-- Bootstrap CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
       
        <!-- Optional JavaScript -->
        <!-- jQuery first, then Popper.js, then Bootstrap JS -->
        <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

    【讨论】:

    • 嗨@Dhaval,我今天尝试了这段代码,不幸的是它开始将半边框悬停在背景周围,而不是修复我在活动页面中已有的全边框背景。谢谢你帮助我:)
    猜你喜欢
    • 2014-01-30
    • 2020-09-11
    • 1970-01-01
    • 2012-10-31
    • 2015-05-24
    • 1970-01-01
    • 2021-08-03
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多