简体   繁体   English

李边界包括绝对的孩子

[英]li border to include absolute child

I'm building hover dropdown menus in CSS and I want to style each primary li 's border to surround its (absolute) child li on hover. 我正在CSS中构建悬停下拉菜单,我想为每个主要li的边框设置样式,以使其在悬停时包围其(绝对)子li At the moment, the border only surrounds the primary li content. 目前,边境仅围住主li的内容。 For the sake of the demo, the border is always present, but I'll toggle it on hover or click later. 为了演示起见,边框始终存在,但是我将在悬停时切换它或稍后单击。

<section class="divider fullwidth">
  <div class="divider-cont">
    <div id="divider-links">
      <span id="filter-by">Filter Events By</span>
      <ul>
        <li><a href="#">Genre <i class="icon-arrow-down"></i></a>
          <ul class="dropdown-menu">
            <li>
              <a href="#">Genre 1</a>
            </li>
            <li>
              <a href="#">Genre 2</a>
            </li>
            <li>
              <a href="#">Genre 3</a>
            </li>
          </ul>
        </li>
        <li><a href="#">Venue & Location <i class="icon-arrow-down"></i></a></li>
        <li><a href="#">Time of Day <i class="icon-arrow-down"></i></a></li>
        <li><a href="#">Price Range <i class="icon-arrow-down"></i></a></li>
      </ul>
    </div>
  </div>
</section>

section.divider .divider-cont {
  padding: 0 2%;
}
section.divider .divider-cont #filter-by {
  margin-right: 50px;
}
section.divider .divider-cont ul {
  display: inline-block;
  position: relative;
}
section.divider .divider-cont ul li {
  display: inline-block;
  position: relative;
  border: 1px solid grey;
  padding: 15px;
}
section.divider .divider-cont ul li:hover ul {
  display: block;
}
section.divider .divider-cont ul li a {
  text-align: center;
}
section.divider .divider-cont ul li ul {
  display: none;
  position: absolute;
  background-color: white;
  padding-left: 0;
}
section.divider .divider-cont ul li ul li {
  display: block;
  border: none;
  padding: 0;
  text-align: left;
}
section.divider .divider-cont ul li a {
  padding-right: 50px;
}
section.divider .divider-cont ul li a, section.divider .divider-cont ul li a:hover, section.divider .divider-cont ul li a:active, section.divider .divider-cont ul li a:visited {
  color: grey;
}

Demo: http://codepen.io/ourcore/pen/apmMqL 演示: http//codepen.io/ourcore/pen/apmMqL

You may draw the border from the ul showing up : 您可以从显示的ul绘制border

&:hover ul { 
  display: block;
  width:100%;
  margin:0 -1px;
  border:solid 1px gray;
  border-top:none;
  left:0;
}

http://codepen.io/anon/pen/XpjGxa?editors=1100 http://codepen.io/anon/pen/XpjGxa?editors=1100

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM