html – 如何使浮动向左并在同一条线上浮动?

问题:
     **The left part** (#nav ul li) which float: left
     and **the right part** (#nav .search) which float: right
            **are not in a line**.

它应该是这样的:

我的:

HTML:

<div id="nav">
   <ul>
     <li><a href="#">Home</a></li>
     <li><a href="#">Portfolio</a></li>
     <li><a href="#">Blog</a></li>
     <li><a href="#">Contact</a></li>
   </ul>
   <div class="search">
     <input type="text" name="search" id="search" value="search">
   </div>

CSS:

#nav ul li{
float: left;
list-style: none;
margin: 0 20px;
}

#nav .search{
float: right;
}

我的解决方

解决方案1:使用bootsrap构建布局而不是单独使用它,我在页脚上使用它,它完全在同一条线上!但我仍然不知道它是如何工作的

解决方案2:我使用margin-top:-20px来提取搜索框,但我不认为这是一个好习惯.

任何人都可以帮忙吗?非常感谢!

解决方法

它不能按预期工作的原因是< ul>在左边向右扩展,从而推动内容向下.解决方案可能是为左右区域设置一个明确的固定宽度,这是我在过去遇到这种情况时所做的.但是会说,花车甚至绝对定位的组合最终会起作用.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些