我正在使用float: right
作为我的水平菜单(.drop_menu li),因为我希望菜单与屏幕右侧对齐(以及左侧的徽标)。它工作正常,唯一的问题是我的菜单项现在的顺序错误(链接3然后链接3然后链接1而不是相反)。有办法解决这个问题吗?
非常感谢
<div class="header">
<div class="logo">Logo</div>
<ul class="drop_menu">
<li><a href='#'>Link 1</a>
<ul>
<li><a href='#'>Sub Link 1</a></li>
<li><a href='#'>Sub Link 2</a></li>
</ul>
</li>
<li><a href='#'>Link 2</a>
<ul>
<li><a href='#'>Sub Link 1</a></li>
<li><a href='#'>Sub Link 2</a></li>
<li><a href='#'>Sub Link 3</a></li>
<li><a href='#'>Sub Link 4</a></li>
</ul>
</li>
<li><a href='#'>Link 3</a>
<ul>
<li><a href='#'>Sub Link 1</a></li>
<li><a href='#'>Sub Link 2</a></li>
<li><a href='#'>Sub Link 3</a></li>
<li><a href='#'>Sub Link 4</a></li>
</ul>
</li>
</ul>
</div>
.header {
width: 100%;
background: #fff;
color: #124191;
font-weight: 300;
font-size: 28px;
height: 120px;
display: table;
position: fixed;
z-index: 999999;
opacity: 0.7;
background: aqua;
}
.logo {
display: inline-block;
vertical-align: middle;
left:0;
color: #333;
font-size: 30px;
font-weight: 800;
letter-spacing: -1px;
margin-left: 60px;
background: red;
}
.drop_menu {
padding:0;
margin:0;
list-style-type:none;
right: 0;
display: table;
z-index: 3000;
display: table-cell;
vertical-align: middle;
right: 0;
}
.drop_menu li { display: table-cell;
vertical-align: middle; float: right;}
.drop_menu li a {
padding:9px 20px;
display:block;
color:#666;
text-decoration:none;
font-size: 15px;
font-weight: 400;
text-transform: uppercase;
}
/* Submenu */
.drop_menu ul {
position:absolute;
left:-9999px;
top:-9999px;
list-style-type:none;
}
.drop_menu li:hover { position:relative; background:#5FD367; }
.drop_menu li:hover ul {
left:0px;
top:30px;
background:#5FD367;
padding:0px;
}
.drop_menu li:hover ul li a {
padding:5px;
display:block;
width:168px;
text-indent:15px;
background-color:#5FD367;
}
.drop_menu li:hover ul li a:hover { background:#005555; }
答案 0 :(得分:12)
从float:right
移除li
,这会阻止相反的顺序。
将float:right
添加到ul .dropdown
类,将整个菜单放在右侧。
将float:left
添加到li
,这有助于您的子菜单保持一致。
.drop_menu {
float: right;
}
.drop_menu li {
display: table-cell;
vertical-align: middle;
float:left;
}
答案 1 :(得分:2)
在菜单项周围添加一个div并将float设置为右
<div style='float:right'>
<!-- put menu controls here -->
</div>
从下面的课程中删除浮动
.drop_menu li { display: table-cell;
vertical-align: middle;}
用于演示点击jsfiddle link
答案 2 :(得分:1)
#include<stdio.h>
void func(void); //forward declaration
int main()
{
func();
}
void func(void) //specifying return type as **void**
{
printf("This program uses a function.");
}
解决方案: - 这对我有用:
这是小提琴:https://jsfiddle.net/appsparkler/emjst7f3/4/
flex
<div>
<h1>Hello World....</h1>
<ul>
<li>Foo</li>
<li>Bar</li>
<li>Baz</li>
</ul>
</div>
祝你好运......
答案 3 :(得分:0)
试试这个......
.drop_menu li { display: table-cell;
vertical-align: middle; float: left;
}
导致 LINK 1 LINK 2 LINK 3 顺序并减少子菜单链接的宽度。 它有效。
答案 4 :(得分:-1)
将<ul>
浮动到右侧,然后将其<li>
元素浮动到左侧。