html - 有没有一种方法可以“自由地”在弹性框中放置一个项目,而不管其他项目的位置如何?
问题描述
我正在制作一个包含搜索栏的导航菜单,问题是我无法弄清楚如何更好地定位菜单和搜索栏。它们位于弹性盒内,因此它们的位置与项目之间的空间相关联,对吗?有没有办法将搜索栏一直放在右边,但它仍然会响应?
使用 flexbox 制作导航菜单值得吗?如果没有,有没有更好的方法?
这就是我想要做的
我尝试将搜索栏的容器设置为绝对位置,将 flex 容器设置为相对位置,但它破坏了整个事情。
此外,我尝试从 flex 容器中删除栏,但我无法将搜索栏与菜单项对齐或将其与导航容器居中。
这是我得到的
HTML
<nav>
<div class="nav_home">
<a href="#">
Home
</a>
</div>
<ul class="links">
<li>
<a href="#">Generic</a>
</li>
<li>
<a href="#">Text</a>
</li>
<li>
<a href="#">Here</a>
</li>
</ul>
<div class="searchbar">
<input type="text" id="myInput" onkeyup="" placeholder="Search..">
</div>
</nav>
nav{
display: flex;
justify-content: space-around;
align-items: center;
min-height: 70px;
background-color: #984E6D;
font-size: 30px;
border: 2px solid #ff80df;
}
nav a{
color: #FBEAFF;
text-decoration: none;
letter-spacing: 0.5px;
text-shadow: 2px 2px #888888;
transition: 0.1s ease-in;
}
nav a:hover{
color: rgba(0, 0, 0, 0.57);
text-shadow: 2px 2px rgba(136, 136, 136, 0.5);
}
.links{
display: flex;
justify-content: space-around;
width: 350px;
}
.links li{
list-style: none;
transition: 0.1s;
}
#myInput{
padding: 5px;
}
解决方案
nav{
display: flex;
justify-content: space-around;
align-items: center;
min-height: 70px;
background-color: #984E6D;
font-size: 30px;
border: 2px solid #ff80df;
}
nav a{
color: #FBEAFF;
text-decoration: none;
letter-spacing: 0.5px;
text-shadow: 2px 2px #888888;
transition: 0.1s ease-in;
}
nav a:hover{
color: rgba(0, 0, 0, 0.57);
text-shadow: 2px 2px rgba(136, 136, 136, 0.5);
}
.links{
display: flex;
justify-content: space-around;
width: 350px;
margin: auto;
}
.links li{
list-style: none;
transition: 0.1s;
}
#myInput{
padding: 5px;
}
.link-wrapper {
display: flex;
flex: 2 0 auto;
}
.nav_home, .searchbar {
flex: 1 0 auto;
margin: auto;
}
.searchbar {
text-align: right;
margin-right: 10px;
}
<nav>
<div class="nav_home">
<a href="#">
Home
</a>
</div>
<div class= "link-wrapper">
<ul class="links">
<li>
<a href="#">Generic</a>
</li>
<li>
<a href="#">Text</a>
</li>
<li>
<a href="#">Here</a>
</li>
</ul>
</div>
<div class="searchbar">
<input type="text" id="myInput" onkeyup="" placeholder="Search..">
</div>
</nav>
推荐阅读
- sql - SAS - 在 proc SQL 中使用 proc 导入的 CSV(错误)
- sql - 包括本季度在内的最近 6 个季度的数据
- getstream-io - Getstream.io 的 own_reactions 是如何工作的?认为它会包含用户获取的反应
- python - 烧瓶图像变量是“粘”
- tsql - 如何将案例表达式与 where 子句结合使用以将一个文件除以另一个文件?
- excel - 在父对象中调用辅助函数而不在辅助对象中从父对象重新定义对象
- docusignapi - Docusign 收件人查看 url 在 5 分钟后过期
- python - 我试图让问题接受两种形式的答案,但它不起作用
- javascript - 在 /items 获取 permission_denied:客户端无权访问所需数据
- tinymce - 如何在版本 5 的 tinymce 中集成 elFinder?