【发布时间】:2017-04-06 21:11:52
【问题描述】:
我有下一个 HTML 结构:
<div class="subnavbar">
<div class="subnavbar-menu">
<a href="#tab1" class="link1">Link 1</a>
<a href="#tab2" class="link2">Link 2</a>
</div>
<div class="subnavbar-bar">
<hr />
</div>
</div>
当 link2 悬停时,我需要在 <hr> 元素上应用 margin-left: 50%。
我尝试过使用:
.subnavbar .subnavbar-menu a.link2:hover > .subnavbar-bar hr {
margin-left: 50%;
}
.subnavbar .subnavbar-menu a.link2:hover + .subnavbar-bar hr {
margin-left: 50%;
}
.subnavbar .subnavbar-menu a.link2:hover ~ .subnavbar-bar hr {
margin-left: 50%;
}
但没有任何效果,我不知道):
【问题讨论】:
-
仅使用 CSS 和这个标记是不可能的。
-
我基于这个演示 [link]codepen.io/rm/pen/ldhon[/link] 但在我的示例中 hr 元素在其他 div 上,我完全卡住了
-
>|+|~是无效的 CSS。这是 CSS 选择器的参考:w3.org/TR/css3-selectors -
CSS 无法做到这一点 ,您可以使用
pointer-eventscodepen.io/anon/pen/OpYaJo 将其伪装成only -
使用 jquery 解决:$(document).on('mouseover', '.link2', function (){ $('hr').css('margin-left', '50% '); });
标签: css html-framework-7