【问题标题】:How can I repeat the underline CSS for my nav bar text for my drop down menu text and centre drop down menu text?如何为下拉菜单文本和中心下拉菜单文本重复导航栏文本的下划线 CSS?
【发布时间】:2017-03-05 03:02:42
【问题描述】:

问题 1

当我将鼠标悬停在下拉菜单中的导航栏文本上时,框底部会出现一条下划线。但是,我希望导航栏下拉菜单文本的过程发生。当用户将鼠标悬停在下拉菜单文本上而不是下划线位于文本底部时,它位于下拉菜单框的底部。我怎样才能做到这一点?

问题 2

如何使网页的导航栏下拉菜单文本在中心一个接一个地显示?

这是我的codepen,包含所有的 html 和 CSS。

以下 HTML

<nav class="navbar navbar-default">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#"><img src="http://placehold.it/60x60" alt="Your Brand Name"></a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                    <li><a href="#">Home</a>
                    </li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">About Me <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">Action</a>
                            </li>
                            <li><a href="#">Another action</a>
                            </li>
                            <li><a href="#">Something else here</a>
                            </li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">Separated link</a>
                            </li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">One more separated link</a>
                            </li>
                        </ul>
                    </li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Units <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">Action</a>
                            </li>
                            <li><a href="#">Another action</a>
                            </li>
                            <li><a href="#">Something else here</a>
                            </li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">Separated link</a>
                            </li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">One more separated link</a>
                            </li>
                        </ul>
                    </li>
                    <li><a href="#">Clients</a>
                    </li>
                    <li><a href="#contact-me">Contact Me</a>
                    </li>
                </ul>
              </div><!-- /.navbar-collapse -->
            </div><!-- /.container-fluid -->
</nav>

【问题讨论】:

    标签: html css


    【解决方案1】:

    display: block; position: relative; 添加到lia 的下拉列表中。该边框基于绝对定位的元素,并且绝对定位的元素相对于最近的非静态定位的祖先进行定位。并且让它们都阻塞将确保它们在自己的线路上,并且您向父级应用的 text-align: center 将起作用。

    body {
      margin: 0;
      padding: 0;
    }
    
    .navbar.navbar-default {
      background-color: #4D5061;
      height: 10vh;
    }
    
    .navbar.navbar-default ul {
      list-style-type: none;
      text-align: center;
    }
    
    .navbar.navbar-default ul li {
      display: inline-block;
    }
    
    .dropdown .dropdown-menu {
      background-color: #4D5061;
    }
    
    .dropdown .dropdown-menu a {
      color: white;
    }
    
    .navbar.navbar-default ul li a {
      display: inline-block;
      padding: 3.5vh 8px 4px;
      color: white;
      text-decoration: none;
      font-size: 14pt;
      font-family: 'Roboto', sans-serif;
    }
    
    .navbar.navbar-default ul li:after {
      content: '';
      position: absolute;
      right: 50%;
      bottom: 0;
      left: 50%;
      height: 3px;
      background-color: red;
      border-radius: 9px;
      transition: all .2s;
    }
    
    .navbar.navbar-default ul li a:hover {
      color: red;
    }
    
    .nav.navbar-nav,
    .nav.navbar-nav>li {
      float: none;
    }
    
    .navbar.navbar-default ul li:hover:after {
      right: 0;
      left: 0;
    }
    
    a:hover {
      color: red;
      text-decoration: none;
    }
    
    #logo {
      padding-top: 2vh;
      padding-left: 20px;
      float: left;
    }
    
    section {
      position: relative;
    }
    
    .section1 {
      height: 90vh;
      background-color: #FFFFFF;
      text-align: center;
    }
    
    .section2 {
      height: 95vh;
      background-color: #A59E8C;
      text-align: center;
      color: white;
    }
    
    .contact_section {
      height: 93vh;
      background-color: grey;
    }
    
    .fa-angle-down {
      color: #4D5061;
      position: absolute;
      bottom: 0px;
    }
    
    footer {
      height: 5vh;
    }
    
    .navbar.navbar-default ul.dropdown-menu li,
    .navbar.navbar-default ul.dropdown-menu li a {
      position: relative;
      display: block;
    }
    <!DOCTYPE html>
    <html lang="en">
    
    <html>
    
    <head>
      <title>Liam Docherty | London Web Developer &amp; GFX designer</title>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    </head>
    
    <body>
      <nav class="navbar navbar-default">
        <div class="container-fluid">
          <!-- Brand and toggle get grouped for better mobile display -->
          <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                                <span class="sr-only">Toggle navigation</span>
                                <span class="icon-bar"></span>
                                <span class="icon-bar"></span>
                                <span class="icon-bar"></span>
                            </button>
            <a class="navbar-brand" href="#"><img src="http://placehold.it/60x60" alt="Your Brand Name"></a>
          </div>
    
          <!-- Collect the nav links, forms, and other content for toggling -->
          <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
              <li><a href="#">Home</a>
              </li>
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">About Me <span class="caret"></span></a>
                <ul class="dropdown-menu">
                  <li><a href="#">Action</a>
                  </li>
                  <li><a href="#">Another action</a>
                  </li>
                  <li><a href="#">Something else here</a>
                  </li>
                  <li role="separator" class="divider"></li>
                  <li><a href="#">Separated link</a>
                  </li>
                  <li role="separator" class="divider"></li>
                  <li><a href="#">One more separated link</a>
                  </li>
                </ul>
              </li>
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Units <span class="caret"></span></a>
                <ul class="dropdown-menu">
                  <li><a href="#">Action</a>
                  </li>
                  <li><a href="#">Another action</a>
                  </li>
                  <li><a href="#">Something else here</a>
                  </li>
                  <li role="separator" class="divider"></li>
                  <li><a href="#">Separated link</a>
                  </li>
                  <li role="separator" class="divider"></li>
                  <li><a href="#">One more separated link</a>
                  </li>
                </ul>
              </li>
              <li><a href="#">Clients</a>
              </li>
              <li><a href="#contact-me">Contact Me</a>
              </li>
            </ul>
          </div>
          <!-- /.navbar-collapse -->
        </div>
        <!-- /.container-fluid -->
      </nav>
    
    
      <section class="section1">
        <div class="hero"></div>
    
    
        <a href="#section2"><i class="fa fa-angle-down" style="font-size:100px;"></i></a>
    
      </section>
      <section class="section2" id="section2">
    
    
        <a href="#contact-me"> <i class="fa fa-angle-down" style="font-size:100px;"></i></a>
    
      </section>
      <section id="contact-me" class="contact_section">
    
      </section>
      <script src="https://code.jquery.com/jquery-3.1.1.js" integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA=" crossorigin="anonymous"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
    </body>
    
    <footer></footer>
    
    </html>

    【讨论】:

    • 太棒了!感谢您的解决方案。现在下拉菜单文本之间有一些白线吗?我该如何摆脱它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多