Answers:
您使用哪种对齐技术取决于您的情况,但最基本的是float: right;
:
<input type="button" value="Click Me" style="float: right;">
您可能需要清除浮点数,但这可以overflow:hidden
在父容器上或容器<div style="clear: both;"></div>
底部的显式容器上完成。
例如:http : //jsfiddle.net/ambiguous/8UvVg/
浮动元素已从常规文档流中删除,因此它们可以溢出其父级的边界并弄乱父级的高度,clear:both
CSS会对此进行照顾(也是如此overflow:hidden
)。玩弄我添加的JSFiddle示例,以查看浮动和清除的行为方式(不过,您需要删除第overflow:hidden
一个)。
另一种可能性是使用朝右的绝对定位:
<input type="button" value="Click Me" style="position: absolute; right: 0;">
这是一个示例:https : //jsfiddle.net/a2Ld1xse/
该解决方案有其缺点,但是在一些用例中它非常有用。
element
的block
:.border {
border: 2px blue dashed;
}
.mr-0 {
margin-right: 0;
}
.ml-auto {
margin-left:auto;
}
.d-block {
display:block;
}
<p class="border">
<input type="button" class="d-block mr-0 ml-auto" value="The Button">
</p>
elements
的block
:.border {
border: 2px indigo dashed;
}
.d-table {
display:table;
}
.d-table-cell {
display:table-cell;
}
.w-100 {
width: 100%;
}
.tar {
text-align: right;
}
<div class="border d-table w-100">
<p class="d-table-cell">The paragraph.....lorem ipsum...etc.</p>
<div class="d-table-cell tar">
<button >The Button</button>
</div>
</div>
flex-box
:.flex-box {
display:flex;
justify-content:space-between;
outline: 2px dashed blue;
}
.flex-box-2 {
display:flex;
justify-content: flex-end;
outline: 2px deeppink dashed;
}
<h1>Button with Text</h1>
<div class="flex-box">
<p>Once upon a time in a ...</p>
<button>Read More...</button>
</div>
<h1>Only Button</h1>
<div class="flex-box-2">
<button>The Button</button>
</div>
<h1>Multiple Buttons</h1>
<div class="flex-box-2">
<button>Button 1</button>
<button>Button 2</button>
</div>
祝好运...
margin-left:auto
是伟大的!该!important
是最糟糕的,它会导致未来的问题。
display: flex;
。它照顾一切。
2019年使用flex-box的现代方法
带div标签
<div style="display:flex; justify-content:flex-end; width:100%; padding:0;">
<input type="button" value="Click Me"/>
</div>
带有跨度标签
<span style="display:flex; justify-content:flex-end; width:100%; padding:0;">
<input type="button" value="Click Me"/>
</span>
它并不总是那么简单,有时对齐必须在容器中定义,而不是在Button元素本身中定义!
对于您的情况,解决方案是
<div style="text-align:right; width:100%; padding:0;">
<input type="button" value="Click Me"/>
</div>
我已谨慎指定width=100%
以确保<div>
占据其容器的整个宽度。
我还添加padding:0
了避免与<p>
元素之前和之后的空格。
我可以说如果<div>
在FSF / Primefaces表的页脚中定义,float:right
则不能正常工作,因为Button的高度将变得高于页脚的高度!
在这种Primefaces情况下,唯一可接受的解决方案是text-align:right
在容器中使用。
使用此解决方案,如果您有6个要在右侧对齐的按钮,则只能在容器中指定此对齐方式:-)
<div style="text-align:right; width:100%; padding:0;">
<input type="button" value="Click Me 1"/>
<input type="button" value="Click Me 2"/>
<input type="button" value="Click Me 3"/>
<input type="button" value="Click Me 4"/>
<input type="button" value="Click Me 5"/>
<input type="button" value="Click Me 6"/>
</div>
这可以解决。
<input type="button" value="Text Here..." style="float: right;">
祝您的代码好运!
就我而言
<p align="right"/>
工作正常
<div style = "display: flex; justify-content: flex-end">
<button>Click me!</button>
</div>
align
属性在HTML 4.01中已弃用,在HTML5中不受支持,请改用CSStext-align
来达到相同的效果。