首页 > 解决方案 > 如何将 div 附加到可折叠的导航栏

问题描述

基本上我在页面顶部有一个导航栏。此导航栏具有折叠功能,因此该菜单仍可用于小屏幕。我想在这个可折叠导航栏的底部附加一个 div。更具体地说,在屏幕的右侧,将有一个以导航栏边框为中心的红色圆圈。

我正在寻找这样的东西: 在此处输入图像描述 圆圈不是按钮。可折叠按钮仅出现在小屏幕上(在导航栏的右侧)

我尝试了很多我在互联网上找到的建议。他们中的大多数人建议给父div一个相对位置和一个绝对位置给子div。但它从来没有奏效,而且唯一一次奏效,它没有响应。

这是我当前的 HTML 非响应代码

.circle {
  position:absolute;
  <--top:35px;-->
  right:3vw;
  width:20px;
  height:20px;
  background: #d21c2d;
  border-radius:50%;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-fixed-top navbar-expand-lg green-background">
    <div class="container-fluid">
       <-- 80 lines of navbar code including a collapse navbar-collapse div -->
    </div>
    <div class="circle"></div>
</nav>

到目前为止,我唯一能做的就是为给定尺寸的屏幕放置圆圈。如果屏幕尺寸发生变化,它是不稳定的。它也不是可折叠模式。

非常感谢您的帮助。祝你今天过得愉快 :)

标签: cssbootstrap-4

解决方案


您可以使用 来计算它 calc。 您可以根据您的要求px从总数中减去。%

.circle {
  position:absolute;
  top: calc(100% - 10px);
  right:30px;
  width:20px;
  height:20px;
  background: #d21c2d;
  border-radius:50%;
}
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>


</head>

<body>
   <nav class="navbar navbar-full navbar-expand-lg navbar-light bg-light">
    <div class="container logo" style="position: relative;">
      <a class="navbar-brand text-left d-block float-left d-xl-flex logo" href="assets/img/kol-logoldpi.svg"><img class="kibrislogo" height="50" src='assets/img/kol-logoldpi2.svg' /></a><button class="navbar-toggler" data-toggle="collapse" data-target="#navcol-1"><span class="sr-only">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
      <div class="collapse navbar-collapse" id="navcol-1">
        <ul class="nav navbar-nav ml-auto text-center">
          <li class="nav-item" role="presentation"><a class="nav-link active" href="index.html">Paketler</a></li>
          <li class="nav-item" role="presentation"><a class="nav-link" href="features.html">Kampanyalar</a></li>
          <li class="nav-item" role="presentation"><a class="nav-link" href="pricing.html">sss</a></li>
          <li class="nav-item" role="presentation"><a class="nav-link" href="about-us.html">Hizmet Noktalari</a></li>
          <li class="nav-item" role="presentation"><a class="nav-link" href="contact-us.html"><strong>İLETIŞIM</strong></a></li>
          <li class="nav-item" role="presentation"><a class="nav-link" href="contact-us.html" style="color: rgba(207,14,14,0.5);">TR/ENG</a></li>
        </ul>
      </div>
      <img class="logo" style="position: absolute; right: -7%; height: 70px;" src="assets/img/kol-ccldpi.svg" alt="">
    </div>
    <div class="circle"></div>
  </nav>
</body>

</html>


推荐阅读