我的html文档的主体由3个元素组成,一个按钮、一个表单和一个画布。我想按钮和形式是右对齐和画布保持左对齐。问题是当我尝试对齐前两个元素时,它们不再相互跟随,而是水平地相互挨着?,这里的代码,我有到目前为止,我想形式遵循直接在右边的按钮之间没有空格。

#cTask { background-color: lightgreen; } #button { position: relative; float: right; } #addEventForm { position: relative; float: right; border: 2px solid #003B62; font-family: verdana; background-color: #B5CFE0; padding-left: 10px; } <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> <script type="text/javascript" src="timeline.js"></script> <link rel="stylesheet" href="master.css" type="text/css" media="screen" /> </head> <body bgcolor="000" TEXT="FFFFFF"> <div id="button"> <button onclick="showForm()" type="button" id="cTask"> Create Task </button> </div> <div id="addEventForm"> <form> <p><label>Customer name: <input></label></p> <p><label>Telephone: <input type=tel></label></p> <p><label>E-mail address: <input type=email></label></p> </form> </div> <div> <canvas id="myBoard" width="600" height="600" style="background:lightgray;"> <p>Your browser doesn't support canvas.</p> </canvas> </div> </body> </html>


当前回答

你可以创建一个包含表单和按钮的div,然后通过设置float: right;使div向右浮动。

其他回答

浮动是可以的,但是在ie6和ie7中有问题。 我更喜欢在内部div上使用以下方法:

margin-left: auto; 
margin-right: 0;

关于原因,请参阅IE的双边距漏洞。

简单的答案是:

<div style="text-align: right;">
    anything:
    <select id="locality-dropdown" name="locality" class="cls" style="width: 200px; height: 28px; overflow:auto;">
    </select>
</div>

你是说像这样吗?http://jsfiddle.net/6PyrK/1

你可以添加属性float:right和clear:both;到窗体和按钮

如果你有多个div,你想并排对齐在父div的右端,设置text-align: right;在父div上。

您可以使用带有flex-grow的flexbox将最后一个元素推到右边。

<div style="display: flex;">
  <div style="flex-grow: 1;">Left</div>
  <div>Right</div>
</div>