ホームページ > ウェブフロントエンド > CSSチュートリアル > HTML で入力要素とラベルを同じ行に配置するにはどうすればよいですか?

HTML で入力要素とラベルを同じ行に配置するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-03 16:31:30
オリジナル
553 人が閲覧しました

How to Align Input Elements and Labels on the Same Line in HTML?

入力要素とラベルを同じ行に配置する

HTML では、ラベルと入力要素を同じ水平線上に配置することが望ましいことがよくあります。ただし、残りのスペースを埋めるために入力要素の理想的な幅を決定するのは難しい場合があります。

問題:

width: auto; を使用する標準的なアプローチでは、次の結果が得られます。入力要素の静的な幅。あるいは、幅: 100%;入力を新しい行に移動します。

解決策:

希望の配置を実現するには、次の CSS テクニックを検討してください:

オプション 1: フローティングラベルとオーバーフロー

HTML:

<code class="html"><label for="test">Label</label>
<span><input name="test" id="test" type="text" /></span></code>
ログイン後にコピー

CSS:

<code class="css">label {
    float: left
}
span {
    display: block;
    overflow: hidden;
    padding: 0 4px 0 6px
}
input {
    width: 100%
}</code>
ログイン後にコピー

このメソッドはオーバーフローを利用します: hiddenプロパティを使用して、改行を防止して入力要素をラベルと位置合わせします。

オプション 2: テーブル表示

HTML:

<code class="html"><div class="container">
    <label for="test">Label</label>
    <span><input name="test" id="test" type="text" /></span>
</div></code>
ログイン後にコピー

CSS:

<code class="css">.container {
    display: table;
    width: 100%
}
label {
    display: table-cell;
    width: 1px;
    white-space: nowrap
}
span {
    display: table-cell;
    padding: 0 0 0 5px
}
input {
    width: 100%
}</code>
ログイン後にコピー

このアプローチでは、display: table プロパティを利用して表のようなレイアウトを作成します。ラベルの幅は固定で、input 要素は残りのスペースを埋めるように拡張されます。

以上がHTML で入力要素とラベルを同じ行に配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート