将下拉菜单宽度扩展为父div宽度

时间:2019-08-06 09:09:50

标签: css wordpress sass

我正在尝试将下拉菜单宽度调整为div header-bar。我页面中间的条形图,下面有一个背景图像。

我已经尝试过此解决方案http://jsfiddle.net/4MEWL/1/,但它使子菜单与浏览器窗口一样宽。那不是我需要实现的。

enter image description here

HTML

<header>
  <div class="container">
   <div class="header-bar">
     <div class="header-company-logo">

     </div><!-- .header-company-logo -->
     <div class="header-menu">
      <nav class="navbar navbar-expand-lg">
        <button class="navbar-toggler custom-toggler" type="button" data-toggle="collapse" data-target="#navbarToggler" aria-controls="navbarToggler" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarToggler">
         <?php wp_nav_menu( array( 'theme_location' => 'primary_navigation' ) ); ?>
         </div>
      </nav>
     </div><!-- .header-menu -->

     <div class="header-phone">
       <a href="tel:<?php echo get_option('cellphone-no-set'); ?>"><?php echo get_option('cellphone-no-set'); ?></a>
     </div><!-- .header-phone -->

    </div><!-- .header-bar -->
  </div><!-- .container -->
</header>

SASS

$ base-padding = 15px

#menu-main-menu {
  float: left;
  margin: 0;
  padding: 0;
  li {
    display: inline-block;
    position: relative;
    padding: 0 $base-padding;
    list-style: none;
    a {
      text-transform: uppercase;
      text-decoration: none;
      padding-bottom: $base-padding * 2;
      &:after {
        content: '';
        position: absolute;
        left: 0;
        display: inline-block;
        height: 1em;
        width: 100%;
        border-bottom: 1.5px solid $green-color;
        margin-top: $base-padding - 2px;
        opacity: 0;
        -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
        transition: opacity 0.35s, transform 0.35s;
        -webkit-transform: scale(0,1);
        transform: scale(0,1);
      }
    }
    ul {
      background: $white-color;
      position: absolute;
      display: none;
      left: 0;
      top: 47px;
      width: 100%;

    }
    &:hover {
      ul {
        display: block;
        li {
          width: 100%;
          padding: $base-padding;
          a {
            &:after {
              opacity: 0;
            } 
          } 
        }
      }
      a {
        &:after {
          opacity: 1;
            -webkit-transform: scale(1);
            transform: scale(1);
        } 
      } 
    } 
  } 
}

0 个答案:

没有答案