HTML 和 CSS 按钮对齐
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/3471525/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
HTML and CSS button alignment
提问by Rodrigo Souza
How can I right align a button inside a div without wiping it from the Markup Flow with valid CSS and HTML? Is applying margin-leftthe only way to do this?
如何在不使用有效的 CSS 和 HTML 从标记流中擦除它的情况下在 div 内右对齐按钮?应用 margin-left 是唯一的方法吗?
I have a structure like this
我有这样的结构
<div class="navContainer">
<div class="title">
<span>Nav Titulo</span>
</div>
<div class="navContent">
Nav Conteudo
</div>
<button type="button">Enviar</button>
</div>
<div class="navContainer">
<div class="title">
<span>Nav Titulo</span>
</div>
<div class="navContent">
Nav Conteudo
</div>
</div>
If I apply button { float: right }
or button { position: absolute }
the next div
will get over the button. It happens that I just want to make the button position at the right side
如果我申请button { float: right }
或button { position: absolute }
下一个div
将克服按钮。碰巧我只是想让按钮位置在右侧
回答by Matt Briggs
what you want to read up on is clearing
你想读的是清除
if you have floated elements, they go out of page flow, but any element with clear:both will stay in page flow, but not allow anything on either side of it, floated or not.
如果你有浮动元素,它们会离开页面流,但是任何带有 clear:both 的元素都将留在页面流中,但不允许它的任何一侧有任何东西,无论是否浮动。
in practice, adding a clear:both element after you floats makes things work the way you want them to.
实际上,在浮动后添加 clear:both 元素会使事情按照您希望的方式工作。
回答by mcandre
.navContainer { text-align: right; }
回答by ghoppe
@Matt is right. What you need to do is clear the div elements.
@马特是对的。您需要做的是清除 div 元素。
.navContainer {clear: both}
If you want your button aligned at the top of the containing div, you might have to move it before your div element of class "title".
如果您希望您的按钮在包含 div 的顶部对齐,您可能需要将它移动到类“title”的 div 元素之前。