div 要素を右揃えにするにはどうすればいいですか? 質問する

div 要素を右揃えにするにはどうすればいいですか? 質問する

私の HTML ドキュメントの本体は、ボタン、フォーム、キャンバスの 3 つの要素で構成されています。ボタンとフォームを右揃えにし、キャンバスを左揃えにしておきたいのですが、最初の 2 つの要素を揃えようとすると、要素が互いに連続しなくなり、水平に隣り合うことになります。これが私がこれまでに作成したコードです。フォームをボタンのすぐ右に、間にスペースを入れずに並べたいのですが。

#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>

ベストアンサー1

フロートは問題ありませんが、IE 6 および 7 では問題が発生します。
内部の div では以下を使用することをお勧めします。

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

見るIE のダブルマージンのバグ理由を明確にするため。

おすすめ記事