我有一个<div>
不调整内容(这是两个<p>
元素)的问题。内容是浮动的。
- 我有一个
<p>
标签浮动到左边 - 我有一个
<p>
标签浮动到右侧 - 我
<div>
下面有一个带有 style="clear:both" 的空标签
尽管如此,<div>
包含整个内容的 3 行高 - 而不是应该的 1 行。我缺少什么使它起作用?
我有一个<div>
不调整内容(这是两个<p>
元素)的问题。内容是浮动的。
<p>
标签浮动到左边 <p>
标签浮动到右侧<div>
下面有一个带有 style="clear:both" 的空标签尽管如此,<div>
包含整个内容的 3 行高 - 而不是应该的 1 行。我缺少什么使它起作用?
我准备了一个小提琴,它运行良好 - 它一定是您的代码中的错误。向我们展示其中的一些片段。
确保不paddings/margins/height/lineheight
影响您div
的 s 和p
s (=reset browserdefaults!)。父母也div
需要足够宽以容纳两者p
。此外,如果您有非浮动内容,则顺序很重要。
<p>
首先,将两个标签都向左浮动。
然后,确保<div>
有足够大的宽度来容纳两个<p>
标签。
在那之后,您应该能够将它们排成一行。
只是为了向您展示为什么向右浮动可能不是一个好主意(这实际上取决于您要做什么......对话框?)
如果使用float: right;
,则在段落过长后格式会中断:
然而,如果你float: left;
将它们都放入容器中,你可以确定它们会粘在盒子里:
同样,真的取决于你在这里想要达到的目标。
我相信<p>
元素有一个 default margin
,尝试设置margin
为0px
,这可能会删除间距。
最外层是否有足够的空间<div>
使每条<p>
线都是一行?如果没有,一个会在另一个之下崩溃。此外,您的清除两者<div>
也将具有完整的行高。这是我应用于一个名为cb
我在这些情况下应用的类的风格......
.cb
{
clear:both !important;
float:none !important;
height:1px;
line-height:0;
margin:0;
padding:0;
}