将一个文本向左,另一个向右浮动

时间:2013-10-03 18:37:29

标签: html css text css-float

我正在尝试向左移动一个p标记,向右移动另一个p标记。他们与父母共享同一个div。我无法做到这一点。右侧文本水平放置,但垂直放置在左侧文本下方。这是代码:

<div>
    <p id="t1">Text1</p>
    <p id="t2">Text2</p>
</div>

div {
    border: 1px solid red;
}
#t1 {
    border: 1px solid green;
    display: inline;
}
#t2 {
    border: 1px solid blue;
    display: inline;
    float: right;
}

这是我得到的结果:http://jsfiddle.net/JJB2s/现在,如果我尝试将t1文本浮动到左边,它们都处于相同的垂直水平,但它们似乎比它们应该低得多。我不太清楚为什么会发生这种情况以及如何解决它,有人可以向我解释一下吗?提前谢谢!

5 个答案:

答案 0 :(得分:1)

我会使用浮动实现这个。现在你没有浮动它们,并且正在尝试使用内联显示来使它们排成一行。这是一个更新的小提琴,解决了这个问题:

http://jsfiddle.net/JJB2s/13/

CSS转载如下:

div {
    border: 1px solid red;
    overflow: hidden;
}

#t1 {
    border: 1px solid green;
    float: left;
}

#t2 {
    border: 1px solid blue;
    float: right;
}

请注意,将overflow: hidden放在容器上会使其不会崩溃,因为它包含浮点数。如果您实际上不希望隐藏溢出,则可以使用clearfix实现相同的效果

答案 1 :(得分:0)

添加margin-top:0px;在右边

像这样

#t2 {
border: 1px solid blue;
display: inline;
margin-top:0px;
float: right;
}

答案 2 :(得分:0)

这样做是因为有两段。默认情况下,HTML会在新行中显示每个段落..是的,通过设置margin-top来更改此值:0px;

答案 3 :(得分:0)

将边距和填充设置为0; http://jsfiddle.net/JJB2s/15/

div, #t1, #t2{
margin:0px;
padding:0px;
}
div {
    border: 1px solid red;
}
#t1 {
    border: 1px solid green;
    display: inline;
    float:left;
}
#t2 {
    border: 1px solid blue;
    display: inline;
    float: right;
}

答案 4 :(得分:0)

我喜欢Jeff Escalante的回答(我也赞成了), 但这是另一种具有相同效果的解决方案。 这只是为了展示另一种方法..用他的答案。

这是Working Fiddle

div {
    border: 1px solid red;
}
div:after
{
    content: '';
    clear: both;
    display: block;
}
#t1 {
    border: 1px solid green;
    float: left;
}
#t2 {
    border: 1px solid blue;
    float: right;
}