This fiddleがこの問題を示しています。マニュアルの高さ/マージンの計算をせずに、2つのアイテムを右に揃える方法は?
Iジョイントユニットとして、二つの別々の行に、右に画像やボタンを整列しようとしています。私はwrapper div( "right-stuff")をposition:relativeで作成しました。そのためposition:absoluteをその子、ボタンに使用できます。
問題は、高さの計算を傷つけることなく、ボタンを右に揃えるための良い方法がわかりません。
私がしたのはposition:absolute
とright:0
ですが、これはフローから削除され、コンテナ(「右のもの」)には含まれません。赤い背景が届かないそうすべき"。
もう1つの問題は、 "right-stuff"の後の次の項目が正しい位置にあるためにmargin-topを必要とするか、そうでなければ "right-stuff" 、または人工的なマージン(ボタンの高さを考慮したもの)が含まれます。あまりにも多くの知識がここにあります。
両方のアイテムを一貫性のあるユニットとして機能させるためのよりよい方法は、「右寄せ」ですが、フローから物事を取り出すことはありませんか?
明らかに、これは誰かがこの質問をした初めてのことではありませんが、ボタンの高さと同じ余白を手動で追加するなど、醜いハッキングのない特定の問題に対処する答えは見つかりませんでした。
を編集してください:テキストアラインメントは、私がとにかく考えていたものよりも良い解決策です。 1つの注意点:ボタンが実際にテキストであると仮定し、画像自体では機能しません。これは私の例では大丈夫です。画像はコンテナ内の最も広いものですが、コンテナ内に画像よりも幅の広い別の要素があったらどうなりますか?画像を右に揃えておくにはどうすればいいですか?
これはうまくいきます画像がボタンよりも大きいためです。私は今これを使用します。ボタンが大きくても、画像であったり、ミックスにいくつかのアイテムがあります(すべてがコンテナ内で右揃えになっていなければなりません)。 – ripper234
えええええええええええええええええええええええええええええええええええるのですが、 – powerbuoy
以下のコメントを見てください。はい、text-alignは 'display:block'以外のすべての要素に影響します。また、すべての要素を任意のディスプレイに切り替えることができるので、すべての要素で機能します(ただし、画像やボタンはブロックされていないためデフォルトで表示されます)。 – powerbuoy