Javascript 如何将导航菜单与搜索栏和下拉选项卡对齐?
我做了一个导航栏,里面有一个搜索表单,几个链接,还有一个下拉到更多链接的链接 然而,我似乎无法找到一种方法使所有内容都在导航栏的同一条线上。 以下是当前的输出: 这是我的密码:Javascript 如何将导航菜单与搜索栏和下拉选项卡对齐?,javascript,html,css,bootstrap-4,Javascript,Html,Css,Bootstrap 4,我做了一个导航栏,里面有一个搜索表单,几个链接,还有一个下拉到更多链接的链接 然而,我似乎无法找到一种方法使所有内容都在导航栏的同一条线上。 以下是当前的输出: 这是我的密码: <!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="utf-8"> <meta name="
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
* {box-sizing: border-box;}
body {
margin: 0;
font-family: Arial, Helvetica, sans-serif;
}
.topnav {
overflow: hidden;
background-color: #e9e9e9;
}
.topnav a {
float: left;
display: block;
color: black;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.topnav a:hover {
background-color: #ddd;
color: black;
}
.topnav a.active {
background-color: #2196F3;
color: white;
}
.topnav .search-container {
float: right;
}
.topnav input[type=text] {
padding: 6px;
margin-top: 8px;
font-size: 17px;
border: none;
}
.topnav .search-container button {
float: right;
padding: 6px 10px;
margin-top: 8px;
margin-right: 16px;
background: #ddd;
font-size: 17px;
border: none;
cursor: pointer;
}
.topnav .search-container button:hover {
background: #ccc;
}
@media screen and (max-width: 600px) {
.topnav .search-container {
float: none;
}
.topnav a, .topnav input[type=text], .topnav .search-container button {
float: none;
display: block;
text-align: left;
width: 100%;
margin: 0;
padding: 14px;
}
.topnav input[type=text] {
border: 1px solid #ccc;
}
}
</style>
</head>
<body>
<div class="topnav">
<a class="active" href="#home">Home</a>
<a href="#about">About</a>
<a href="#contact">Contact</a>
<div class="dropdown">
<button class="dropbtn" onclick="myFunction()">Dropdown
<i class="fa fa-caret-down"></i>
</button>
<div class="dropdown-content" id="myDropdown">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
<div class="search-container">
<form action="/action_page.php">
<input type="text" placeholder="Search.." name="search">
<button type="submit"><i class="fa fa-search"></i></button>
</form>
</div>
</div>
</body>
</html>
*{框大小:边框框;}
身体{
保证金:0;
字体系列:Arial、Helvetica、无衬线字体;
}
托普纳夫先生{
溢出:隐藏;
背景色:#e9e9e9;
}
.topnav a{
浮动:左;
显示:块;
颜色:黑色;
文本对齐:居中;
填充:14px 16px;
文字装饰:无;
字号:17px;
}
.topnav a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#2196F3;
颜色:白色;
}
.topnav.search容器{
浮动:对;
}
.topnav输入[类型=文本]{
填充:6px;
边缘顶部:8px;
字号:17px;
边界:无;
}
.topnav.search容器按钮{
浮动:对;
填充:6px 10px;
边缘顶部:8px;
右边距:16px;
背景:ddd;
字号:17px;
边界:无;
光标:指针;
}
.topnav.search容器按钮:悬停{
背景:#ccc;
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav.search容器{
浮动:无;
}
.topnav a、.topnav输入[type=text],.topnav.search容器按钮{
浮动:无;
显示:块;
文本对齐:左对齐;
宽度:100%;
保证金:0;
填充:14px;
}
.topnav输入[类型=文本]{
边框:1px实心#ccc;
}
}
下拉列表
正如您所看到的,下拉菜单与其他链接的顺序不符。是否有任何方法可以将“下拉”链接与其他链接与下拉选项卡内的下拉链接对齐,直到您将鼠标悬停在其上?我整天都在想这个问题,所以任何想法或建议都会有所帮助。下面的示例对齐下拉按钮和搜索栏:
*{
框大小:边框框;
}
身体{
保证金:0;
字体系列:Arial、Helvetica、无衬线字体;
}
托普纳夫先生{
溢出:隐藏;
背景色:#e9e9e9;
}
.topnav a{
浮动:左;
显示:块;
颜色:黑色;
文本对齐:居中;
填充:14px 16px;
文字装饰:无;
字号:17px;
}
.topnav a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#2196F3;
颜色:白色;
}
.topnav.search容器{
浮动:对;
}
.topnav输入[类型=文本]{
填充:6px;
边缘顶部:8px;
字号:17px;
边界:无;
}
.topnav.search容器按钮{
浮动:对;
填充:6px 10px;
边缘顶部:8px;
右边距:16px;
背景:ddd;
字号:17px;
边界:无;
光标:指针;
}
.topnav.search容器按钮:悬停{
背景:#ccc;
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav.search容器{
浮动:无;
}
.topnav a,
.topnav输入[类型=文本],
.topnav.search容器按钮{
浮动:无;
显示:块;
文本对齐:左对齐;
宽度:100%;
保证金:0;
填充:14px;
}
.topnav输入[类型=文本]{
边框:1px实心#ccc;
}
}
下拉列表
下面的示例对齐下拉按钮和搜索栏:
*{
框大小:边框框;
}
身体{
保证金:0;
字体系列:Arial、Helvetica、无衬线字体;
}
托普纳夫先生{
溢出:隐藏;
背景色:#e9e9e9;
}
.topnav a{
浮动:左;
显示:块;
颜色:黑色;
文本对齐:居中;
填充:14px 16px;
文字装饰:无;
字号:17px;
}
.topnav a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#2196F3;
颜色:白色;
}
.topnav.search容器{
浮动:对;
}
.topnav输入[类型=文本]{
填充:6px;
边缘顶部:8px;
字号:17px;
边界:无;
}
.topnav.search容器按钮{
浮动:对;
填充:6px 10px;
边缘顶部:8px;
右边距:16px;
背景:ddd;
字号:17px;
边界:无;
光标:指针;
}
.topnav.search容器按钮:悬停{
背景:#ccc;
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav.search容器{
浮动:无;
}
.topnav a,
.topnav输入[类型=文本],
.topnav.search容器按钮{
浮动:无;
显示:块;
文本对齐:左对齐;
宽度:100%;
保证金:0;
填充:14px;
}
.topnav输入[类型=文本]{
边框:1px实心#ccc;
}
}
下拉列表
您没有为下拉部分提供任何样式,这就是它未对齐的原因
在这里,我对HTML部分做了一些更改,并添加了所需的CSS。希望这有帮助
*{
框大小:边框框;
}
身体{
保证金:0;
字体系列:Arial、Helvetica、无衬线字体;
}
托普纳夫先生{
溢出:隐藏;
背景色:#e9e9e9;
}
.topnav a{
浮动:左;
显示:块;
颜色:黑色;
文本对齐:居中;
填充:14px 16px;
文字装饰:无;
字号:17px;
}
.topnav a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#2196F3;
颜色:白色;
}
.topnav.search容器{
弗洛