【问题标题】:CSS - adding another elements on hover stateCSS - 在悬停状态下添加另一个元素
【发布时间】:2011-02-02 04:56:31
【问题描述】:

全部,

我有一个水平菜单栏。当用户将鼠标悬停在菜单栏中的每个链接上时,我想在链接下方显示一个小三角形。

这个小三角形不是图像,而是由 CSS 边框语法呈现的。图片和代码如下:

这是三角形的 CSS 代码:

#css_arrow {
    border-color: transparent transparent rgba(111,46,11,0.0) transparent;
    border-style: solid;
    border-width: 8px;
    height: 0;
    width: 0;
    position: absolute;
    top: 34px;
    left: 78px;

我想将三角形​​添加到悬停状态的菜单项。

有人可以建议如何将此 id 添加到悬停状态。我考虑过为菜单栏中的项目使用两个类,但没有成功。这是html代码:

<div id="main_bar">
                <ul>
                    <li class="maintabs maintabs_tri"><a href="#">Overview</a></li><li class="maintabs maintabs_tri"><a href="#">Collar/ Neckline</a></li><li class="maintabs maintabs_tri"><a href="#">Sleeves</a>
                    <ul>
                        <li class="s_leftright"><a href="#">Left Sleeves</a></li>
                        <li class="s_leftright"><a href="#">Right Sleeves</a></li>
                    </ul></li><li class="maintabs maintabs_tri"><a href="#">Body</a></li>
                </ul>           
            </div>  

还有 CSS,它不起作用:

    .maintabs_tri:hover {
    border-color: transparent transparent rgba(111,46,11,1) transparent;
    border-style: solid;
    border-width: 8px;
    position: absolute;
    height: 0;
    width: 0;
    top: 32px;
    left: 78px;
} 

【问题讨论】:

    标签: css class hover


    【解决方案1】:

    您需要将其放置在所有项目上,但仅在悬停时显示,即

    <ul>
       <li>
          <a href="#">Whatever <span></span></a>
       </li>
       <li>
          <a href="#">Whatever <span></span></a>
       </li>
       <li>
          <a href="#">Whatever <span></span></a>
       </li>
    </ul>
    

    在这种情况下,span 将是三角形。我假设您已经适当地设置了您的 ul an li 的样式。所以,在你的 CSS 中:

    ul li a {
       display: block;
       width: 100px;
       height: 32px;
       float: left;
       position: relative;
    }
    
    ul li a:hover span {
      display: block;
    }
    
    ul li a span {
        display: none;
         border-color: transparent transparent rgba(111,46,11,1) transparent;
        border-style: solid;
        border-width: 8px;
        height: 0;
        width: 0;
        position: absolute;
        bottom: 0;
        left: 50%;
    }
    

    我将它嵌套在锚点内,因为这样可以最大化可点击区域。

    【讨论】:

    • 这行得通(在将rgba alpha 从0.0 更改后),但我感觉他希望它与this 结合使用。
    猜你喜欢
    • 2017-06-10
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多