我有一个CSS菜单,我已经获得了一些帮助以获得排序,它几乎按照我想要的方式工作。
我只是希望能够更改LI悬停时的文本颜色,并且当子菜单应该直接位于下方时,子菜单似乎会向右显示更多
CSS:
.menu-my-integra-container {
border:1px solid black;
display:block;
float:left;
}
#menu-my-integra, ul.sub-menu {
list-style: none;
padding: 0;
margin: 0;
}
#menu-my-integra > li {
float:left;
display: block;
margin-right:0px;
position:relative;
background:#F36F25;
padding:8px;
color:#FFFFFF;
text-decoration:none;
}
#menu-my-integra > li:hover {
background:#FFFFFF;
color:#F36F25;
}
ul.sub-menu {
display:none;
width:200px;
position:absolute;
z-index:1;
}
#menu-my-integra li:hover ul.sub-menu {
display: block;
max-height: 200px;
background:#F36F25;
}
ul.sub-menu li {
color:#FFFFFF;
float:none;
padding:5px;
}
ul.sub-menu li:hover {
color:#F36F25;
background:#FFFFFF;
float:none;
padding:5px;
}
答案 0 :(得分:1)
这会将文本颜色更改为父母:
#menu-my-integra li > a {
color: inherit;
}
将left: 0;
添加到ul.sub-menu
以将子菜单与左侧对齐。
ul.sub-menu {
left: 0;
}
答案 1 :(得分:0)
您的颜色属性需要指向锚标记而不是列表标记。默认浏览器样式正在覆盖颜色选择。你需要一个更直接的风格路径。以下CSS将您的列表着色为
finally
答案 2 :(得分:0)
css文件
<body class="news">
<header>
<div class="nav">
<ul>
<li class="home"><a href="#">Home</a></li>
<li class="tutorials"><a href="#">Tutorials</a>
<ul>
<li><a href="#">Tutorial #1@@</a></li>
<li><a href="#">Tutorial #2</a></li>
<li><a href="#">Tutorial #3</a></li>
</ul>
</li>
<li class="about"><a class="active" href="#">About</a></li>
<li class="news"><a href="#">Newsletter</a>
<ul>
<li><a href="#">News #1</a></li>
<li><a href="#">News #2@@@</a></li>
<li><a href="#">News #3</a></li>
</ul>
</li>
<li class="contact"><a href="#">Contact</a></li>
</ul>
</div>
</header>
</body>
body {
margin: 0;
padding: 0;
background: #ccc;
}
.nav ul {
list-style: none;
background-color: #444;
text-align: center;
padding: 0;
margin: 0;
}
.nav li {
font-family: 'Oswald', sans-serif;
font-size: 1.2em;
line-height: 40px;
text-align: left;
}
.nav a {
text-decoration: none;
color: #fff;
display: block;
padding-left: 15px;
border-bottom: 1px solid #888;
transition: .3s background-color;
}
.nav a:hover {
background-color: #005f5f;
}
.nav a.active {
background-color: #aaa;
color: #444;
cursor: default;
}
/* Sub Menus */
.nav li li {
font-size: .8em;
}
/*******************************************
Style menu for larger screens
Using 650px (130px each * 5 items), but ems
or other values could be used depending on other factors
********************************************/
@media screen and (min-width: 650px) {
.nav li {
width: 130px;
border-bottom: none;
height: 50px;
line-height: 50px;
font-size: 1.4em;
display: inline-block;
margin-right: -4px;
}
.nav a {
border-bottom: none;
}
.nav > ul > li {
text-align: center;
}
.nav > ul > li > a {
padding-left: 0;
}
/* Sub Menus */
.nav li ul {
position: absolute;
display: none;
width: inherit;
}
.nav li:hover ul {
display: block;
}
.nav li ul li {
display: block;
}
}
答案 3 :(得分:0)
您的子菜单未正确定位。你错过了left: 0;
。这应该可以解决这个问题。
ul.sub-menu {
display: none;
width: 200px;
position: absolute;
z-index: 1;
left: 0;
}
关于悬停颜色
a:hover {
color: #000 !important;
}
当然我使用了!重要原因我不明白你真正想改变哪种颜色。