HTML-CSS 入門講座

HTML-CSS 入門講座

こんにちは!
今日も頑張ろう

Lesson-5
CSS でレイアウトを作りましょう

目次

L5.1 はじめに

L5.1.1 概要

  • CSS の中でレイアウトを設定するプロパティは、以下の分類があります。
    • レイアウト系プロパティ
    • ボーダー系プロパティ
    • パディング系プロパティ
    • マージン系プロパティ
    • カラム(段組み)系プロパティ
    • レイアウト系その他のプロパティ

L5.1.2 ボックスモデル初心者向け

Web ページのレイアウトを作るためには領域定義が必要です。領域の定義にはボックスモデルが適用されコンテンツ(content)、パディング(padding)、ボーダー(border)、マージン(margin)を組み合わせて領域が定義されます。

ボックスモデルの構造
content
要素の内容であるコンテンツ(文字・図・写真など)の領域で領域のサイズは width プロパティ(幅)と height プロパティ(高さ)で指定します。
padding
要素の内側の余白で padding プロパティで指定します。
border
要素の枠線で border プロパティで指定できます。
margin
要素の外側の余白で margin プロパティで指定します。

注意事項

  • padding、border、margin は上下左右を独立して指定することもでき、それぞれのプロパティに上(-top)、下(-bottom)、右(-right)、左(-left)」を付与します。
  • ボックスのサイズは、「ボックスサイズ = content + padding + border + margin」で計算できます。
  • width プロパティ、height プロパティの指定値は、box-sizing プロパティの指定値により意味が異なります。
    box-sizing: content-box;(初期値)
    width・height プロパティの指定値 = content 領域の値
    box-sizing: border-box;
    width・height プロパティの指定値 = content + padding + border 領域の合計値
  • ボックスモデルの構造に関しては「BOX モデルの構成要素」でも説明していますので合わせて確認してください。

ボックスモデルの表示ルール

ボックスモデルの表示ルールはタグの種類によって異なりますが display プロパティを使用することで変更可能です。

CSS3 からインラインとインラインブロックを合わせてインラインと定義されました。ただ、表示ルールが異なりますのでインラインの中に「非置換インライン要素」(ページ表示時に内容が置換されない要素/旧 インライン)と「置換インライン要素」(ページ表示時に内容が置換される要素/旧 インラインブロック)が定義されていてます。ここでは、わかりやすくするためにインライン、インラインブロック、ブロックレベルとして説明します。

インライン
[非置換インライン要素]
(display: inline;)
インラインブロック
[置換インライン要素]
(display: inline-block;)
ブロックレベル
 
(display: block;)
主な用途文章内文章内・横並びレイアウト・サイズ調整
主なタグa,strong,spanなど
(テキスト分類)
imgなど
(コンテンツ埋め込み)
h1,p,ul,li,divなど
(セクション分類)
(コンテンツ分類)
並び方
初期サイズ内容サイズ内容サイズ横は100%、縦は内容
widthとheight指定可能指定可能
padding上下左右 *1上下左右上下左右
margin左右のみ上下左右上下左右
line-height外側にかかる内側にかかる内側にかかる
text-align指定可能指定可能
vertical-align指定可能指定可能

*1 余白はとってくれますが上下の要素の位置には影響しません。

ボックスモデルの表示ルールの例

主要な表示ルールの例を以下に示します。

HTML


1. div(ブロック属性)
<div class="box-model-rules">
	<div>1行目(width: 指定なし)</div>
	<div style="width: 50%;">2行目(width: 50%;)</div>
</div>

2. span(インライン属性)
<div class="box-model-rules">
	<span>1行目(width: 指定なし)</span>
	<span style="width: 50%;">2行目(width: 50%;)</span>
</div>

3. img(インラインブロック属性)
<div class="box-model-rules">
	<img src="images/hamaya.png" alt="HAMAYA" width="512" height="512">
	<img src="images/hamaya.png" alt="HAMAYA" width="512" height="512">
</div>

CSS


.box-model-rules {
	margin-top: 10px;
	background-color: pink;
}
.box-model-rules div {
	padding: 10px;
	background-color: paleturquoise;
}
.box-model-rules span {
	padding: 10px;
	background-color: paleturquoise;
}
.box-model-rules img {
	width: 200px;
	height: auto;
	padding: 10px;
	background-color: paleturquoise;
}
【表示形式】
  1. div(ブロック属性)
    1行目(width: 指定なし)
    2行目(width: 50%;)
  2. span(インライン属性)
    1行目(width: 指定なし) 2行目(width: 50%;)
  3. img(インラインブロック属性)
    HAMAYA HAMAYA

L5.2 レイアウト系プロパティ

L5.2.1 width プロパティ(要素の横幅)初心者向け

width: 横幅;

要素の横幅を指定します。指定された横幅は、min-width プロパティおよび max-width プロパティで指定された値の範囲内の場合に有効です。横幅は、box-sizing プロパティの値に content-box が指定されていると content の横幅を指定し、border-box が指定されていると content + padding + border の合計値を指定します。

使用上の注意事項

  • 初期値は、auto(要素のボックスモデルの表示ルールの初期値)です。
  • 非置換インライン要素、テーブルの行、行グループを除くすべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

width プロパティを使用例を以下に示します。ウィンドウの横幅を変更して子要素の幅の変化を確認してください。

  1. width: auto;(初期値:要素がブロックレベルの場合は、100% と同じ)
    親要素

    子要素(width: auto;)

  2. width: 50%;
    親要素

    子要素(width: 50%;)

  3. width: calc(100% / 3);
    親要素

    子要素(width: calc(100% / 3);)

  4. width: 250px;
    親要素

    子要素(width: 250px;)

L5.2.2 max-width プロパティ(横幅の最大値)初心者向け

max-width: 横幅の最大値;

横幅の最大値を指定します。none を指定すると横幅の最大値の指定しになります。width プロパティの値に関わらず本値以上の横幅にはなりません。

使用上の注意事項

  • 初期値は、noneです。
  • 非置換インライン要素、テーブルの行、行グループを除くすべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

max-width プロパティを使用例を以下に示します。ウィンドウの横幅を変更して子要素の幅の変化を確認してください。

  1. max-width: 700px;
    親要素

    子要素(max-width: 700px;)

  2. width: 500px; max-width: 700px;
    親要素

    子要素(width: 500px; max-width: 700px;)

  3. width: 900px; max-width: 700px;
    親要素

    子要素(width: 900px; max-width: 700px;)

L5.2.3 min-width プロパティ(横幅の最小値)

min-width: 横幅の最小値;

横幅の最小値を指定します。auto を指定すると横幅の最小値の指定なしになります。width プロパティの値に関わらず本値以下の横幅にはなりません。

使用上の注意事項

  • 初期値は、auto です。
  • 非置換インライン要素、テーブルの行、行グループを除くすべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

min-width プロパティを使用例を以下に示します。ウィンドウの横幅を変更して子要素の幅の変化を確認してください。

  1. width: 40%; min-width: auto;(初期値)
    親要素

    子要素(width: 40%; min-width: auto;)

  2. width: 40%; min-width: 250px;
    親要素

    子要素(width: 40%; min-width: 250px;)

L5.2.4 height プロパティ(要素の高さ)初心者向け

height: 高さ;

要素の高さを指定します。autoを指定すると要素のボックスモデルの表示ルールの初期値になります。指定された横幅は、min-height プロパティおよび max-height プロパティで指定された値の範囲内の場合に有効です。横幅は、box-sizing プロパティの値に content-box が指定されていると content の横幅を指定し、border-box が指定されていると content + padding + border の合計値を指定します。

使用上の注意事項

  • 初期値は、auto です。
  • 非置換インライン要素、テーブルの列、列グループを除くすべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

height プロパティを使用例を以下に示します。ウィンドウの横幅を変更して子要素の高さの変化を確認してください。

  1. height: auto;(初期値)
    親要素

    子要素(height: auto;)
    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  2. height: 160px;
    親要素

    子要素(height: 160px;)
    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

L5.2.5 max-height プロパティ(高さの最大値)

max-height: 高さの最大値;

高さの最大値を指定します。none を指定すると高さの最大値の指定しになります。height プロパティの値に関わらず本値以上の高さにはなりません。

使用上の注意事項

  • 初期値は、none です。
  • 非置換インライン要素、テーブルの行、行グループを除くすべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

max-height プロパティを使用例を以下に示します。ウィンドウの横幅を変更して子要素の高さの変化を確認してください。

  1. max-height: 160px;
    親要素

    子要素(max-height: 160px;)
    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

L5.2.6 min-heightプロパティ(高さの最小値)

min-height: 高さの最小値;

高さの最小値を指定します。auto を指定すると高さの最小値の指定なしになります。height プロパティの値に関わらず本値以下の高さにはなりません。

使用上の注意事項

  • 初期値は、auto です。
  • 非置換インライン要素、テーブルの行、行グループを除くすべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

min-height プロパティを使用例を以下に示します。ウィンドウの横幅を変更して子要素の高さの変化を確認してください。

  1. min-height: 160px;
    親要素

    子要素(min-height: 160px;)
    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

L5.2.7 aspect-ratioプロパティ(幅と高さの比率)初心者向け

aspect-ratio: 幅と高さの比率;

幅と高さの比率を指定します。比率を有効にするためには、指定領域の幅か高さが自動に指定されている必要があります。比率を指定する場合は、「比率」または「幅 / 高さ」の形式で指定します。「幅 / 高さ」の形式で指定されても有効なのは比率であって指定された幅や高さ自体が意味を持つわけではありませんので「2 / 1」と「200 / 100」は同じ意味になります。比率に auto が指定されている場合は、指定領域の推奨比率が使用されます。

使用上の注意事項

  • 初期値は、auto です。
  • インラインボックスおよび内部のルビまたは表ボックスを除くすべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

aspect-ratio プロパティを使用例を以下に示します。

  1. height: 200px; aspect-ratio: 1;(正方形)
  2. height: 200px; aspect-ratio: 4 / 3;(アナログTV)
  3. height: 200px; aspect-ratio: 16 / 9;(デジタルTVや YouTube など)

L5.2.8 float プロパティ(回り込み)初心者向け

float: 回り込みの方向;

要素の回り込みを指定します。

(回り込みの方向)は以下の値で指定します。

left
指定した要素を左に寄せます。
right
指定した要素を右に寄せます。
none(初期値)
特に配置を指定しません。

使用上の注意事項(float)

  • 初期値は、none です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

float プロパティを使用例を以下に示します。

HTML


<div class="float clearfix">
	<img src="images/hamaya.png" alt="HAMAYA" width="512" height="512" style="float: 回り込みの方向; background: paleturquoise;">
	<p>むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。</p>
</div>

CSS


.float {
	width: 60%;
	background-color: pink;
}
.float img {
	width: 200px;
	height: 200px;
}

【表示形式】

  1. float: none;(初期値)
    HAMAYA

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  2. float: left;
    HAMAYA

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  3. float: right;
    HAMAYA

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  4. 背景(赤):float: left;/背景(青):float: right;
    HAMAYA HAMAYA

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

【float サンプルコード】

float の使用方法を習得するためのサンプルコードです。

サンプルコードを使用して float の使用方法を理解してください。

float サンプルコードは、以下をクリックしてダウンロードまたは別画面で開いて使用してください。

ダウンロードしたファイルは圧縮されていますので解凍してから使ってください。

index.html をブラウザで開いてデベロッパーツール(検証ツール)を使って指示に従い CSS(float.css)のプロパティを設定してください。

設定する値がわからないときは、float-mihon.css にコメントとして記載してありますので確認してください。

L5.2.9 clear プロパティ(回り込み解除)初心者向け

clear: 解除の方向;

回り込みの解除を指定します。clear プロパティは、回り込みを解除させたい同レベルの後続するブロック要素に指定する必要があります。

解除の方向は以下の値で指定します。

left
左方向の回り込みを解除します。
right
右方向の回り込みを解除します。
both
左右の回り込みを解除します。(通常は、本値を使用します)
none(初期値)
回り込みの解除を行いません。

使用上の注意事項(clear)

  • 初期値は、none です。
  • ブロックレベル要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

float プロパティを使用した場合は、回り込みの解除を指定する必要があります。回り込みの解除は、以下の方法で指定することができます。

  1. clear: both; プロパティを使用

    float を指定した要素の次の要素に「clear: both;」プロパティを指定します。float が連続している場合は、一番最後の float 要素の次の要素に指定します。本指定方法は、float が指定されている要素に続く要素が存在する場合に指定可能です。

    HTML

    
    <div>
    	<p class="float-left red">項目1</p>
    	<p class="float-left green">項目2</p>
    	<p class="float-left blue">項目3</p>
    	<p class="clear"></p>
    </div>
    

    CSS

    
    .float-left {
    	width: 100px;
    	float: left;
    	color: white;
    	text-align: center;
    }
    .red {
    	background: red;
    }
    .green {
    	background: green;
    }
    .blue {
    	background: blue;
    }
    .clear {
    	clear: both;
    }
    

    【表示形式】

    項目1

    項目2

    項目3

  2. clear: both; プロパティを使用(after 疑似要素を使用)

    float を指定した要素の親要素に after 疑似要素を使用した「clear: both;」プロパティを指定します。本指定方法は、after 疑似要素を使用することで後続する clear プロパティを指定する要素が存在しない場合でも使用可能です。一般的には、「clearfix」という名称のクラス名を使って以下のスタイルを定義します。この clearfix クラスの定義は、リセット CSS に定義しておくと良いでしょう。

    HTML

    
    <div class="clearfix">
    	<p class="float-left red">項目1</p>
    	<p class="float-left green">項目2</p>
    	<p class="float-left blue">項目3</p>
    </div>
    

    CSS

    
    .float-left {
    	width: 100px;
    	float: left;
    	color: white;
    	text-align: center;
    }
    .red {
    	background: red;
    }
    .green {
    	background: green;
    }
    .blue {
    	background: blue;
    }
    .clearfix::after {
    	content: "";
    	display: block;
    	clear: both;
    }
    

    【表示形式】

    項目1

    項目2

    項目3

  3. 親要素に overflow: hidden; プロパティを使用

    float を指定した要素の親要素に「overflow: hidden;」を指定します。

    HTML

    
    <div class="perent">
    	<p class="float-left red">項目1</p>
    	<p class="float-left green">項目2</p>
    	<p class="float-left blue">項目3</p>
    </div>
    

    CSS

    
    .perent {
    	overflow: hidden;
    }
    .float-left {
    	width: 100px;
    	float: left;
    	color: white;
    	text-align: center;
    }
    .red {
    	background: red;
    }
    .green {
    	background: green;
    }
    .blue {
    	background: blue;
    }
    

    【表示形式】

    項目1

    項目2

    項目3

L5.2.10 shape-outside プロパティ(回り込み形状)

shape-outside: 回り込み形状;

要素の回り込み形状を指定します。初期状態では、回り込み形状は、矩形になっていますが本プロパティで矩形以外の形状を指定できます。

回り込み形状は、以下の値で指定します。

none
回り込み形状は、影響を受けません。通常通りマージンの外側を回り込みます。
margin-box
マージンの外側を回り込みます。角の丸みの影響を受けます。
border-box
ボーダーの外側を回り込みます。角の丸みの影響を受けます。
padding-box
パディングの外側を回り込みます。角の丸みの影響を受けます。
content-box
コンテンツの外側を回り込みます。角の丸みの影響を受けます。
circle(半径 at 位置)
円形の回り込み形状を指定します。
ellipse(X軸半径 Y軸半径 at 位置)
楕円形の回り込み形状を指定します。
polygon(多角形の頂点群)
多角形(自由形状)の回り込み形状を指定します。
url(画像ファイル名)
画像のアルファチャンネルに従って回り込み形状を指定します。

使用上の注意事項(float)

  • 初期値は、none です。
  • 浮動要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

shape-outside プロパティを使用例を以下に示します。

HTML


【回り込み形状指定の場合】
<div class="shape-outside clearfix">
	<div style="float: clip-path: 回り込み形状(参考); left; shape-outside: 回り込み形状;"></div>
	<p>むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。</p>
</div>

【画像ファイル指定の場合】
<div class="shape-outside clearfix">
	<img src="images/hamaya.png" alt="HAMAYA" width="512" height="512" style="float: left; shape-outside: url('images/hamaya.png');">
	<p>むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。</p>
</div>

CSS


.shape-outside {
	width: 60%;
	background-color: pink;
}
.shape-outside div {
	width: 200px;
	height: 200px;
	background-color: paleturquoise;
}
.shape-outside img {
	width: 200px;
	height: auto;
}
【表示形式】
  1. float: left; shape-outside: none;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  2. float: left; shape-outside: circle(100px);

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  3. float: left; shape-outside: ellipse(190px 100px at 0 50%);

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  4. float: left; shape-outside: polygon(0 0, 100% 0, 0 100%);

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  5. float: left; shape-outside: url('images/hamaya.png');
    HAMAYA

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

L5.2.11 shape-margin プロパティ(回り込み形状のマージン)

shape-margin: 回り込み形状のマージン;

shape-outside プロパティで指定された回り込み形状からのマージン(間隔)を指定します。

使用上の注意事項(float)

  • 初期値は、0 です。
  • 浮動要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

shape-margin プロパティを使用例を以下に示します。

HTML


<div class="shape-margin clearfix">
	<div style="float: left; clip-path: 回り込み形状(参考); shape-outside: 回り込み形状; shape-margin: 回り込み形状マージン値;"></div>
	<p>むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。</p>
</div>

CSS


.shape-margin {
	width: 60%;
	background-color: pink;
}
.shape-margin div {
	width: 200px;
	height: 200px;
	background-color: paleturquoise;
}
【表示形式】
  1. float: left; shape-outside: circle(90px); shape-margin: 0;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  2. float: left; shape-outside: circle(90px); shape-margin: 10px;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  3. float: left; shape-outside: polygon(0 0, 90% 0, 0 90%); shape-margin: 0;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  4. float: left; shape-outside: polygon(0 0, 90% 0, 0 90%); shape-margin: 10px;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

L5.2.12 position/top/left/bottom/right/inset プロパティ(要素の配置方法)初心者向け


position: 配置方法;
top: 上からの位置;
bottom: 下からの位置;
left: 左からの位置;
right: 右からの位置;
inset: 配置位置;

要素の配置方法を指定します。

配置方法は、position プロパティに以下の値で指定します。

static
通常の配置を行います。この値のときには、top/bottom/left/right プロパティは、適用されません。
relative
相対位置への配置となります。position プロパティで static を指定した場合(または、何も指定していない場合)に表示される位置が基準位置になり top/bottom/left/right プロパティを使用して元の位置からの相対位置に配置されます。他の要素の配置には影響を与えません。
absolute
絶対位置への配置となります。親要素(祖先要素)に position プロパティの static 以外(通常は、relative)の値が指定されている場合は、親要素の位置が基準位置になり top/bottom/left/right プロパティを使用して親要素からの相対位置に配置されます。親要素に position プロパティの static が指定されている場合(または、何も指定していない場合)は、ページ先頭からウィンドウサイズが基準位置になります。本指定での親要素は直近の親要素だけでなく祖先要素が対象になります。本指定がされている要素の空間は作成されません。
fixed
絶対位置への配置となるのは、absolute と同じですがスクロールしても位置が固定されたままになります。本値が指定されている要素の空間は作成されません。
sticky
通常の配置を行いますが配置位置を指定する条件を満たすとフロートされ位置が固定されたままになります。本指定は、表示されている場所により他の指定と類似する動作をします。指定条件を満たしていない時は、static や relative と同様に元の領域が確保され要素が配置されますが指定条件を満たすと fixed のように指定条件の位置にとどまります。ヘッダー、フッター、サイドバーなどをフロートさせて固定位置に表示にする場合などで使用します。

上/下/左/右からの位置は、position プロパティと併用して配置の基準位置を正の値または負の値で指定します。auto を指定すると自動配置になります。

配置位置は、inset プロパティの値で指定し top/bottom/left/right プロパティを一括指定(ショートハンド)します。指定する個数により対象位置が異なります。

1 つ指定
上下左右」のすべての指定になります。
2 つ指定
上下」と「左右」の順で指定します。
3 つ指定
「上」と「左右」と「下」の順で指定します。
4 つ指定
「上」と「右」と「下」と「左」の順で指定します。

使用上の注意事項(position)

  • 初期値は、static です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用上の注意事項(top/bottom/left/right/inset)

  • 初期値は、auto です。
  • 位置指定要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況(top)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(bottom)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(left)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(right)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(inset)は、caniuse サイトで確認してください。
  • プロパティの詳細情報(top)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(bottom)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(left)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(right)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(inset)は、mdn web docs サイトで確認してください。

使用例

position プロパティの使用例を以下の示します。使用する形態に合わせて使い分けてください。

  1. 元の表示位置からの相対位置に配置

    元の表示位置(「position: static;(初期値)」プロパティで表示される位置)からの相対位置に配置する場合は、「position: relative;」プロパティを指定して top/bottom/left/right/inset プロパティで配置する相対位置を指定します。

  2. 親要素からの相対位置に配置

    親要素(祖先要素)からの相対位置に配置する場合は、基準になる親要素に「position: relative;」プロパティを指定して自要素に「position: absolute;」プロパティを指定します。相対位置は、top/bottom/left/right/inset プロパティで配置する位置を指定します。本指定の場合は、親要素の横幅が継承されません。本例での親要素は直近の親要素だけでなく祖先要素が対象になります。

  3. ページ先頭からの相対位置に配置

    ページ先頭からウィンドウサイズの領域に対する相対位置に配置する場合は、「position: absolute;」プロパティを指定して top/bottom/left/right/inset プロパティで配置する相対位置を指定します。本指定を行うとページのスクロールに合わせて本要素もスクロールされます。本指定の場合は、親要素の横幅が継承されません。

  4. 画面(ウィンドウ)上の固定位置に配置

    画面上の固定位置に配置する場合は、「position: fixed;」プロパティを指定して top/bottom/left/right/inset プロパティで配置する位置を指定します。本指定を行うとページをスクロールしても表示位置は変化しません。本指定の場合は、親要素の横幅が継承されません。

positionの例1
positionの例2

【position サンプルコード】

position の使用方法を習得するためのサンプルコードです。

サンプルコードを使用して position の使用方法を理解してください。

position サンプルコードは、以下をクリックしてダウンロードまたは別画面で開いて使用してください。

ダウンロードしたファイルは圧縮されていますので解凍してから使ってください。

index.html をブラウザで開いてデベロッパーツール(検証ツール)を使って指示に従い CSS(position.css)のプロパティを設定してください。

設定する値がわからないときは、position-mihon.css にコメントとして記載してありますので確認してください。

L5.2.13 z-index プロパティ(重なりの順序)初心者向け


z-index: 重なりの順序;

要素の重なりの順序方法を指定します。

重なりの順序)は、ボックスの重なり順序を数値で指定します。マイナス値も使用可能で数値が大きいほど前面(上)に表示されます。auto を指定すると親ボックスと同じ重ね合わせレベルを持ちます。position プロパティを指定していないか、position プロパティに static が指定されている時は、重なりの順序は適用されません。

使用上の注意事項

  • 初期値は、auto です。
  • 位置指定要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.2.14 display プロパティ(要素の表示方法)初心者向け

display: 要素の表示方法;

要素の表示方法を指定します。初期値はボックスモデルの表示ルールが採用されます。

要素の表示方法は、以下の値で指定します。

block
ブロック属性(p,div,ul,h1~h6 タグなどの初期値)を指定します。
inline
インライン属性(a,strong,span タグなどの初期値)を指定します。
inline-block
インラインブロック属性(img タグなどの初期値)を指定します。この指定は、inline flow-root と記述するのと同等です。
none
非表示の属性を指定します。
flex
block 属性の Flex コンテナを指定します。フレックスボックスの使用法については「Lesson-9 フレックスレイアウトを活用しましょう」を参照してください。
inline-flex
inline-block 属性の Flex コンテナを指定します。この記述は、inline flex と記述するのと同等です。フレックスボックスの使用法については「Lesson-9 フレックスレイアウトを活用しましょう」を参照してください。
grid
block 属性の Grid コンテナを指定します。グリッドレイアウトの使用法については「Lesson-10 グリッドレイアウトを活用しましょう」を参照してください。
inline-grid
inline-block 属性の Grid コンテナを指定します。この記述は、inline grid と記述するのと同等です。グリッドレイアウトの使用法については「Lesson-10 グリッドレイアウトを活用しましょう」を参照してください。
table関連
テーブル関連要素の属性を指定します。テーブル関連要素の指定値は、table(table)、table-caption(caption)、table-row(tr)、table-cell(th, td)、table-header-group(thead)、table-row-group(tbody)、table-footer-group(tfoot)、table-column-group(colgroup)、table-column(col)があります。テーブルレイアウトの使用法については「Lesson-8 テーブルを活用しましょう」を参照してください。

使用上の注意事項

  • 初期値は、inline です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

display プロパティを使用例を以下に示します。

HTML


1. div(ブロック属性)→ display: 指定なし
<div class="display">
	<div>1行目(width: 指定なし)</div>
	<div style="width: 50%;">2行目(width: 50%;)</div>
</div>

2. div(ブロック属性)→ display: inline;
<div class="display">
	<div style="display: inline;">1行目(width: 指定なし)</div>
	<div style="display: inline; width: 50%;">2行目(width: 50%;)</div>
</div>

3. div(ブロック属性)→ display: inline-block;
<div class="display">
	<div style="display: inline-block;">1行目(width: 指定なし)</div>
	<div style="display: inline-block; width: 50%;">2行目(width: 50%;)</div>
</div>

4. span(インライン属性)→ display: 指定なし
<div class="display">
	<span>1行目(width: 指定なし)</span>
	<span style="width: 50%;">2行目(width: 50%;)</span>
</div>

5. span(インライン属性)→ display: inline-block;
<div class="display">
	<span style="display: inline-block;">1行目(width: 指定なし)</span>
	<span style="display: inline-block; width: 50%;">2行目(width: 50%;)</span>
</div>

6. span(インライン属性)→ display: block;
<div class="display">
	<span style="display: block;">1行目(width: 指定なし)</span>
	<span style="display: block; width: 50%;">2行目(width: 50%;)</span>
</div>

7. img(インラインブロック属性)→ display: 指定なし
<div class="display">
	<img src="images/hamaya.png" alt="HAMAYA" width="512" height="512">
	<img src="images/hamaya.png" alt="HAMAYA" width="512" height="512">
</div>

8.img(インラインブロック属性)→ display: inline;
<div class="display">
	<img style="display: inline;" src="images/hamaya.png" alt="HAMAYA" width="512" height="512">
	<img style="display: inline;" src="images/hamaya.png" alt="HAMAYA" width="512" height="512">
</div>

9. img(インラインブロック属性)→ display: block;
<div class="display">
	<img style="display: block;" src="images/hamaya.png" alt="HAMAYA" width="512" height="512">
	<img style="display: block;" src="images/hamaya.png" alt="HAMAYA" width="512" height="512">
</div>

CSS


.display {
	margin-top: 10px;
	background-color: pink;
}
.display div {
	padding: 10px;
	background-color: paleturquoise;
}
.display span {
	padding: 10px;
	background-color: paleturquoise;
}
.display img {
	width: 200px;
	height: auto;
	padding: 10px;
	background-color: paleturquoise;
}
【表示形式】
  1. div(ブロック属性)→ display: 指定なし
    1行目(width: 指定なし)
    2行目(width: 50%;)
  2. div(ブロック属性)→ display: inline;
    1行目(width: 指定なし)
    2行目(width: 50%;)
  3. div(ブロック属性)→ display: inline-block;
    1行目(width: 指定なし)
    2行目(width: 50%;)
  4. span(インライン属性)→ display: 指定なし
    1行目(width: 指定なし) 2行目(width: 50%;)
  5. span(インライン属性)→ display: inline-block;
    1行目(width: 指定なし) 2行目(width: 50%;)
  6. span(インライン属性)→ display: block;
    1行目(width: 指定なし) 2行目(width: 50%;)
  7. img(インラインブロック属性)→ display: 指定なし
    HAMAYA HAMAYA
  8. img(インラインブロック属性)→ display: inline;
    HAMAYA HAMAYA
  9. img(インラインブロック属性)→ display: block;
    HAMAYA HAMAYA

【display サンプルコード】

display の使用方法を習得するためのサンプルコードです。

サンプルコードを使用して display の使用方法を理解してください。

display サンプルコードは、以下をクリックしてダウンロードまたは別画面で開いて使用してください。

ダウンロードしたファイルは圧縮されていますので解凍してから使ってください。

index.html をブラウザで開いてデベロッパーツール(検証ツール)を使って指示に従い CSS(display.css)のプロパティを設定してください。

設定する値がわからないときは、position-mihon.css にコメントとして記載してありますので確認してください。

L5.2.15 overflow プロパティ(ボックスからあふれた内容の処理方法)初心者向け

overflow: ボックスからあふれた内容の処理方法;

ボックスからあふれた内容の処理方法を指定します。

ボックスからあふれた内容の処理方法は、以下の値で指定します。

visible
内容がボックスに収まらない場合は、ボックスからはみ出して表示されます。
hidden
内容がボックスに収まらない場合は、はみだした部分は非表示になります。
本指定は、float プロパティで指定された回り込み指定を続く要素に影響を与えない効果(clear プロパティと同等)として使用することができます。
scroll
スクロールバーを使って全体を参照できるようにします。
auto
内容がボックスに収まらない時だけスクロールバーを表示して全体を参照できるようにします。

使用上の注意事項

  • 初期値は、visible です。
  • ブロックコンテナー、 フレックスコンテナー、 グリッドコンテナーに適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

overflow プロパティについては「overflow プロパティでの領域の処理」でも説明していますので合わせて確認してください。

使用例

overflow プロパティを使用例を以下示します。

  1. overflow: visible;

    overflow: visible;
    あいうえお
    かきくけこ
    さしすせそ
    たちつてと
    なにぬねの
    はひふへほ
    まみむめも

  2. overflow: hidden;

    overflow: hidden;
    あいうえお
    かきくけこ
    さしすせそ
    たちつてと
    なにぬねの
    はひふへほ
    まみむめも

  3. overflow: scroll;

    overflow: scroll;
    あいうえお
    かきくけこ
    さしすせそ
    たちつてと
    なにぬねの
    はひふへほ
    まみむめも

  4. overflow: auto;

    overflow: auto;
    あいうえお
    かきくけこ
    さしすせそ
    たちつてと
    なにぬねの
    はひふへほ
    まみむめも

L5.3 ボーダー系プロパティ

L5.3.1 border-color プロパティ(ボーダー色)初心者向け

border-color: ボーダーの色;

ボーダーの色を指定します。ボーダーの色に transparent を指定すると透明になります。ボーダーの色は、border プロパティ(ボーダー一括指定)でも指定可能です。

ボーダーのスタイルは、複数指定でき指定した個数により対象位置が異なります。

1 つ指定
「上下左右」のすべての指定になります。
2 つ指定
「上下」と「左右」の順で指定します。
3 つ指定
「上」と「左右」と「下」の順で指定します。
4 つ指定
「上」と「右」と「下」と「左」の順で指定します。

使用上の注意事項

  • 初期値は、currentcolor です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.3.2 border-style プロパティ(ボーダースタイル)初心者向け

border-style: ボーダーのスタイル;

ボーダーのスタイルを指定します。ボーダーのスタイルは、border プロパティ(ボーダー一括指定)でも指定可能です。

ボーダーのスタイルは、以下の値を指定します。

none
ボーダーは、表示されず太さも 0 になります。他のボーダーと重なる場合は、他の値が優先されます。
hidden
ボーダーは、表示されず太さも 0 になります。他のボーダーと重なる場合は、hidden の値が優先されます。
solid
ボーダーを 1 本線で表示します。
double
ボーダーを 2 本線で表示します。
dashed
ボーダーを破線で表示します。
dotted
ボーダーを点線で表示します。

(ボーダーのスタイル)は、複数指定でき指定した個数により対象位置が異なります。

1 つ指定
「上下左右」のすべての指定になります。
2 つ指定
「上下」と「左右」の順で指定します。
3 つ指定
「上」と「左右」と「下」の順で指定します。
4 つ指定
「上」と「右」と「下」と「左」の順で指定します。

使用上の注意事項

  • 初期値は、none です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.3.3 border-width プロパティ(ボーダー幅)初心者向け

border-width: ボーダーの幅;

ボーダーの幅を指定します。ボーダー幅は、border プロパティ(ボーダー一括指定)でも指定可能です。

ボーダーの幅は、値かキーワード(thin、midium、thick)で指定します。

ボーダーの幅は、複数指定でき指定した個数により対象位置が異なります。

1 つ指定
「上下左右」のすべての指定になります。
2 つ指定
「上下」と「左右」の順で指定します。
3 つ指定
「上」と「左右」と「下」の順で指定します。
4 つ指定
「上」と「右」と「下」と「左」の順で指定します。

使用上の注意事項

  • 初期値は、medium です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.3.4 border プロパティ(ボーダー一括指定)初心者向け

border: ボーダー一括指定;

ボーダーのスタイル・色・幅を一括して指定(ショートハンド)します。

border-color プロパティ、border-style プロパティ、border-width プロパティの指定値を任意の順序でスペースで区切って指定します。

本指定では上下左右を別々に指定することはできません。

使用上の注意事項

  • 初期値は、currentcolor none medium です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

border プロパティの使用例を以下示します。

  1. border: 1px #000 solid;

    border: 1px #000 solid;

  2. border: 2px #000 solid;

    border: 2px #000 solid;

  3. border: 3px #000 solid;

    border: 3px #000 solid;

  4. border: 4px #000 solid;

    border: 4px #000 solid;

  5. border: 4px #000 double;

    border: 4px #000 double;

  6. border: 2px #000 dashed;

    border: 2px #000 dashed;

  7. border: 5px #000 dashed;

    border: 5px #000 dashed;

  8. border: 2px #000 dotted;

    border: 2px #000 dotted;

  9. border: 5px #000 dotted;

    border: 5px #000 dotted;

  10. border: 5px #f00 solid;

    border: 5px #f00 solid;

  11. border: 5px #0f0 solid;

    border: 5px #0f0 solid;

  12. border: 5px #00f solid;

    border: 5px #00f solid;

L5.3.5 border-top/-bottom/-left/-right プロパティ(ボーダー個別指定)初心者向け


/* ボーダー(上)の個別指定 */
border-top-color: ボーダーの色;
border-top-style: ボーダーのスタイル;
border-top-width: ボーダーの幅;
border-top: ボーダーの一括指定

/* ボーダー(下)の個別指定 */
border-bottom-color: ボーダーの色;
border-bottom-style: ボーダーのスタイル;
border-bottom-width: ボーダーの幅;
border-bottom: ボーダーの一括指定

/* ボーダー(左)の個別指定 */
border-left-color: ボーダーの色;
border-left-style: ボーダーのスタイル;
border-left-width: ボーダーの幅;
border-left: ボーダーの一括指定

/* ボーダー(右)の個別指定 */
border-right-color: ボーダーの色;
border-right-style: ボーダーのスタイル;
border-right-width: ボーダーの幅;
border-right: ボーダーの一括指定

ボーダーを個別に指定します。各プロパティの値は、border-color プロパティ、border-style プロパティ、border-width プロパティと同様ですが、1 つしか指定することはできません。

各プロパティの指定位置は、以下の通りになります。

border-top
上部のボーダーを指定します。
border-bottom
下部のボーダーを指定します。
border-left
左部のボーダーを指定します。
borde-right
右部のボーダーを指定します。

使用上の注意事項

  • ブラウザの対応状況(border-top-color)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-top-style)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-top-width)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-top)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-bottom-color)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-bottom-style)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-bottom-width)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-bottom)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-left-color)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-left-style)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-left-width)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-left)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-right-color)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-right-style)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-right-width)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(border-right)は、caniuse サイトで確認してください。
  • プロパティの詳細情報(border-top-color)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-top-style)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-top-width)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-top)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-bottom-color)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-bottom-style)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-bottom-width)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-bottom)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-left-color)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-left-style)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-left-width)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-left)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-right-color)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-right-style)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-right-width)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(border-right)は、mdn web docs サイトで確認してください。

使用例

ボーダーの個別指定の使用例を以下示します。

  1. (上)border-top: 5px #000 solid;

    border-top: 5px #000 solid;
    サンプル文字列

  2. (下)border-bottom: 5px #000 solid;

    border-bottom: 5px #000 solid;
    サンプル文字列

  3. (左)border-left: 5px #000 solid;

    border-left: 5px #000 solid;
    サンプル文字列

  4. (右)borde-right: 5px #000 solid;

    border-right: 5px #000 solid;
    サンプル文字列

  5. border-top: 20px #f00 solid; border-right: 20px #0f0 solid;
    border-bottom: 20px #00f solid; border-left: 20px #f0f solid;

    サンプル文字列

  6. padding: 0;
    border-top: 50px #f00 solid; border-right: 200px #0f0 solid;
    border-bottom: 50px #00f solid; border-left: 200px #f0f solid;

L5.3.6 border-image-source プロパティ(ボーダー画像)

border-image-source: ボーダー画像;

ボーダーに表示する画像を指定します。ボーダー画像は、border-image プロパティ(ボーダー画像一括指定)でも指定可能です。

ボーダー画像に画像ファイルを指定する場合は、url("ファイルパス") の形式で指定します。グラデーション指定を行うこともできます。none を指定するとボーダー画像は表示されません。

border-image-slice プロパティを指定することでボーダー画像で指定した画像を 9 個の画像に分割し各ボーダー領域に割り当てることができます。

使用上の注意事項

  • 初期値は、none です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.3.7 border-image-slice プロパティ(ボーダー画像分割)

border-image-slice: ボーダー画像分割方法;

ボーダーに指定された画像の分割方法を指定します。ボーダー画像分割方法は、border-image プロパティ(ボーダー画像一括指定)でも指定可能です。

ボーダー画像分割方法は、数値か百分率(%)で指定します。単位のない数値を指定した場合は、ラスター画像の場合はピクセル値となり、ベクター画像の場合は座標値になります。

ボーダー画像を分割する場合は、以下の形式の画像を作成してください。

border-imageのサンプル

このボーダー画像の中には、9 個の画像が格納されています。

border-imageのサンプル

この 9 個の画像の中で、1~4 は角の画像を示しボーダーの四隅を形成します。使われるのは、それぞれ 1 回だけです。5~8 は辺の画像を示しボーダーの辺領域を形成します。辺の画像は指定により拡大・縮小や繰り返しなどが行われます。9 は中央領域の背景画像を示します。初期状態では表示されませんがボーダー画像分割方法の中に fill を指定すると表示されるようになります。

ボーダー画像分割方法は、1~4 個の数値を指定することができ、指定した数値の個数により以下の意味になります。また、数値に加えて fill を指定することができ fill を指定すると中央領域の背景画像(サンプル画像の 9 の画像)の表示を有効にします。fill は、どの位置にでも指定できます。

border-imageの9面のサンプル

1 つ指定
top、bottom、left、right の全てが同じ距離で分割されます。
2 つ指定
1 個目が top、bottom の距離を指定し、2 個目が left、right の距離を指定します。
3 つ指定
1 個目が top の距離を指定し、2 個目が left、right の距離を指定し、3 個目が bottom の距離を指定します。
4 つ指定
4 個の数値を時計回りで top、right、bottom、left の順で指定します。

使用上の注意事項

  • 初期値は、100% です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.3.8 border-image-width プロパティ(ボーダー画像幅)

border-image-width: ボーダー画像幅;

ボーダーに表示する画像の幅を指定します。ボーダー画像幅は、border-image プロパティ(ボーダー画像一括指定)でも指定可能です。

ボーダー画像の幅に単位のない数値を指定した場合は、border-width プロパティの指定値の倍率として指定します。ボーダー画像の幅が、border-width プロパティで指定した値よりも大きい場合は、ボーダー画像はパディング領域やコンテンツ領域の方向に拡張されます。

ボーダーの画像幅は、複数指定でき指定した個数により対象位置が異なります。auto を指定すると対応する border-image-slice プロパティの指定値と等しくなるように設定されます。画像の寸法を持っていない場合は、対応する border-width プロパティの指定値が代わりに使用されます。

1 つ指定
「上下左右」のすべての指定になります。
2 つ指定
「上下」と「左右」の順で指定します。
3 つ指定
「上」と「左右」と「下」の順で指定します。
4 つ指定
「上」と「右」と「下」と「左」の順で指定します。

使用上の注意事項

  • 初期値は、1 です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.3.9 border-image-outset プロパティ(ボーダー画像はみ出し幅)

border-image-outset: ボーダー画像はみ出し幅;

ボーダーに表示する画像のはみ出し幅を指定します。はみ出し幅とは、本来のボーダー領域から外に向かって拡張する幅を示します。ボーダー画像はみ出し幅は、border-image プロパティ(ボーダー画像一括指定)でも指定可能です。

ボーダー画像のはみ出し幅に単位のない数値を指定した場合は、border-width プロパティの指定値の倍率として指定します。

ボーダーの画像はみ出し幅は、複数指定でき指定した個数により対象位置が異なります。

1 つ指定
「上下左右」のすべての指定になります。
2 つ指定
「上下」と「左右」の順で指定します。
3 つ指定
「上」と「左右」と「下」の順で指定します。
4 つ指定
「上」と「右」と「下」と「左」の順で指定します。

使用上の注意事項

  • 初期値は、1 です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.3.10 border-image-repeat プロパティ(ボーダー画像繰り返し)

border-image-repeat: ボーダー画像繰り返し;

ボーダー(上下左右の辺)に表示する画像の繰り返し方法を以下の値で指定します。ボーダー画像繰り返しは、border-image プロパティ(ボーダー画像一括指定)でも指定可能です。

stretch
画像を引き伸ばして表示します。
repeat
画像を繰り返して表示します。寸法を合わせるために画像の一部が切り取られることがあります。
round
画像を繰り返して表示します。寸法を合わせるために画像が引き伸ばされることがあります。
space
画像を繰り返して表示します。寸法を合わせるために画像間に間隔が置かれることがあります。

ボーダーの画像の繰り返しは、複数指定でき指定した個数により対象位置が異なります。

1 つ指定
「上下左右」のすべての指定になります。
2 つ指定
「上中下」と「左右」の順で指定します。

使用上の注意事項

  • 初期値は、stretch です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.3.11 border-image プロパティ(ボーダー画像一括指定)

border-image: ボーダー画像一括指定;

ボーダー画像の画像・分割・幅・はみ出し幅、繰り返しを一括して指定(ショートハンド)します。

border-image-source プロパティ、border-image-slice プロパティ、border-image-width プロパティ、border-image-outset プロパティ、border-image-repeat プロパティの指定値を指定します。border-image-slice プロパティ、border-image-width プロパティ、border-image-outset プロパティ、border-image-repeat プロパティの指定値は、スラッシュ(/)で区切って指定します。

使用上の注意事項

使用例

border-image プロパティの使用例を以下示します。使用例では、以下の画像を使用しています。

border-imageのサンプル

border-imageのサンプル

表示するボックスには、以下のスタイルが設定されているものとします。
width: 100%;
max-width: 300px;
height: 300px;
padding: 10px;
margin: 20px 0px 30px 0px;
border: 40px #ccc solid;
background: #feffd9;

  1. border-image: url('images/border-image.png');

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 4
    サンプル文字列 5
    サンプル文字列 6

  2. border-image: url('images/border-image.png') 100 / 40px / 0 stretch;

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 5
    サンプル文字列 6

  3. border-image: url('images/border-image.png') 100 fill / 40px / 0 stretch;

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 5
    サンプル文字列 6

  4. border-image: url('images/border-image.png') 100 / 40px / 0 round;

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 5
    サンプル文字列 6

  5. border-image: url('images/border-image.png') 100 fill / 40px / 0 round;

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 5
    サンプル文字列 6

  6. border-image: url('images/border-image.png') 100 / 20px / 0 round;

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 5
    サンプル文字列 6

  7. border-image: url('images/border-image.png') 100 / 40px / 20px round;

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 5
    サンプル文字列 6

  8. border-image: linear-gradient(45deg, red, lime, blue) 40;

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 5
    サンプル文字列 6

  9. border-image: repeating-linear-gradient(45deg, red, lime, blue 40px) 40;

    サンプル文字列 1
    サンプル文字列 2
    サンプル文字列 3
    サンプル文字列 5
    サンプル文字列 6

L5.3.12 border-radius プロパティ(ボーダーの丸み)初心者向け

border-radius: コーナーの角丸値;

ボックスの 4 つのコーナーの角丸を指定します。

コーナーの角丸値は、楕円の半径値を「左上の水平方向」・「右上の水平方向」・「右下の水平方向」・「左下の水平方向」・「/」・「左上の垂直方向」・「右上の垂直方向」・「右下の垂直方向」・「左下の垂直方向」の順でスペースで区切って指定します。楕円の半径値は、ボーダーの外側の輪郭になります。スラッシュ(/)以降を省略した場合は水平方向と垂直方向が同じ値であると解釈されます。

それぞれのコーナーの値も省略することができ以下のルールに従って解釈されます。

  • 「左下」が省略された場合は「右上」と同じ。
  • 「右下」が省略された場合は「左上」と同じ。
  • 「右上」が省略された場合は「左上」と同じ。

半径は、長さかパーセンテージで指定することができ、パーセンテージで指定する場合はボーダーボックスの幅と高さに対する楕円半径をパーセンテージで指定します。

border-top-left-radius/border-top-right-radius/border-bottom-right-radius/border-bottom-left-radius プロパティを指定して各角を個別に指定することも可能です。border-radiusプロパティは、各角を一括して指定(ショートハンド)します。

使用上の注意事項

  • 初期値は、0 です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

指定方法は、以下の例を参考にしてください。

  1. 四つ角を同じ値に指定する場合:border-radius: 150px;

    border-radiusの例2

  2. 四つ角を別々の値に指定する場合:border-radius: 40px 80px 80px 160px / 40px 80px 40px 80px;

    border-radiusの例1

L5.4 パディング系プロパティ

L5.4.1 padding-top/-bottom/-left/-right プロパティ(パディング上下左右)初心者向け


padding-top: 上のパディング幅;
padding-bottom: 下のパディング幅;
padding-left: 左のパディング幅;
padding-right: 右のパディング幅;

上下左右のパディングの幅を指定します。

使用上の注意事項

  • 初期値は、0 です。
  • すべての要素(但し、一部の table 系要素には不適用)に適用できます。
  • 継承しません。
  • ブラウザの対応状況(padding-top)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(padding-bottom)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(padding-left)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(padding-right)は、caniuse サイトで確認してください。
  • プロパティの詳細情報(padding-top)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(padding-bottom)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(padding-left)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(padding-right)は、mdn web docs サイトで確認してください。

L5.4.2 padding プロパティ(パディング一括指定)初心者向け

padding: パディング幅;

上下左右のパディングの幅を一括して指定(ショートハンド)します。

パディング幅は、複数指定でき指定した個数により対象位置が異なります。

1つ指定
「上下左右」のすべての指定になります。
2つ指定
「上下」と「左右」の順で指定します。
3つ指定
「上」と「左右」と「下」の順で指定します。
4つ指定
「上」と「右」と「下」と「左」の順で指定します。

使用上の注意事項

  • 初期値は、0 です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.5 マージン系プロパティ

L5.5.1 margin-top/-bottom/-left/-right プロパティ(マージン上下左右)初心者向け


margin-top: 上のマージン幅;
margin-bottom: 下のマージン幅;
margin-left: 左のマージン幅;
margin-right: 右のマージン幅;

上下左右のマージンの幅を指定します。マイナスの値も指定できます。

使用上の注意事項

  • 初期値は、0 です。
  • すべての要素(但し、一部の table 系要素には不適用)に適用できます。
  • 継承しません。
  • ブラウザの対応状況(margin-top)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(margin-bottom)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(margin-left)は、caniuse サイトで確認してください。
  • ブラウザの対応状況(margin-right)は、caniuse サイトで確認してください。
  • プロパティの詳細情報(margin-top)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(margin-bottom)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(margin-left)は、mdn web docs サイトで確認してください。
  • プロパティの詳細情報(margin-right)は、mdn web docs サイトで確認してください。

L5.5.2 margin プロパティ(マージン一括措定)初心者向け

margin: マージン幅;

上下左右のマージンの幅を一括して指定(ショートハンド)します。

マージン幅は、複数指定でき指定した個数により対象位置が異なります。

1つ指定
「上下左右」のすべての指定になります。
2つ指定
「上下」と「左右」の順で指定します。
3つ指定
「上」と「左右」と「下」の順で指定します。
4つ指定
「上」と「右」と「下」と「左」の順で指定します。

使用上の注意事項

  • 初期値は、0 です。
  • すべての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

マージン(margin)は、パディング(padding)と違う特殊な特性を持っています。以下にマージンが持っている特性を説明します。

マージンの特殊な特性については「margin プロパティの注意事項」でも説明していますので合わせて確認してください。

(1) マージンの相殺

  • 上部のボックスの下マージンと下部のボックスの上マージンが接する時は大きい方のマージンが採用されます。
  • 例えば、上部のボックスに「margin-bottom: 10px;」が指定されていて、下部のボックスに「margin-top: 30px;」が指定されている場合は大きい方の下部のマージンである「30px」が採用されます。

(2) マイナスマージン

  • マージンにはマイナスの値を指定することができます。
  • マイナスの値を指定すると他のボックスに重なった配置にすることができます。

(3) ボックスの中央配置

  • width プロパティでボックスの幅を指定した状態で左右のマージンを「auto」に設定(例えば「margin: 0 auto;」)するとボックスを親要素の中央に配置することができます。

(4) ボックスの右端配置

  • width プロパティでボックスの幅を指定した状態で左のマージンを「auto」に設定(例えば「margin-left: auto;」)するとボックスを親要素の右端に配置することができます。

L5.6 カラム(段組み)系プロパティ

L5.6.1 column-count プロパティ(カラム数)

column-count: カラム数;

カラム(段組み)のカラム数(段数)を指定します。column-width プロパティが auto 以外の値で一緒に指定された場合は、最大のカラム数を示します。auto を指定すると他のプロパティによって段数が決定されます。カラム数は、columns プロパティ(カラム一括指定)でも指定可能です。

使用上の注意事項

  • 初期値は、auto です。
  • 表ラッパーボックスを除くブロックコンテナーに適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.6.2 column-width プロパティ(カラムの幅)

column-width: カラムの幅;

カラム(段組み)のカラムの幅を指定します。この幅よりも小さくならないように、できるだけ多くのカラムを生成します。但し、コンテナーの幅が指定された幅よりも小さい場合は、指定値よりも小さい単一のカラムになる場合があります。カラムの幅は、columns プロパティ(カラム一括指定)でも指定可能です。

このプロパティは、レスポンシブ Web デザインのカラムを作成するのに有用です。auto を指定すると column-count プロパティなどによって幅が決定されます。

使用上の注意事項

  • 初期値は、auto です。
  • 表ラッパーボックスを除くブロックコンテナーに適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.6.3 columns プロパティ(カラム一括指定)

columns: カラム一括指定;

カラム(段組み)のカラムのカラム数(段数)やカラムの幅を指定します。column-count プロパティや column-width プロパティの指定値を指定します。

使用上の注意事項

  • 初期値は、カラム数と幅ともに auto です。
  • 表ラッパーボックスを除くブロックコンテナーに適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

column-count プロパティの使用例は、以下の通りです。

  1. columns: 1;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  2. columns: 2;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  3. columns: 3;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  4. columns: 4;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  5. columns: auto 100px;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  6. columns: 200px;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  7. columns: 16rem;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

L5.6.4 column-fill プロパティ(カラムのバランス方法)

column-fill: カラムのバランス方法;

カラム(段組み)のレイアウトで要素が複数のカラム(段)に分割される時のバランス方法を指定します。auto を指定するとカラムの余白がなくなった時に次カラムに表示されます。balance を指定すると各カラムに均等に分割されます。

使用上の注意事項

  • 初期値は、balance です。
  • 段組み要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

column-fill プロパティの使用例は、以下の通りです。

  1. column-count: 3; column-fill: auto;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  2. column-count: 3; column-fill: balance;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

L5.6.5 column-gap プロパティ(カラム間のすき間サイズ)

column-gap: カラム間のすき間サイズ;

カラム(段組み)のカラム間(段間)のすき間のサイズを指定します。すき間のサイズは、px や em などの数値、百分率(パーセンテージ)などで指定します。すき間サイズに normal を指定するとブラウザ既定の幅が使用されます。段組みレイアウトの場合は、1em になります。

使用上の注意事項

  • 段組み要素の初期値は、normal です。フレックスコンテナー、グリッドコンテナーの初期値は、0 です。
  • 段組み要素、フレックスコンテナー、グリッドコンテナーに適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

column-gap プロパティの使用例は、以下の通りです。

  1. column-count: 3; column-gap: normal;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  2. column-count: 3; column-gap: 32px;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  3. column-count: 3; column-gap: 4em;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

L5.6.6 column-rule-color プロパティ(カラム間の線の色)

column-rule-color: カラム間の線の色;

カラム(段組み)のカラム間(段間)の線の色を指定します。色に transparent を指定すると透明になります。カラム間の線の色は、column-rule プロパティ(カラム間の線の一括指定)でも指定可能です。

使用上の注意事項

  • 初期値は、currentcolor です。
  • 段組み要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.6.7 column-rule-style プロパティ(カラム間の線のスタイル)

column-rule-style: カラム間の線のスタイル;

カラム(段組み)のカラム間(段間)の線のスタイルを指定します。カラム間の線のスタイルは、column-rule プロパティ(カラム間の線の一括指定)でも指定可能です。

(カラム間の線のスタイル)は、以下の値を指定します。

none
ボーダーは、表示されず太さも 0 になります。他のボーダーと重なる場合は、他の値が優先されます。
hidden
ボーダーは、表示されず太さも 0 になります。他のボーダーと重なる場合は、hidden の値が優先されます。
solid
ボーダーを 1 本線で表示します。
double
ボーダーを 2 本線で表示します。
dashed
ボーダーを破線で表示します。
dotted
ボーダーを点線で表示します。

使用上の注意事項

  • 初期値は、none です。
  • 段組み要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.6.8 column-rule-width プロパティ(カラム間の線の幅)

column-rule-width: カラム間の線の幅;

カラム(段組み)のカラム間(段間)の線の幅を指定します。幅は、値かキーワード(thin、midium、thick)で指定します。カラム間の線の幅は、column-rule プロパティ(カラム間の線の一括指定)でも指定可能です。

使用上の注意事項

  • 初期値は、midium です。
  • 段組み要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

L5.6.9 column-rule プロパティ(カラム間の線の一括指定)

column-rule: カラムすき間の線の一括指定;

カラム(段組み)のカラム間(段間)のすき間の線をスタイル・色・幅を一括して指定(ショートハンド)します。

column-rule-color プロパティ、column-rule-style プロパティ、column-rule-width プロパティの指定値を任意の順序でスペースで区切って指定します。

使用上の注意事項

  • 初期値は、currentcolor none medium です。
  • 段組み要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

column-gap プロパティの使用例は、以下の通りです。

  1. column-count: 3; column-rule: 1px #000 solid;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  2. column-count: 3; column-rule: 4px #000 double;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

  3. column-count: 3; column-rule: 2px #f00 dashed;

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

L5.6.10 column-span プロパティ(カラム間のまたがり)

column-span: カラム間のまたがり;

カラム(段組み)のカラム間(段間)をまたがって配置するか否かを指定します。またがらせない場合は、none(初期値)、またがらせる場合は、all を指定します。複数のカラムにまたがって配置する要素を段抜き要素と呼びます。

使用上の注意事項

  • 初期値は、none です。
  • フロー内のブロックレベル要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

column-span プロパティの使用例は、以下の通りです。

使用例(HTML)


<article class="column-span">
	<h5 style="column-span: カラム間のまたがり;">ももたろう誕生</h5>
	<p class="lf">むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。</p>
	<h5 style="column-span: カラム間のまたがり;">ももたろう成長</h5>
	<p class="lf">「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。</p>
</article>

使用例(CSS)


.column-span {
	padding: 10px;
	margin: 20px 0px 30px 0px;
	column-count: 3;
	border: 1px #333 solid;
}
.column-span h5 {
	padding: 0 10px;
	margin: 0;
	font-size: 1.2em;
	color: #fff;
	background: #00f;
}
  1. column-span: none;
    ももたろう誕生

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

    ももたろう成長

    「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

  2. column-span: all;
    ももたろう誕生

    むかし、むかし、ある所におじいさんとおばあさんが住んでいました。おじいさんは山へしば刈りに、おばあさんは川へ洗濯に行きました。おばあさんが川で洗濯をしていると大きな桃が流れてきました。「なんと大きな桃じゃろう!家に持って帰ろう。」とおばあさんは背中に担いで家に帰り、その桃を切ろうとすると、なんと桃から大きな赤ん坊が出てきたのです。

    ももたろう成長

    「おっとたまげた。」二人は驚いたけれども、とても喜び、「何という名前にしましょうか。」「桃から生まれたから、桃太郎というのはどうだろう。」「それがいい。」桃太郎はあっと言う間に大きくなり、立派な優しい男の子になりました。

L5.7 レイアウト系その他のプロパティ

L5.7.1 box-sizing プロパティ(ボックスサイズ計算)初心者向け

box-sizing: ボックスサイズの算出方法;

ボックスサイズを指定する width プロパティ、height プロパティの算出方法を指定します。

ボックスサイズの算出方法は、以下の値を指定します。

content-box
width プロパティ、height プロパティの指定値にパディングとボーダーの幅と高さを含めない。(コンテンツ領域の幅と高さを指定)
border-box
width プロパティ、height プロパティの指定値にパディングとボーダーの幅と高さを含める。(コンテンツ領域の幅と高さを小さくする)

使用上の注意事項

  • 初期値は、content-box です。
  • width および height を受け付ける全ての要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

指定値と領域の関係

ボックスサイズの算出方法の指定値で対象となる、width(幅)、height(高さ)の範囲は下記の通りです。

box-sizingの例1

L5.7.2 object-fit プロパティ(画像はめ込み)

object-fit: はめ込み方法;

img タグや video タグのコンテンツのはめ込み方法を指定します。

はめ込み方法は、以下の値で指定します。

contain
コンテンツのアスペクト比を維持したまま、要素のコンテンツボックスに収まるように拡大縮小してはめ込みます。
cover
コンテンツのアスペクト比を維持したまま、要素のコンテンツボックス全体を埋めるように拡大縮小してはめ込みます。オブジェクトコンテンツと要素のコンテンツボックスのアスペクト比が合わない場合は、オブジェクトの方が合うように切り取られます。
fill
要素のコンテンツボックス全体を埋めるように拡大縮小してはめ込みます。オブジェクトコンテンツと要素のコンテンツボックスのアスペクト比が合わない場合は、オブジェクトが合うように拡大縮小されます。(初期値)
none
コンテンツは、拡大縮小されません。
scale-down
コンテンツは、none または contain が指定されたかのようにサイズが決められ、オブジェクトの実際のサイズが小さい方を採用します。

object-fit プロパティについては「object-fit プロパティでの画像トリミング」でも説明していますので確認してください。

使用上の注意事項

  • 初期値は、fill です。
  • 置換要素に適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

object-fit プロパティの使用例は、以下の通りです。(使用した画像の元サイズは、256px×128px)

使用例(HTML)


<img class="object-fit" src="object-fit-256x128.jpg">

使用例(CSS)


.object-fit {
	width: 200px;
	height: 200px;
	border: 1px #333 solid;
	object-fit: はめ込み方法;
}
  1. object-fit: contain;

    object-fit

  2. object-fit: cover;

    object-fit

  3. object-fit: fill;

    object-fit

  4. object-fit: none;

    object-fit

  5. object-fit: scale-down;

    object-fit

L5.7.3 object-position プロパティ(画像の配置位置指定)

object-position: 横方向配置位置 縦方向配置位置;

iframe タグ、img タグ、video タグのコンテンツの配置位置を指定します。

配置位置は、以下の値で指定します。初期値は、「50% 50%」で、指定は、片方を省略することも可能です。

横方向配置位置
横方向の配置位置を以下の値で指定します。
  • left、right、center
  • left、right 数値(単位付き)
  • 数値(単位付き)
縦方向配置位置
縦方向の配置位置を以下の値で指定します。
  • top、bottom、center
  • top、bottom 数値(単位付き)
  • 数値(単位付き)

使用上の注意事項

  • 初期値は、50% 50% です。
  • 置換要素に適用できます。
  • 継承します。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

使用例

object-position プロパティの使用例は、以下の通りです。(使用した画像の元サイズは、256px×128px)
画像がはみ出した場合は、はみ出した部分は非表示(トリミング)になります。

使用例(HTML)


<img class="object-position" src="object-position-256x128.jpg" alt="object-position">

使用例(CSS)


.object-position {
	width: 300px;
	height: 300px;
	margin-top: 10px;
	border: 1px #333 solid;
	object-fit: none;
	object-position: 画像の配置位置;
}
  1. object-position: 50% 50%;
    object-position
  2. object-position: right;
    object-position
  3. object-position: bottom;
    object-position
  4. object-position: 80% 20%;
    object-position
  5. object-position: right 80% bottom 20%;
    object-position
  6. object-position: 100px 200px;
    object-position

L5.7.4 scroll-behavior プロパティ(スクロールの振る舞い)

scroll-behavior: スクロールの振る舞い;

ナビゲーションなどのスクロール動作が発生した時の振る舞い方法を指定します。スクロールの振る舞いに auto を指定すると瞬時にスクロールを実施し、smooth を指定すると時間をかけてスクロールを実施します。

ルート要素に指定した場合は、ビューポートに適用されます。body 要素に指定された場合は、ビューポートに適用されません。

使用上の注意事項

  • 初期値は、auto です。
  • スクロールするボックスに適用できます。
  • 継承しません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • プロパティの詳細情報は、mdn web docs サイトで確認してください。

ロケット本体
PAGE
TOP
ロケット炎