block、inline、inline-block の違いと使い分けを徹底解説
CSS を学び始めたばかりの頃は、要素がなぜ縦に並ぶのか、なぜ横に流れるのか、なぜ幅や高さが効く要素と効かない要素があるのかを、何となく見た目で覚えてしまいがちです。div は箱っぽい、span は文章の一部っぽい、a は横に並ぶ、という感覚は確かに最初の理解としては間違っていません。しかし、少し複雑な UI を組み始めると、その感覚だけではすぐに限界がきます。たとえば、なぜ span に width を書いても思った通りにならないのか、なぜ横並びにした要素の間に謎の隙間ができるのか、なぜ一つの要素だけが行全体を占有してしまうのか、といった疑問が次々に出てきます。こうした違和感の多くは、block、inline、inline-block の違いを曖昧なまま使っていることから起こります。
EN
JP
KR