带全屏覆盖的bootstrap4导航栏

带全屏覆盖的bootstrap4导航栏

问题描述:

我想让引导4导航栏保持完全展开。此外,我希望有一个叠加元素,其中的图像和文本对齐到右侧。即可点击的img /文本“所有类别”与右侧对齐。带全屏覆盖的bootstrap4导航栏

这是我的。我无法让文字转到正确的位置。

.overlay { 
 
    height: 100%; 
 
    width: 0; 
 
    position: fixed; 
 
    z-index: 1; 
 
    top: 0; 
 
    left: 0; 
 
    background-color: rgb(0,0,0); 
 
    background-color: rgba(0,0,0, 0.9); 
 
    overflow-x: hidden; 
 
    transition: 0.5s; 
 
} 
 

 
.overlay-content { 
 
    position: relative; 
 
    top: 25%; 
 
    width: 100%; 
 
    text-align: center; 
 
    margin-top: 30px; 
 
} 
 

 
.overlay a { 
 
    padding: 8px; 
 
    text-decoration: none; 
 
    font-size: 36px; 
 
    color: #818181; 
 
    display: block; 
 
    transition: 0.3s; 
 
} 
 

 
.overlay a:hover, .overlay a:focus { 
 
    color: #f1f1f1; 
 
} 
 

 
.overlay .closebtn { 
 
    position: absolute; 
 
    top: 20px; 
 
    right: 45px; 
 
    font-size: 60px; 
 
}
<body> 
 
    
 
    <div id="myNav" class="overlay"> 
 
    <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> 
 
    <div class="overlay-content"> 
 
    <a href="#">About</a> 
 
    <a href="#">Services</a> 
 
    <a href="#">Clients</a> 
 
    <a href="#">Contact</a> 
 
    </div> 
 
</div> 
 
    
 
    
 
    <nav class="navbar navbar-expand navbar-light bg-light"> 
 
    <a class="navbar-brand" href="#"> 
 
     <img src="img/icons/logo/pquizlogo.svg" width="38" height="38" class="d-inline-block align-top" alt="">Brand-name 
 
    </a> 
 
    <div> 
 
    <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; All categories</span> 
 
     <script> 
 
     function openNav() { 
 
     document.getElementById("myNav").style.width = "100%"; 
 
     } 
 
     function closeNav() { 
 
     document.getElementById("myNav").style.width = "0%"; 
 
     } 
 
     </script> 
 
    </div> 
 
    </nav> 
 
</body>

请告诉我,如果HTML是好的,以及如何使“所有类别”现身导航栏的右侧。

谢谢!

+0

.overlay一个{文本对齐:权利; }? –

+0

试过了,不起作用。我加了{text-align:right; }和{float:right; }给大多数类,没有结果。 – Netrunner21

+0

查看答案。那是你要的吗? –

您需要将span元素设置为display:block;,然后才能使用text-align: right;

我添加了一个类nav-icon的跨度和移动你的内嵌样式的CSS部分:

.overlay { 
 
    height: 100%; 
 
    width: 0; 
 
    position: fixed; 
 
    z-index: 1; 
 
    top: 0; 
 
    left: 0; 
 
    background-color: rgb(0,0,0); 
 
    background-color: rgba(0,0,0, 0.9); 
 
    overflow-x: hidden; 
 
    transition: 0.5s; 
 
} 
 

 
.overlay-content { 
 
    position: relative; 
 
    top: 25%; 
 
    width: 100%; 
 
    text-align: center; 
 
    margin-top: 30px; 
 
} 
 

 
.overlay a { 
 
    padding: 8px; 
 
    text-decoration: none; 
 
    font-size: 36px; 
 
    color: #818181; 
 
    display: block; 
 
    transition: 0.3s; 
 
} 
 

 
.overlay a:hover, .overlay a:focus { 
 
    color: #f1f1f1; 
 
} 
 

 
.overlay .closebtn { 
 
    position: absolute; 
 
    top: 20px; 
 
    right: 45px; 
 
    font-size: 60px; 
 
} 
 

 
.nav-icon{ 
 
    font-size:30px; 
 
    cursor:pointer; 
 
    display: block; 
 
    text-align: right; 
 
}
<body> 
 
    
 
    <div id="myNav" class="overlay"> 
 
    <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> 
 
    <div class="overlay-content"> 
 
    <a href="#">About</a> 
 
    <a href="#">Services</a> 
 
    <a href="#">Clients</a> 
 
    <a href="#">Contact</a> 
 
    </div> 
 
</div> 
 
    
 
    
 
    <nav class="navbar navbar-expand navbar-light bg-light"> 
 
    <a class="navbar-brand" href="#"> 
 
     <img src="img/icons/logo/pquizlogo.svg" width="38" height="38" class="d-inline-block align-top" alt="">Brand-name 
 
    </a> 
 
    <div> 
 
    <span class="nav-icon" onclick="openNav()">All categories &#9776;</span> 
 
     <script> 
 
     function openNav() { 
 
     document.getElementById("myNav").style.width = "100%"; 
 
     } 
 
     function closeNav() { 
 
     document.getElementById("myNav").style.width = "0%"; 
 
     } 
 
     </script> 
 
    </div> 
 
    </nav> 
 
</body>