【问题标题】:How to attach a div to a collapsible navbar如何将 div 附加到可折叠的导航栏
【发布时间】:2019-11-04 08:09:26
【问题描述】:

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

我正在寻找这样的东西: enter image description here 圆圈不是按钮。可折叠按钮仅出现在小屏幕上(在导航栏的右侧)

我尝试了很多在 Internet 上找到的建议。他们中的大多数人建议给父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>

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

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

【问题讨论】:

  • 你能发布一张你期望的图片吗?圆圈会做什么,那是一个按钮吗?
  • 水平居中还是垂直居中?您可能希望使用右或前 50%,然后将其在该轴上平移 -50%
  • 哇,使用百分比 (top:calc(100% - 10px)) 似乎效果很好!我很抱歉提出一个具有如此简单解决方案的问题,我对使用 CSS 和引导程序很陌生。非常感谢您的宝贵时间!

标签: css bootstrap-4


【解决方案1】:

您可以使用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>

【讨论】:

    【解决方案2】:

    通过在导航栏中添加元素并添加以下属性来尝试:

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

    【讨论】:

      猜你喜欢
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多