Webページにサイズの大きい画像を配置した際、画像の読み込みに時間がかかってしまう場合やまったく読み込まれない場合があります。
Bulmaにはこのようなエラーが発生した時に、画像読み込みの失敗でレイアウトが崩れないようにするためのクラスが用意されています。
今回は、画像を配置する際に使用するimageクラスについて紹介します。
レスポンシブ画像のコンテナを作成するimageクラス
imageクラスを使用すると、指定したサイズの画像に拡大、または縮小して表示することができます。
画像を調整できる正方形のサイズ
Bulmaには画像を正方形に調整するためのサイズ指定クラスが用意されています。
サイズには以下の7種類があります。
- 16 x 16px
- 24 x 24px
- 32 x 32px
- 48 x 48px
- 64 x 64px
- 96 x 96px
- 128 x 128px
それぞれのサイズを指定する際に使用するクラスは以下の通りです。
サイズ | クラス |
---|---|
16 x 16px | is-16×16 |
24 x 24px | is-24×24 |
32 x 32px | is-32×32 |
48 x 48px | is-48×48 |
64 x 64px | is-64×64 |
96 x 96px | is-96×96 |
128 x 128px | is-128×128 |
例えば、128 x 128pxの領域に画像を表示したい場合のHTMLは、次のように記述します。
1 2 3 |
<figure class="image is-128x128"> <img src="example.png"> </figure> |
img要素を配置する親の要素にimageクラスとサイズを表すクラス(上記の例では「image is-128×128」)を指定します。
正方形のサイズに画像を調整してくれるこれらのクラスは、アバターの表示を行う場合などに便利です。
画像の表示例
ここではimageクラスを使用した画像の表示例を示します。
以下の画像
を96 x 96pxのサイズで表示すると
1 2 3 |
<figure class="image is-96x96"> <img src="image/sample01.jpg"> </figure> |
のように、96 x 96pxのサイズに収まるように縮小して表示されます。
次に、以下の画像
を128 x 128pxのサイズで表示すると
1 2 3 |
<figure class="image is-128x128"> <img src="image/sample02.jpg"> </figure> |
のように、128 x 128pxのサイズまで拡大して表示されます。
円形の画像を表示するクラス
imageクラスを使用した画像の表示では、画像を丸く切り抜いて表示させるためのクラスが用意されています。
画像を丸くする際は、画像を表示するimg要素のclass属性にis-roundedクラスを指定します。
1 2 3 |
<figure class="image is-128x128"> <img class="is-rounded" src="avatar.png"> </figure> |
例えば以下の画像
を128 x 128pxのサイズで丸く切り抜くと
のように表示されます。
比率での画像サイズの調整
正確な寸法(サイズ)がわからないが比率が分かっている場合は、比率を表すクラスで指定することもできます。
比率によるクラスの指定には、以下の16種類があります。
比率 | クラス |
---|---|
正方形(1 : 1) | image is-square |
1 : 1 | image is-1by1 |
5 : 4 | image is-5by4 |
4 : 3 | image is-4by3 |
3 : 2 | image is-3by2 |
5 : 3 | image is-5by3 |
16 : 9 | image is-16by9 |
2 : 1 | image is-2by1 |
3 : 1 | image is-3by1 |
4 : 5 | image is-4by5 |
3 : 4 | image is-3by4 |
2 : 3 | image is-2by3 |
3 : 5 | image is-3by5 |
9 : 16 | image is-9by16 |
1 : 2 | image is-1by2 |
1 : 3 | image is-1by3 |
比率による画像のサイズ調整は、横幅 128px を基準に調整されます。
サイズごとの画像の表示イメージは、Bulma Image Responsive images with ratiosに記載されています。