gpt4 book ai didi

html - css hover 影响不相关的元素

转载 作者:行者123 更新时间:2023-11-28 08:30:28 27 4
gpt4 key购买 nike

当用户将鼠标悬停在主菜单中的某个元素上时,我试图显示相关的子菜单。我遇到的问题是我需要有一个共同的父项来让悬停选择器发挥它的魔力,但这似乎搞砸了我的造型。任何放弃 javascript/jquery 的建议都将不胜感激,因为我将其作为拐杖过多地用于我可能应该单独使用 css 解决的事情。

HTML

<div id="header">
<div id="header_headline">
Heading
</div>
<div id="menu">
<div id="menu_inset">
<a href="#" class="menu_item" id="menu_item_home">HOME</a>
<a href="#" class="menu_item" id="menu_item_profile">PROFILE<div class="sub_menu_arrow"></div></a>
<a href="#" class="menu_item" id="menu_item_projects">PROJECTS<div class="sub_menu_arrow"></div></a>
<a href="#" class="menu_item" id="menu_item_news">NEWS</a>
<a href="#" class="menu_item" id="menu_item_contacts">CONTACT</a>
</div>
</div>
<div id="sub_menu">
<div class="sub_menu_inset" id="sub_menu_profile">
<a href="#">1</a>
<a href="#">2</a>
<a href="#">3</a>
</div>
<div class="sub_menu_inset" id="sub_menu_projects">
<a href="#">1</a>
<a href="#">2</a>
<a href="#">3</a>
<a href="#">4</a>
</div>
</div>
</div>

CSS:

html, body {
width: 100%;
height: 100%;
border: 0;
padding: 0;
margin: 0;
font-family: 'Pathway Gothic One', sans-serif;
color: #212121;
}

a {
text-decoration: none;
color: #212121;
}

#header {
width: 100%;
}

#header_headline {
margin: 1em 1em 1em 1em;
font-size: 2em;
text-transform: uppercase;
}

#menu {
margin-top: 1em;
width: 100%;
text-align: center;
white-space: nowrap;
}

#menu_inset {
display: inline-block;
word-spacing: 5em;
}

.menu_item {
position: relative;
}

.menu_item:hover .sub_menu_arrow {
display: inline-block;
}

#menu_item_profile:hover ~ #sub_menu_profile {
display: inline-block;
}

#menu_item_people:hover ~ #sub_menu_people {
display: inline-block;
}

.sub_menu_arrow {
position: absolute;
display: none;
left: 0;
width: 100%;
bottom: -1.05em;
}
.sub_menu_arrow:after {
content: '';
margin: 0 auto;
border-width: 0 .5em .5em;
border-style: solid;
border-color: #CCCCCC transparent;
display: block;
width: 0;
}

#sub_menu {
margin-top: 1em;
background-color: #CCCCCC;
width: 100%;
text-align: center;
white-space: nowrap;
position: relative;
height: 2em;
}

.sub_menu_inset {
display: none;
top: 0.5em;
position: absolute;
left: 0;
width: 100%;
background-color: #CCCCCC;
word-spacing: 5em;
}

http://jsfiddle.net/u9v0mcvo/

最佳答案

您不一定必须使用 <ul><li>元素。虽然,你应该避免嵌套 <a> <a> 中的标签标签。我认为这就是您可能想要完成的(将鼠标悬停在元素上):

http://jsfiddle.net/u9v0mcvo/1/

当制作纯 CSS 下拉菜单、工具提示或其他内容时,将最初隐藏的元素嵌套在负责打开它的元素中会有所帮助。

关于html - css hover 影响不相关的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28290178/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com