そのレイアウトには潜在的な問題があります。レイアウトH1
が長すぎてボタンも長すぎる場合はどうでしょうか? 彼らはお互いにぶつかります。このため、単純な CSS では対応できません - CSS はそのような魔法を行いません - 上記の問題に対する何らかの解決策を暗示する必要があります。
ただし、必要なことは、絶対配置を使用して簡単に実現できます。
<div style="position: relative;">
<h1 style="position: absolute; left: 0; top: 0">What a great title</h1>
<div style="position: absolute; right: 0; top: 0; text-align: right">
<a href="javascript: void(0)">This link can kill you</a>
<a href="javascript: void(0)">Click if you dare</a>
</div>
</div>
生成されたコンテンツによっては、ヘッダーとアンカー コンテナーが相互に衝突する可能性があることが本当に心配な場合は、CSSmax-width
とoverflow
プロパティを使用して、それらを含むボックスを適切な値に制限できます。オーバーフローしたコンテンツは非表示になりますが、少なくともレイアウトが視覚的に崩れることはありません。上記のコードの次の変更(重複を許してください)が目的に役立つと思います:
<div style="position: relative;">
<h1 style="position: absolute; left: 0; top: 0; max-width: 50%; overflow: hidden">What a great title</h1>
<div style="position: absolute; right: 0; top: 0; text-align: right; max-width: 50%; overflow: hidden">
<a href="javascript: void(0)">This link can kill you</a>
<a href="javascript: void(0)">Click if you dare</a>
</div>
</div>
最後に、単純な CSS プロパティの組み合わせを使用してこれを実現することはできません。CSS (および HTML) では、コンテンツが左から右、上から下に流れるか、絶対配置または固定配置になって流れを中断するためです。とにかく、それは同じラインに留まることを望んでおらず、レイアウト デザイナーとして、各方向から走っている 2 つの列車が互いに前面衝突した場合にどうするかなど、そのようなレイアウトが導入するであろうあいまいさを解決する必要があります :- )