CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

【CSS】display:inline-blockの使い方をサンプルコード付きで解説

display:inline-blockとは?

CSSの display プロパティに inline-block を指定すると、要素は「コンテンツ本来の幅」と「明示的に指定された幅」のうち、大きい方に合わせて描画されます。また、親要素の幅を使い切るまでは改行(折り返し)が強制されないため、複数の要素を自然に横並びで配置できます。

inline-block は、インライン要素のように横方向へ流れるような配置をしながら、ブロックレベル要素と同様に width・height・margin・padding を自由に設定できる、両者の特徴を兼ね備えた表示形式です。ナビゲーションメニュー、ボタン群、カード型レイアウトなど、さまざまな場面で活用されています。

構文(シンタックス)

以下は、CSSで display:inline-block を適用する際の基本構文です。

Selector {
    display: inline-block;
}

サンプルコード①:カラーボックスを横並びに表示する

まずは、6つの div 要素を横一列に並べる例を見てみましょう。

<!DOCTYPE html>
<html>
<head>
<title>CSS Display Inline-Block</title>
<style>
form {
    width:70%;
    margin: 0 auto;
    text-align: center;
}
* {
    padding: 2px;
    margin:5px;
    box-sizing: border-box;
}
input[type="button"] {
    border-radius: 10px;
}
.child{
    display: inline-block;
    height: 40px;
    width: 40px;
    color: white;
    border: 4px solid black;
}
.child:nth-of-type(1){
    background-color: #FF8A00;
}
.child:nth-of-type(2){
    background-color: #F44336;
}
.child:nth-of-type(3){
    background-color: #C303C3;
}
.child:nth-of-type(4){
    background-color: #4CAF50;
}
.child:nth-of-type(5){
    background-color: #03A9F4;
}
.child:nth-of-type(6){
    background-color: #FEDC11;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>CSS-Display-Inline-Block</legend>
<div id="container">
<div class="child"></div><div class="child"></div><div class="child"></div><div class="child"></div><div class="child"></div><div class="child"></div>
</div><br>
</body>
</html>

出力結果

上記のコードを実行すると、次のような画面が表示されます。各ボックスが幅40pxのまま横一列に並んでいるのが確認できます。

【CSS】display:inline-blockの使い方をサンプルコード付きで解説

サンプルコード②:他のdisplay値との比較

続いて、flex・none・inline-block・grid など、さまざまな display の値を組み合わせた例を見てみましょう。それぞれの値によって子要素の表示がどのように変化するのかを比較できます。

<!DOCTYPE html>
<html>
<head>
<style>
#flex {
    display: flex;
}
#none {
    display: none;
}
.inline-block {
    display: inline-block;
    background-color: mintcream;
}
.grid {
    display: grid;
    background-color: cornflowerblue;
}
div {
    margin: 30px;
    padding: 5px;
    height: 10px;
    line-height: 5px;
    text-align: center;
    background-color: lightblue;
    border: 2px solid black;
}
div > div {
    background-color: lightpink;
    border: 2px solid green;
}
div > div > div {
    background-color: sandybrown;
    border: 2px solid darkred;
}
</style>
</head>
<body>
<div><span id="flex">One</span>
<div><span id="none">Two</span>
<div>
<span class="inline-block">Three</span>
<span class="inline-block">Four</span>
<div>
<span class="grid">Five</span>
<span class="grid">Six</span>
</div>
</div>
</div>
</div>
</body>
</html>

出力結果

上記のコードを実行すると、次のような画面が表示されます。display:none を指定した「Two」は非表示になり、inline-block の「Three」「Four」は横並びで表示される一方、gridflex を指定した要素は独自のレイアウトルールに従って描画されます。

【CSS】display:inline-blockの使い方をサンプルコード付きで解説

  1. CSSでテーブルをスタイリングする方法|主要プロパティと実例コード

    CSSによるテーブルのスタイリングとは HTMLのテーブルは、CSSを使うことで罫線・余白・背景などを自由にデザインできます。<table>要素とその子要素をスタイリングする際には、主に以下のプロパティが使用されます。 border罫線の太さ(border-width)、スタイル(border-style)、色(border-color)をまとめて定義できるプロパティです。 border-collapse隣り合うセルの罫線を1本に共有するか(collapse)、セルごとに独立させるか(separate)を指定します。 caption-side<caption>で付け

  2. CSSでホバー時に要素を表示する方法【サンプルコード付き】

    CSSでマウスホバー時に非表示の要素を表示するには、:hover 疑似クラスと隣接兄弟セレクタ(+)を組み合わせるのが一般的です。以下に具体的なコード例を示します。 コード例 <!DOCTYPE html> <html> <head> <style>    body{       margin:20px;       padding:20px;       font-family: 'Segoe UI', Tahoma,