我使用此代码右键对齐按钮.
<p align="right">
<input type="button" value="Click Me" />
</p>
Run Code Online (Sandbox Code Playgroud)
但是P标签浪费了一些空间,所以希望用span或div来做同样的事情.
mu *_*ort 367
您使用哪种对齐技术取决于您的具体情况,但基本技术是float: right;:
<input type="button" value="Click Me" style="float: right;">
Run Code Online (Sandbox Code Playgroud)
您可能希望清除浮动,但可以overflow:hidden在父容器上执行,也可以在容器<div style="clear: both;"></div>底部显式执行.
例如:http://jsfiddle.net/ambiguous/8UvVg/
浮动元素从正常的文档流中删除,因此它们可以溢出父级的边界并弄乱父级的高度,clear:bothCSS会处理它(如同overflow:hidden).使用我添加的JSFiddle示例来看看浮动和清除行为如何(overflow:hidden尽管你会想放弃第一个).
Gün*_*ena 29
另一种可能性是使用面向右侧的绝对定位:
<input type="button" value="Click Me" style="position: absolute; right: 0;">
Run Code Online (Sandbox Code Playgroud)
这是一个例子:https://jsfiddle.net/a2Ld1xse/
这个解决方案有其缺点,但有一些用例非常有用.
pha*_*sal 23
<div style = "display: flex; justify-content:flex-end">
<button>Click me!</button>
</div>Run Code Online (Sandbox Code Playgroud)
<div style = "display: flex; justify-content: flex-end">
<button>Click me!</button>
</div>
Run Code Online (Sandbox Code Playgroud)
ran*_*ibt 10
正如@günther-jena所指出的,这个解决方案取决于Bootstrap 3
试试<a class="btn text-right">Call to Action</a>.这样,您不需要额外的标记或规则来清除浮动元素.
element的block:.border {
border: 2px blue dashed;
}
.mr-0 {
margin-right: 0;
}
.ml-auto {
margin-left:auto;
}
.d-block {
display:block;
}Run Code Online (Sandbox Code Playgroud)
<p class="border">
<input type="button" class="d-block mr-0 ml-auto" value="The Button">
</p>Run Code Online (Sandbox Code Playgroud)
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;
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
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;
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
祝好运...
要将按钮保持在页面流中:
<input type="button" value="Click Me" style="margin-left: auto; display: block;" />
Run Code Online (Sandbox Code Playgroud)
(将该样式放在 .css 文件中,不要使用此 html 内联,以便更好地维护)
2019年使用flex-box的现代方法
带div标签
<div style="display:flex; justify-content:flex-end; width:100%; padding:0;">
<input type="button" value="Click Me"/>
</div>Run Code Online (Sandbox Code Playgroud)
带有跨度标签
<span style="display:flex; justify-content:flex-end; width:100%; padding:0;">
<input type="button" value="Click Me"/>
</span>Run Code Online (Sandbox Code Playgroud)
小智 5
另一种可能性是使用面向右侧的绝对定位。你可以这样做:
style="position: absolute; right: 0;"
Run Code Online (Sandbox Code Playgroud)
它并不总是那么简单,有时对齐必须在容器中定义,而不是在Button元素本身中定义!
对于您的情况,解决方案是
<div style="text-align:right; width:100%; padding:0;">
<input type="button" value="Click Me"/>
</div>
Run Code Online (Sandbox Code Playgroud)
我已谨慎指定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>
Run Code Online (Sandbox Code Playgroud)