我试图保持一个列表块(用于导航)与一个包含图像的文本块内联。我目前的问题是它似乎工作,直到我将浏览器扩展到全屏大小,此时列表位于文本块的顶部。 HTML代码:
<body>
<ul>
<li>Something1</li>
<li>Something2</li>
<li>Something3</li>
</ul>
<div>
<section>
<img>
<p>Lorem ipsum...</p>
<p>Lorem ipsum...</p>
</section>
</div>
</body>
CSS代码:
ul{
width:15%;
font-family:arial;
font-size:12px;
float:left;
border:2px solid black;
}
section{
width:80%;
font-family:arial;
font-size:12px;
float:left;
padding:0;
border:2px solid black;
}
答案 0 :(得分:1)
您可以在此处应用此代码:
ul, section {
float:left;
display: inline-block;
box-sizing: border-box;
}
ul{
width:15%;
font-family:arial;
font-size:12px;
border:2px solid black;
}
section{
width:80%;
font-family:arial;
font-size:12px;
padding:0;
border:2px solid black;
}
使用border-box
时,填充和边框会减少width + padding + border
等于该元素内容width
的元素的宽度。
当您浮动元素时,您应始终将它们设为display: inline
或display: inline-block
。
代码的问题在于边框也会影响元素的宽度 - 当涉及到%宽度时,这是一个问题,因为您的元素将是x% + border
。
修改强>
这样的东西?有关高级布局的fiddle,请查看:getbootstrap.com
注意:并且,正如另一位用户所提到的,您应该只对同一级别的元素使用float
(两个元素具有相同的父级)。
答案 1 :(得分:0)
我想问的问题是你没有计算ul
的填充,尝试设置padding: 0;
,否则你会得到更多100%width
和{{1}在div
下的幻灯片。 BTW为什么要在ul
包裹section
?