【问题标题】:CSS3 only dropdown menu with transitions带有过渡的仅 CSS3 下拉菜单
【发布时间】:2016-04-17 08:29:07
【问题描述】:

我正在尝试创建一个只有 CSS3 的带有过渡的下拉菜单,但它并没有像我希望的那样 100% 工作。即使您将鼠标悬停在展开的下拉菜单上,我也希望下划线悬停状态相同。

这是我的第一次尝试: http://codepen.io/Winterfox/pen/wGmEbY

ul {
  text-align: center;
  li {
    display:inline-block;
    margin-right: 15px;
    transition:all 0.3s ease-in-out;
    &:hover {
      .submenu {
        height: 85px;
      }
    }
    .submenu {
      overflow:hidden;
      position:absolute;
      left: 0;
      width: 100%;
      background-color: #3862a0;
      height: 0;
      margin-top: 10px;
      line-height: 40px;
      box-sizing:border-box;
      transition:height 0.3s ease-in-out;
      transition-delay: 0.1s;
      a {
        color: #fff;
        margin-top: 20px;
        font-size: 16px;
        &:hover {
          color: #fff;
          text-decoration:underline;
        }
      }
    }
    a {
      color: #999;
      display: block;
      padding: 0 7px 0 7px;
      margin: 0 0 0 0;
      text-decoration: none;
      position: relative;
      &:hover {
        color: #3862a0;
        &::before {
          visibility: visible;
          transform: scale(1, 1);
        }
      }
      &::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 3px;
        bottom: -10px;
        left: 0px;
        background-color: #3862a0;
        transition: all 0.2s ease-in-out;
        transform: scale(0, 0);
        visibility: hidden;
      }
    }
  }
}

如您所见,当悬停展开的下拉菜单时,悬停状态已被移除。我试图通过将过渡移动到 li 元素来解决这个问题,如下所示: http://codepen.io/Winterfox/pen/ZWxqvp

但后来我遇到了一个问题,即 1# 在更改悬停状态的位置时,下拉菜单再次关闭时看起来不太好。 2# 菜单文本的蓝色下划线现在显示在页面底部。

对于如何仅使用 CSS3 解决此问题有什么建议吗?

【问题讨论】:

    标签: css


    【解决方案1】:

    我认为您的想法是朝着正确的方向发展,但您可以将锚点移动到 li:hover 块内,而不是将样式应用于 li,如下所示:

    li {
        ...
        &:hover {
            ...
            a {        
                color: #3862a0;
                &::before {
                    visibility: visible;
                    transform: scale(1, 1);
                }
            }
        }
    }
    

    完整代码在这里:http://codepen.io/anon/pen/VaxrwE

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2023-03-23
      • 2013-08-16
      • 2012-10-07
      • 1970-01-01
      相关资源
      最近更新 更多