透明引导下拉列表

时间:2018-02-22 09:18:25

标签: css twitter-bootstrap

我在Bootstrap中创建透明下拉效果时遇到一些问题:

enter image description here

在撰写本文时,它看起来像这样:

enter image description here

我在这里添加了一个jsfiddle,其中我正在尝试尝试获得效果,但它似乎无法正常工作:https://jsfiddle.net/vuv9on49/。看起来下拉列表的位置有点偏离,它在主导航栏上略微重叠,如第二张照片所示。

HTML

<div class="header" id="navbar-header">
  <div navbar-shrink offset="50" scroll-class="navbar-shrink" class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <div class="navbar-logo">
          <a class="navbar-brand" href="/">
              <img src="http://marquesslondon.com/wp-content/uploads/2016/10/MarquessLdnBBwhtsml-2-e1477168862283.png">
            </a>
        </div>
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#js-navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
      </div>
      <div style="display: block">
        <div class="collapse navbar-collapse" id="js-navbar-collapse">
          <ul class="nav navbar-nav" id="navbar">
            <li>
              <a href="/">HOME</a>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">TAILORING</a>
              <ul class="dropdown-menu">
                <li>
                  <a href="/process">Process</a>
                </li>
                <li>
                  <a href="/look">Our Look</a>
                </li>
              </ul>
            </li>
            <li>
              <a ng-href="/lifestyle">LIFESTYLE</a>
            </li>
            <li>
              <a ng-href="/story">STORY</a>
            </li>
            <li>
              <a ng-href="/contact">GET IN TOUCH</a>
            </li>
          </ul>
        </div>
      </div>

    </div>
  </div>
</div>

CSS

/* Latest compiled and minified CSS included as External Resource*/

/* Optional theme */

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css');
body,
html {
  height: 100%;
  margin: 0;
}

/*=======================================================
Header, footer and navbar
========================================================*/

.navbar-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  width: 100%;
}

.navbar-toggle {
  position: absolute;
  top: 5px;
  right: 5px;
}

.navbar-header {
  width: 100%;
}

.navbar .navbar-nav {
  display: inline-block;
  float: none;
  margin-top: 2em;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 5px;
  text-transform: uppercase;
  font-size: 14px;
}

.navbar {
  position: relative;
}

.navbar-shrink .navbar-nav {
  display: none;
}

.navbar-shrink.navbar {
  height: 5.5em;
}

.navbar-shrink.navbar>.container>.navbar-header>.navbar-brand img {
  width: 250px;
  height: 44px;
}

.navbar-default .navbar-nav>li>a {
  color: #fff;
  font-weight: 300;
}

.navbar-default .navbar-nav>li>a:focus,
.navbar-default .navbar-nav>li>.active {
  color: #808ba0;
}

.navbar-default .navbar-nav>li>a:hover {
  color: #808ba0;
  font-weight: 300;
}

#navbar-header {
  transition: 2s ease-in-out;
}

.navbar-default {
  background-color: rgba(51, 55, 65, 0.9);
}

.navbar-default.navbar-shrink {
  background-color: rgba(51, 55, 65, 0.9);
}

.navbar {
  position: relative;
  border-radius: 0px;
  border: 0px;
  height: 9.5em;
  -webkit-transition: height 300ms ease-in-out;
  -moz-transition: height 300ms ease-in-out;
  -o-transition: height 300ms ease-in-out;
  transition: height 300ms ease-in-out;
}

.navbar-fixed-top {
  position: fixed !important;
}

.navbar-brand img {
  width: 250px;
  height: 44px;
}

.nav {
  text-align: center;
}

.navbar .navbar-collapse {
  text-align: center;
}

.dropdown-menu {
  background-color: #474A53;
  opacity: 0.8;
  color: #fff;
}

.dropdown-menu ul {
  margin-top: 0.7em;
}

.dropdown:hover .dropdown-menu {
  display: block;
  margin-top: 0;
}

.mq-footer {
  text-align: center;
  font-family: 'Josefin Slab', sans-serif;
  padding-bottom: 2em;
}

.mq-footer>.container>#footer-copyright {
  font-size: 12px;
  color: #737373;
}

.footer-icon {
  font-size: 25px;
  color: #000;
  opacity: 0.8;
  padding-top: 1em;
  padding-right: 0.25em;
}

.footer-icon:hover {
  opacity: 1;
  cursor: pointer;
}

#footer-copyright {
  margin-top: 2em;
}

#footer-links {
  margin-top: 2em;
}

#footer-links ul {
  padding-left: 25px;
}

#footer-links ul li {
  display: inline;
  margin-right: 25px;
}

#footer-links ul li a {
  color: #333741;
}

有人可以帮我纠正一下吗?

1 个答案:

答案 0 :(得分:1)

我已将css margin-top:2em更改为margin-top:32px。我增加了一点余量,因为下拉取决于父div和父div(li)低于某个空间,这就是下拉覆盖到菜单的原因。

.navbar .navbar-nav {      
  margin-top: 32px;      
}

/* Latest compiled and minified CSS included as External Resource*/

/* Optional theme */

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css');
body,
html {
  height: 100%;
  margin: 0;
}

/*=======================================================
Header, footer and navbar
========================================================*/

.navbar-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  width: 100%;
}

.navbar-toggle {
  position: absolute;
  top: 5px;
  right: 5px;
}

.navbar-header {
  width: 100%;
}

.navbar .navbar-nav {
  display: inline-block;
  float: none;
  margin-top: 32px;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 5px;
  text-transform: uppercase;
  font-size: 14px;
}

.navbar {
  position: relative;
}

.navbar-shrink .navbar-nav {
  display: none;
}

.navbar-shrink.navbar {
  height: 5.5em;
}

.navbar-shrink.navbar>.container>.navbar-header>.navbar-brand img {
  width: 250px;
  height: 44px;
}

.navbar-default .navbar-nav>li>a {
  color: #fff;
  font-weight: 300;
}

.navbar-default .navbar-nav>li>a:focus,
.navbar-default .navbar-nav>li>.active {
  color: #808ba0;
}

.navbar-default .navbar-nav>li>a:hover {
  color: #808ba0;
  font-weight: 300;
}

#navbar-header {
  transition: 2s ease-in-out;
}

.navbar-default {
  background-color: rgba(51, 55, 65, 0.9);
}

.navbar-default.navbar-shrink {
  background-color: rgba(51, 55, 65, 0.9);
}

.navbar {
  position: relative;
  border-radius: 0px;
  border: 0px;
  height: 9.5em;
  -webkit-transition: height 300ms ease-in-out;
  -moz-transition: height 300ms ease-in-out;
  -o-transition: height 300ms ease-in-out;
  transition: height 300ms ease-in-out;
}

.navbar-fixed-top {
  position: fixed !important;
}

.navbar-brand img {
  width: 250px;
  height: 44px;
}

.nav {
  text-align: center;
}

.navbar .navbar-collapse {
  text-align: center;
}

.dropdown-menu {
  background-color: #474A53;
  opacity: 0.8;
  color: #fff;
}

.dropdown-menu ul {
  margin-top: 0.7em;
}

.dropdown:hover .dropdown-menu {
  display: block;
  margin-top: 0;
}

.mq-footer {
  text-align: center;
  font-family: 'Josefin Slab', sans-serif;
  padding-bottom: 2em;
}

.mq-footer>.container>#footer-copyright {
  font-size: 12px;
  color: #737373;
}

.footer-icon {
  font-size: 25px;
  color: #000;
  opacity: 0.8;
  padding-top: 1em;
  padding-right: 0.25em;
}

.footer-icon:hover {
  opacity: 1;
  cursor: pointer;
}

#footer-copyright {
  margin-top: 2em;
}

#footer-links {
  margin-top: 2em;
}

#footer-links ul {
  padding-left: 25px;
}

#footer-links ul li {
  display: inline;
  margin-right: 25px;
}

#footer-links ul li a {
  color: #333741;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>

<div class="header" id="navbar-header">
  <div navbar-shrink offset="50" scroll-class="navbar-shrink" class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <div class="navbar-logo">
          <a class="navbar-brand" href="/">
              <img src="http://marquesslondon.com/wp-content/uploads/2016/10/MarquessLdnBBwhtsml-2-e1477168862283.png">
            </a>
        </div>
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#js-navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
      </div>
      <div style="display: block">
        <div class="collapse navbar-collapse" id="js-navbar-collapse">
          <ul class="nav navbar-nav" id="navbar">
            <li>
              <a href="/">HOME</a>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">TAILORING</a>
              <ul class="dropdown-menu">
                <li>
                  <a href="/process">Process</a>
                </li>
                <li>
                  <a href="/look">Our Look</a>
                </li>
              </ul>
            </li>
            <li>
              <a ng-href="/lifestyle">LIFESTYLE</a>
            </li>
            <li>
              <a ng-href="/story">STORY</a>
            </li>
            <li>
              <a ng-href="/contact">GET IN TOUCH</a>
            </li>
          </ul>
        </div>
      </div>

    </div>
  </div>
</div>