H1ヘッダーと通常のテキストを同じ行に配置し、その下に次のような行を配置しようとしています。
私はこれを試しましたが、失敗しました
<div style="border-bottom:1px;">
<div align="left"><h1>Header</h1></div>
<div align="right">Regular Text Goes Here</div>
</div>
私は何が間違っているのですか?
このCodePenを参照してください。
アイデアは<h1>
、2番目のテキストが同じ行になるようにインラインにすることです。
HTML:
<header>
<h1>Text</h1>
<span>text2</span>
</header>
CSS:
header { border-bottom: 1px solid #000; }
header > h1 { display: inline-block; }
header span { margin-left: 100px; }
フレックスボックスを利用するこの代替CodePenを参照してください。
h1をに設定する代わりに、ヘッダーをコンテナーinline-block
にすることができます。flex
フレックスコンテナは(デフォルトで)その子を水平軸にレイアウトします。align-items: center
また、h1とスパンを同じ垂直軸上に維持する必要があることに注意してください。
また、テキストを同じベースラインに表示したい場合もあることに注意してくださいalign-items: baseline
(私の元の回答のように)。
header {
display: flex;
align-items: center;
/* Remove the next line if you want the span to appear next to the h1 */
justify-content: space-between;
border-bottom: 1px solid #000;
padding: 10px 30px;
}
簡単な解決策を思いつきました。私の要件は、自分のステータスを正しく揃えたいという点で少し異なります。
<div class="my-header">
<h2>Title</h2>
<span>Status</span>
</div>
<div style="clear:both"></div>
.my-header h2 {
display: inline;
}
.my-header span {
float: right;
}
このプランクをチェックしてください。
私はあなたがこのように書くべきだと思います:-
HTML
<div style="border-bottom:1px solid black; overflow:hidden;">
<h1>Header</h1>
<div class="right">Regular Text Goes Here</div>
</div>
CSS
h1 {
float:left;
margin:0px;
padding:0;
}
.right {
float:right;
margin:0px;
padding:0px;
}
この方法は、最小化されたマークアップでも使用できます:-デモ