【问题标题】:Right-align last submenu of a css drop-down menu右对齐 CSS 下拉菜单的最后一个子菜单
【发布时间】:2015-07-08 13:07:05
【问题描述】:

希望此 CSS 下拉菜单的最后一个子菜单右对齐:https://jsfiddle.net/mishka00/p6cyy5p7/。它当前右对齐(不正确)只是为了显示所需的最终结果。尝试了right:0left:auto 的各种组合,但无法弄清楚。

【问题讨论】:

    标签: css drop-down-menu alignment


    【解决方案1】:

    https://jsfiddle.net/sjmcpherso/b1pyqLpc/

    #nav ul li:last-child ul {
      right:0px;left:auto;
      text-align:right;
      background:white;
    }
    

    加上位置:相对于父级

    【讨论】:

      【解决方案2】:
      1. #nav ul li添加position: relative

      2. #nav ul li:last-child ul添加right: 0;

      #nav ul {
          padding:0;
          margin:0;
          list-style:none;
      }
      #nav ul li {
          float:left;
          border:1px solid #fff;
          margin:0 30px;
          position: relative;
      }
      #nav ul li a {
          display:block;
          padding:10px 6px;
          position:relative;
      }
      #nav ul li:hover {
          border-left:1px solid #E9E9E9;
          border-right:1px solid #E9E9E9;
          border-top:1px solid #E9E9E9;
      }
      #nav ul li ul {
          display:none;
      }
      #nav ul li:hover ul {
          display:block;
          position:absolute;
          z-index: 10;
          background:#fff;
          width:150px;
          border:0;
      }
      #nav ul li ul li {
          display:block;
          position:relative;
          border:none;
          float:none;
          margin:0;
          left:-1px;
      }
      #nav ul li ul li:hover {
          border:none;
          background:#F7F9FB;
      }
      #nav ul li ul li a {
          padding:10px;
          border:1px solid #E9E9E9;
      }
      #nav ul li:last-child ul {    
          right: 0;
          background:white;
      }
      #nav ul li:last-child ul li{
          left:1px;
      }
      <div id="nav">
          <ul>
              <li><a href="#">Menu1</a>
      
                  <ul>
                      <li><a href="menu.html">Item1</a>
                      </li>
                      <li><a href="menu.html">Item2</a>
                      </li>
                      <li><a href="menu.html">Item3</a>
                      </li>
                      <li><a href="menu.html">Item4</a>
                      </li>
                  </ul>
              </li>
              <li><a href="#">Menu2</a>
      
                  <ul>
                      <li><a href="menu.html">Item1</a>
                      </li>
                      <li><a href="menu.html">Item2</a>
                      </li>
                      <li><a href="menu.html">Item3</a>
                      </li>
                      <li><a href="menu.html">Item4</a>
                      </li>
                  </ul>
              </li>
              <li><a href="#">Menu3</a>
      
                  <ul>
                      <li><a href="menu.html">Item1</a>
                      </li>
                      <li><a href="menu.html">Item2</a>
                      </li>
                      <li><a href="menu.html">Item3</a>
                      </li>
                      <li><a href="menu.html">Item4</a>
                      </li>
                  </ul>
              </li>
          </ul>
      </div>
      <div style='clear: both;margin-bottom:5px;'></div>
      <div style='border-top:1px solid navy;'></div>

      【讨论】:

        【解决方案3】:

        只需将此代码添加到您的 css 中

        #nav ul li:last-of-type {
            float: right;
        }
        

        【讨论】:

          猜你喜欢
          • 2019-03-19
          • 1970-01-01
          • 2017-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-02
          • 1970-01-01
          相关资源
          最近更新 更多