それは、正確に何を達成したいかによって異なります。
右側に配置したいだけの場合は、絶対位置を使用しないことをお勧めします。
HTML も変更できません。
HTML
<div>
<h1> Ok </h1>
<button type='button'>Button</button>
</div>
CSS は、次の行に沿ったものにする必要があります。
CSS
div {
background: purple;
overflow: hidden;
}
div h1 {
text-align: center;
display: inline-block;
width: 100%;
margin-right: -50%;
}
div button {
float: right;
}
ここで実際の動作を確認できます: http://jsfiddle.net/azhH5/
HTML を変更できる場合は、もう少し簡単になります。
HTML
<div>
<button type='button'>Button</button>
<h1> Ok </h1>
</div>
CSS
div {
background: purple;
overflow: hidden;
}
div h1 {
text-align: center;
}
div button {
float: right;
margin-left: -50%;
}
実際の動作を確認できます: http://jsfiddle.net/8WA3k/1/
ボタンをテキストと同じ行に配置したい場合は、次のようにして実現できます。
HTML
<div>
<button type='button'>Button</button>
<h1> Ok </h1>
</div>
CSS
div {
background: purple;
overflow: hidden;
}
div h1 {
text-align: center;
}
div button {
float: right;
margin-left: -50%;
margin-top: 2em;
}
ここで実際に動作していることがわかります: http://jsfiddle.net/EtqVh/1/
明らかな例では、指定されたフォントサイズのマージントップを調整する必要があります<h1>
編集:
ご覧のとおり、 からはみ出さず、<div>
中に入っています。<button>
これは、 の負のマージンとの の 2 つのことによって達成されますoverflow: hidden;
。<div>
編集2:
右側の余白から少し離したいというあなたの意見も見ました。この方法で簡単に達成できます。次のように に追加margin-right: 1em;
するだけです。<button>
div {
background: purple;
overflow: hidden;
}
div h1 {
text-align: center;
}
div button {
float: right;
margin-left: -50%;
margin-top: 2em;
margin-right: 1em;
}
ここで実際の動作を確認できます: http://jsfiddle.net/QkvGb/