LoginSignup
1
0

More than 1 year has passed since last update.

【HTML】<label>や<span>の幅固定【CSS】

Posted at

よーしspanの幅固定するぞー
確かwidth使えば幅は固定できたはず...

<span style="width: 100px">こんにちは</span>

簡単簡単、さあ表示するぞ!

スクリーンショット 2021-11-11 23.21.02.png

横幅80しか無い???????????
ちゃんとelement.styleにも100pxって書いてあるのに???
もう私CSSなんて嫌い!!!

というわけで

<span>や<label>にwidth・hight効かないよねって話です。

なんで効かないの?

それはCSSのプロパティの1つであるdisplayが関わってきます。
displayについて詳しくはMDNをどうぞ。
以下に今回関係するものを3つ簡単に説明します。

説明
block 要素前後で改行(p,divなど)
inline 改行しない・幅と高さが指定できない(span,labelなど)
inline-block 改行しない・幅と高さが指定できる

もちろん注目すべきは赤文字の部分です。
spanやlabelは初期設定がinlineのためwidthが効かなくて当然なのです。
かといってdivと同じようにblockにすれば改行が行われてしまいます。
そこでinline-blockさんの出番です。
なんとinlineの改行しないという特性を持ちつつ、幅と高さが指定できるようになります。
これぞ求めていたものですね。

書いてみよう

一番最初に使ったhtmlを変更します。

<span style="width: 100px; display: inline-block">こんにちは</span>

これでspanがinline-blockになってくれます。
早速表示させて見ましょう。

スクリーンショット 2021-11-12 0.18.36.png

ちゃんと幅が100pxになって右に余白ができています。
これで無事<label>や<span>の幅固定をする事ができました。

最後に

display:inline-blockにしてあげるだけで解決できる実は簡単な問題でした。
他にもblockにしてから無理やり移動させたりなど色々方法はあります。

最後まで読んでくださった方ありがとうございました。
駄文失礼いたしました。

間違っている箇所などあればガンガンご指摘いただけると幸いです。


twitter始めてみました!
よければフォローお願いします!!!
https://twitter.com/pagos380402

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0