ホームへ

labelタグにCSSが効かない原因と修正方法

2020年03月01日

labelタグはinputタグとセットで使用し、inputのタイトルを示すものです。

また、inputのクリックできる範囲を大きくするためにlabelを使うことがあります。

しかし、labelタグにCSSが効かず思ったようにデザインできない!?

そんな「labelタグにCSSが効かない原因と修正方法」を説明します。

 

↓label forが効かないかたはこちら

結論

labelタグにdisplay: inline-block またはdisplay:block を指定しましょう。

labelはinline要素です。inline要素はwidthやmarginといった一部のCSSが効きません。
これらのCSSを効かせたい場合display: inline-blockまたはdisplay:blockを使いましょう。

以下で例を挙げながら詳しく説明します。

成功例

html

<input type="checkbox" id="aaa"><label class="example" for="aaa">テキスト</label>

CSS

.example{
    display: inline-block;
    margin: 30px 0;
    width: 200px;
    background: #97ede0;
    padding: 10px;
    cursor: pointer;
}

上記成功例の場合はdisplay: inline-blockを指定しており、widthもmarginも効いています。

失敗例

html

<input type="checkbox" id="bbb"><label class="example2" for="bbb">テキスト</label>

CSS

.example2{
    /*display: inline-block;*/
    margin: 30px 0;
    width: 200px;
    background: #97ede0;
    padding: 10px;
    cursor: pointer;
}

上記失敗例ではdisplay: inline-blockをコメントアウト つまり 効かないようにしています。これでlabelはinline要素になります。

するとwidthとmarginが効かなくなります。

CSSやhtmlの基本をしっかり理解すると、この記事の内容もより理解できるようになりますよ。

↓CSSやhtmlを楽しく学べるようにマンガを描きましたのでゼヒご覧ください↓

↑「副業してもう少し稼ぎたい!」というかたのために副業の方法も解説しています。

その他

上記にも当てはまらない場合、他が原因かもしれません。
↓こちらの記事を参考にしてみてください。

まとめ

labelタグにCSSが効かない原因はlabelがinline要素だから。
修正方法はlabelにdisplay: inline-block またはdisplay:block を指定すること。

以上、labelタグにCSSが効かない原因と修正方法でした。

「この記事の内容がよくわからなかった…」「なんかうまくいかなかった…」というかたは下記記事↓でhtmlとCSSの基本を学びましょう。
わからないまま突き進むより基本を学ぶのが結局近道です。

CSSやhtmlをマンガで学ぶ