提问者:小点点

如何将div附加到可折叠的navbar


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

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

我尝试了很多我在网上找到的建议。他们大多建议给父div一个相对位置,给子div一个绝对位置。但它从未奏效,而且仅有的几次奏效,它都没有反应。

下面是我当前的HTML非响应代码

null

.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>

null

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

非常感谢你的帮助。(祝你有美好的一天:)


共2个答案

匿名用户

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

null

.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>

匿名用户

尝试在navbar中添加元素并添加以下属性:

.circle{
position:absolute;
z-index: 1001;
right: 35px;
top: 45px; 
width:20px;
height:20px;
background: #d21c2d;
border-radius:50%; 
}