当前位置: 首页 > 面试题库 >

使用纯CSS向上/向上打开的下拉菜单

汤飞
2023-03-14
问题内容

我使用纯CSS创建了一个下拉菜单,并且将其放到我喜欢的地方,但我希望它是“下拉”而不是“下拉”,因为菜单栏位于菜单的底部。布局。我需要添加或更改以使其成为“下拉菜单”吗?

#menu * {

  padding:0;

  margin: 0;

  font: 12px georgia;

  list-style-type:none;

}

#menu {

  margin-top: 100px;

  float: left;

  line-height: 10px;

  left: 200px;

}

#menu a {

  display: block;

  text-decoration: none;

  color: #3B5330;

}

#menu a:hover { background: #B0BD97;}

#menu ul li ul li a:hover {

  background: #ECF1E7;

  padding-left:9px;

  border-left: solid 1px #000;

}

#menu ul li ul li {

  width: 140px;

  border: none;

  color: #B0BD97;

  padding-top: 3px;

  padding-bottom:3px;

  padding-left: 3px;

  padding-right: 3px;

  background: #B0BD97;

}

#menu ul li ul li a {

  font: 11px arial;

  font-weight:normal;

  font-variant: small-caps;

  padding-top:3px;

  padding-bottom:3px;

}

#menu ul li {

  float: left;

  width: 146px;

  font-weight: bold;

  border-top: solid 1px #283923;

  border-bottom: solid 1px #283923;

  background: #979E71;

}

#menu ul li a {

  font-weight: bold;

  padding: 15px 10px;

}

#menu li {

  position:relative;

  float:left;

}

#menu ul li ul, #menu:hover ul li ul, #menu:hover ul li:hover ul li ul {

  display:none;

  list-style-type:none;

  width: 140px;

}

#menu:hover ul, #menu:hover ul li:hover ul, #menu:hover ul li:hover ul li:hover ul {

  display:block;

}

#menu:hover ul li:hover ul li:hover ul {

  position: absolute;

  margin-left: 145px;

  margin-top: -22px;

  font: 10px;

}

#menu:hover ul li:hover ul {

  position: absolute;

  margin-top: 1px;

  font: 10px;

}


<div id="menu">

  <ul>

    <li><center><a href="X">Home</a></center>

      <ul>

        <li><a href="#">About Us</a></li>

        <li><a href="#">Disclaimer</a></li>

      </ul>

    </li>

    <li>

      <center><a href="#">Practice Areas</a></center>

      <ul>

        <li><a href="#">Civil Law</a></li>

        <li><a href="#">Criminal Law &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rsaquo;</a>

          <ul>

            <li><a href="#">Joomla</a></li>

            <li><a href="#">Drupal</a></li>

            <li><a href="#">Wordpress</a></li>

          </ul>

        <li><a href="#">Family Law &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &rsaquo;</a>

          <ul>

            <li><a href="#">Joomla</a></li>

            <li><a href="#">Drupal</a></li>

            <li><a href="#">Wordpress</a></li>

          </ul>

        <li><a href="#">Personal Injury &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsaquo;</a>

          <ul>

            <li><a href="#">Joomla</a></li>

            <li><a href="#">Drupal</a></li>

            <li><a href="#">Wordpress</a></li>

          </ul>

        <li><a href="#">Traffic Offenses &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsaquo;</a>

          <ul>

            <li><a href="#">Joomla</a></li>

            <li><a href="#">Drupal</a></li>

            <li><a href="#">Wordpress</a></li>

          </ul>

        <li><a href="#">FAQ</a> </li>

      </ul>

    </li>



    <li><center><a href="#">Attorney</a></center>

      <ul>

        <li><a href="#">X</a></li>

        <li><a href="#">X</a></li>

        <li><a href="#">X</a></li>

        <li><a href="#">X</a></li>

      </ul>

    </li>



    <li><center><a href="#">Contact Us</a></center>

      <ul>

        <li><a href="#">Locations &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&rsaquo;</a>

          <ul>

            <li><a href="#">Rockville Office</a></li>

            <li><a href="#">Frederick Office</a></li>

            <li><a href="#">Greenbelt Office</a></li>

          </ul>

        <li><a href="#">Phone Directory</a></li>

        <li><a href="#">Mailing Address</a></li>

      </ul>



    </li>



    <li><center><a href="#">Resources</a></center>

      <ul>

        <li><a href="#">Helpful Links</a></li>

        <li><a href="#">Affiliates &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsaquo;</a>

          <ul>

            <li><a href="#">Healthcare Providers</a></li>

            <li><a href="#">Insurance Companies</a></li>

          </ul>

        </li></ul>

    <li><center><a href="#">News &amp; Events</a></center>

      <ul>

        <li><a href="#">Press Articles</a></li>

        <li><a href="#">Newsletter</a></li>

        <li><a href="#">Events</a></li>

        <li><a href="#">Blog</a></li>

      </ul>

    <li><center><a href="#">Espanol</a></center>

      <ul>

        <li><a href="#">X</a></li>

      </ul>



  </ul>

</div>

问题答案:

添加bottom:100%到您的#menu:hover ul li:hover ul规则

#menu:hover ul li:hover ul {
    position: absolute;
    margin-top: 1px;
    font: 10px;
    bottom: 100%; /* added this attribute */
}

还是要防止子菜单具有相同的效果,只需添加此规则

演示2

#menu>ul>li:hover>ul { 
    bottom:100%;
}

为了获得边框,您可以添加以下属性

#menu>ul>li:hover>ul { 
    bottom:100%;
    border-bottom: 1px solid transparent
}


 类似资料:
  • 问题内容: 以前,我没有对多级纯CSS下拉菜单进行过很多工作,但是现在我正在寻找最干净的方法。当我搜索了这个网上我发现了很多那名4-5岁的解决方案,我不知道是否有更好的方法来实现这一目标,而不是做一些这样的。 问题答案: .third-level-menu 我还整理了一个现场演示,可在此处使用

  • 本文向大家介绍纯css下拉菜单 无需js,包括了纯css下拉菜单 无需js的使用技巧和注意事项,需要的朋友参考一下 再来个今天某人说过的例子:纯css下拉菜单: 效果图 这个的实现很简单,主要是:hover和过渡属性transition的使用。 代码: 因为ul是个伸缩对象,所以要让它脱离文档流,不是在实用时会影响到布局,给它一个绝对定位即可。 以上就是本文的全部内容,希望对大家的学习有所帮助,也

  • 我有一个下拉菜单,除了一个我无法解决的小错误外,它工作得很好。 第一个下拉框项正常出现。然而,第二个下拉框项稍微向右移动。我猜想是我设置的链接的边距导致下拉框稍微向右移动。如果是这样的话,我能做些什么来解决这个问题呢? 这是一个简单的导航菜单,它将drop菜单项的位置设置为绝对位置,并由父元素的overflow:隐藏功能隐藏。悬停时,下拉框会显示溢出:可见。 现场在这里- CSS 超文本标记语言

  • 无法使用SafariDriver Selenium在Safari浏览器中打开上下文菜单。获得以下异常: org . open QA . selenium . web Driver exception:未知命令:< br> {"id":"az1mvyq9x4ly "," name":"mouseMoveTo "," parameters ":< br > { " element ":":wdc:14

  • 问题内容: 我正在尝试制作一个简单的CSS下拉菜单,当您将鼠标悬停在链接上时,将显示子菜单。当您将鼠标悬停在li上时,我已经设法实现了这一点,但无法弄清楚如何使用链接来实现。 我之所以尝试使用链接而不是li来执行此操作,是因为我的菜单宽度为100%,并且li所占的面积比链接大,因此,如果将鼠标悬停在该区域上,则不显示该子菜单不想。 我的CSS如下: 问题答案: 如果可能的话,我会避免使用JS。这不

  • .dropbtn { background-color: #4CAF50; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } .dropdown { position: relative; display: inline-block; } .dropdown:hover .dropbtn {