33

我的右浮动没有按我的预期工作。

我希望我的按钮在一行上方的文本右侧很好地对齐:

<div style="padding: 5px; border-bottom-width: 1px; border-bottom-color: gray; border-bottom-style: solid;">

    My Text

<button type="button" class="edit_button" style="float: right; margin:5px;">My Button</button>

</div>

然而,它似乎总是悬停在这条线上。

如果我增加 DIV 的填充或边距,则右侧的按钮似乎仍被推到底部的线上方。

我尝试过使用右侧按钮的填充和边距,但我似乎无法将其整齐地放置在文本旁边。

小提琴在这里:

http://jsfiddle.net/qvsy7/

非常感谢

4

5 回答 5

20

您需要将文本包装在 div 中并将其向左浮动,而包装 div 应该具有高度,并且我还添加了行高以进行垂直对齐

<div style="border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: gray;height:30px;">
   <div style="float:left;line-height:30px;">Contact Details</div>

    <button type="button" class="edit_button" style="float: right;">My Button</button>

</div>

这里还有 js fiddle =) http://jsfiddle.net/xQgSm/

于 2013-09-30T10:46:23.753 回答
13

这是一种方法。

如果您的 HTML 看起来像这样:

<div>Contact Details
    <button type="button" class="edit_button">My Button</button>
</div>

应用以下 CSS:

div {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: gray;
    overflow: auto;
}
.edit_button {
    float: right;
    margin: 0 10px 10px 0; /* for demo only */
}

诀窍是应用于启动一个新overflow: autodiv块格式化上下文的 . 结果是浮动按钮被包含在div标记定义的块区域内。

然后,如果需要调整样式,您可以向按钮添加边距。

在原始的 HTML 和 CSS 中,浮动按钮不在内容流中,因此其边框div将相对于不包含任何浮动元素的流入文本定位。

参见演示:http: //jsfiddle.net/audetwebdesign/AGavv/

于 2013-09-30T10:43:56.570 回答
6

很简单,改变元素的顺序:

起源

<div style="">

    My Text

    <button type="button" style="float: right; margin:5px;">
       My Button
    </button>

</div>

改成:

<div style=""> 

    <button type="button" style="float: right; margin:5px;">
       My Button
     </button>

   My Text

</div>
于 2015-08-10T12:18:58.317 回答
1

像这样

最终答案

css

h2 {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    margin: 0;
    padding: 0;
}
.edit_button {
    float: right;
}

演示1

css

h2 {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: gray;
    float: left;
    margin: 0;
    padding: 0;
}
.edit_button {
    float: right;
}

html

<h2>
Contact Details</h2>
<button type="button" class="edit_button" >My Button</button>

演示

html

<div style="border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: gray; float:left;">
Contact Details



</div>
<button type="button" class="edit_button" style="float: right;">My Button</button>
于 2013-09-30T10:36:06.930 回答
1

您尚未float:left对文本使用命令。

于 2013-09-30T10:40:14.970 回答