【问题标题】:CSS opacity transition not working on sibling selector when hovering over element将鼠标悬停在元素上时,CSS不透明度过渡不适用于兄弟选择器
【发布时间】:2016-12-25 23:48:57
【问题描述】:

我制作了一个响应式菜单,其中第 4 个之后的列表项元素在移动设备上获得 display:none; opacity:0。第 4 个元素是另一个列表项,它是一个图标。当您将鼠标悬停在图标上时,隐藏的菜单项会显示为下方的阻止列表,使用

li:nth-child(4):hover ~ li { display:block; opacity:1; }

无论我将 transition: all 0.5s ease 放在 CSS 的哪个位置,我都无法进行过渡。我是在尝试做一些不起作用的事情,因为我正在对兄弟选择器进行操作,还是我做错了什么?

参见小提琴:https://jsfiddle.net/nicoleamurray/zap1L8hq/,它显示了移动版本。

更新:与height 配合得非常好!

`.mainmenu{
float: right;
text-align: right;
}
.mainmenu li{
display:inline-block;
}
.mainmenu li:nth-child(4):hover ~ li{
opacity:1;
transition-delay: 0s;
height: 20px;
}
.mainmenu li:nth-child(n+5){
opacity:0;
overflow: hidden;
height: 0;
display: block;
transition: all 0.5s 1s;
}`

【问题讨论】:

    标签: css css-selectors css-transitions opacity siblings


    【解决方案1】:

    您可以转换display: 属性。它要么被看到,要么被隐藏。没有“中间”变化可以过渡到/从。

    如果两个状态都设置为display: block;,则转换功能。 inline-block 也有效.. 但可能意味着需要进行其他一些布局改进。对于下面的sn-p,我只是使用了block;

    body { margin: 50px;}
    
    .mainmenu{
        float: right;
        text-align: right;
    }
    .mainmenu li{
        display:inline-block;
    }
    .mainmenu li:nth-child(4):hover ~ li{
      display:block;
      opacity:1;
    }
    
    .mainmenu li:nth-child(n+5){
      display:block;
      opacity:0;
      transition: all 0.5s ease;
    }
     <ul class="mainmenu" role="menubar">
       <li><a href="#">Home</a></li>
       <li><a href="#">Features</a></li>
       <li><a href="#">Pages</a></li>
       <li class="mainmenu__icon">:</li>
       <li><a href="#">Events</a></li>
       <li><a href="#">Shortcodes</a></li>
       <li><a href="#">Demo</a></li>
    </ul>

    【讨论】:

    • 我知道您无法转换显示,这就是为什么我为所有状态/元素添加了不透明度。这个解决方案的问题是因为显示不是none,从技术上讲,不可见的菜单项仍然存在,只是不透明度为 0。将鼠标悬停在菜单项所在的位置,鼠标将变为指针。我确实需要将它们隐藏起来。
    • 根据您的反馈,虽然我会试试这个:stackoverflow.com/questions/22103006/…
    猜你喜欢
    • 2019-06-26
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 2014-04-10
    • 2018-05-13
    • 2023-01-20
    • 2014-02-15
    • 1970-01-01
    相关资源
    最近更新 更多