The image element is a container that maintains aspect ratios and provides responsive image sizing with fixed dimensions.
Basic Usage
<figure class="image is-128x128">
<img src="https://bulma.io/assets/images/placeholders/128x128.png">
</figure>
Fixed Square Dimensions
Images with fixed width and height:
<figure class="image is-16x16">
<img src="https://bulma.io/assets/images/placeholders/16x16.png">
</figure>
<figure class="image is-24x24">
<img src="https://bulma.io/assets/images/placeholders/24x24.png">
</figure>
<figure class="image is-32x32">
<img src="https://bulma.io/assets/images/placeholders/32x32.png">
</figure>
<figure class="image is-48x48">
<img src="https://bulma.io/assets/images/placeholders/48x48.png">
</figure>
<figure class="image is-64x64">
<img src="https://bulma.io/assets/images/placeholders/64x64.png">
</figure>
<figure class="image is-96x96">
<img src="https://bulma.io/assets/images/placeholders/96x96.png">
</figure>
<figure class="image is-128x128">
<img src="https://bulma.io/assets/images/placeholders/128x128.png">
</figure>
Available sizes: 16x16, 24x24, 32x32, 48x48, 64x64, 96x96, 128x128
Responsive Images with Ratios
Maintain aspect ratios while being responsive:
<figure class="image is-square">
<img src="https://bulma.io/assets/images/placeholders/480x480.png">
</figure>
Common Ratios
<figure class="image is-1by1">
<img src="https://bulma.io/assets/images/placeholders/480x480.png">
</figure>
<figure class="image is-5by4">
<img src="https://bulma.io/assets/images/placeholders/600x480.png">
</figure>
<figure class="image is-4by3">
<img src="https://bulma.io/assets/images/placeholders/640x480.png">
</figure>
<figure class="image is-3by2">
<img src="https://bulma.io/assets/images/placeholders/480x320.png">
</figure>
<figure class="image is-5by3">
<img src="https://bulma.io/assets/images/placeholders/800x480.png">
</figure>
<figure class="image is-16by9">
<img src="https://bulma.io/assets/images/placeholders/640x360.png">
</figure>
<figure class="image is-2by1">
<img src="https://bulma.io/assets/images/placeholders/640x320.png">
</figure>
<figure class="image is-3by1">
<img src="https://bulma.io/assets/images/placeholders/720x240.png">
</figure>
Portrait Ratios
<figure class="image is-4by5">
<img src="https://bulma.io/assets/images/placeholders/480x600.png">
</figure>
<figure class="image is-3by4">
<img src="https://bulma.io/assets/images/placeholders/480x640.png">
</figure>
<figure class="image is-2by3">
<img src="https://bulma.io/assets/images/placeholders/320x480.png">
</figure>
<figure class="image is-3by5">
<img src="https://bulma.io/assets/images/placeholders/480x800.png">
</figure>
<figure class="image is-9by16">
<img src="https://bulma.io/assets/images/placeholders/360x640.png">
</figure>
<figure class="image is-1by2">
<img src="https://bulma.io/assets/images/placeholders/320x640.png">
</figure>
<figure class="image is-1by3">
<img src="https://bulma.io/assets/images/placeholders/240x720.png">
</figure>
Rounded Images
<figure class="image is-128x128">
<img class="is-rounded" src="https://bulma.io/assets/images/placeholders/128x128.png">
</figure>
The is-rounded class goes on the <img> element, not the container.
Full Width Images
<figure class="image is-fullwidth">
<img src="https://bulma.io/assets/images/placeholders/1280x960.png">
</figure>
Responsive Embeds
Use with iframes for embedded content:
<figure class="image is-16by9">
<iframe class="has-ratio" width="640" height="360" src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>
</figure>
Other Embed Ratios
<!-- 21:9 Ultrawide -->
<figure class="image is-21by9">
<iframe class="has-ratio" src="..."></iframe>
</figure>
<!-- 4:3 Traditional -->
<figure class="image is-4by3">
<iframe class="has-ratio" src="..."></iframe>
</figure>
<!-- 1:1 Square -->
<figure class="image is-square">
<iframe class="has-ratio" src="..."></iframe>
</figure>
Practical Examples
Avatar Image
<figure class="image is-48x48">
<img class="is-rounded" src="/avatar.jpg" alt="User avatar">
</figure>
Thumbnail Grid
<div class="columns is-multiline">
<div class="column is-3">
<figure class="image is-square">
<img src="/photo1.jpg">
</figure>
</div>
<div class="column is-3">
<figure class="image is-square">
<img src="/photo2.jpg">
</figure>
</div>
<div class="column is-3">
<figure class="image is-square">
<img src="/photo3.jpg">
</figure>
</div>
<div class="column is-3">
<figure class="image is-square">
<img src="/photo4.jpg">
</figure>
</div>
</div>
Responsive Card Image
<div class="card">
<div class="card-image">
<figure class="image is-4by3">
<img src="/card-image.jpg" alt="Card image">
</figure>
</div>
<div class="card-content">
<p class="title is-4">Card Title</p>
<p>Card content goes here.</p>
</div>
</div>
How Aspect Ratios Work
The image container uses the aspect-ratio CSS property to maintain proportions:
.image.is-16by9 {
aspect-ratio: 16 / 9;
}
.image.is-4by3 {
aspect-ratio: 4 / 3;
}
The image inside is positioned absolutely and fills the container:
.image.is-16by9 img {
height: 100%;
width: 100%;
position: absolute;
top: 0;
left: 0;
}
Use aspect ratio classes (like is-16by9) for responsive images that maintain their proportions, and fixed size classes (like is-128x128) for icons and avatars.
For aspect ratio containers to work properly, the container must have a defined width. They work great within columns and flex containers.