Image Dimensions
ビルド時にディスクのメタデータから画像に width/height 属性を付与します。
imageDimensions 機能は、ビルド時に画像ファイルのヘッダーを読み取り、ローカルの <img> 要素に width と height 属性を付与します。画像の読み込み前にブラウザが領域を確保できるようにすることで、Cumulative Layout Shift(CLS)を防ぎます。
zfb next.38 から機能するようになりました
zfb 0.1.0-next.35 までは、この機能は public ディレクトリの絶対パスに対して no-op でした — を渡す必要があります。
export default defineConfig({
markdown: {
features: {
imageDimensions: {},
},
},
});動作
各画像要素に対して、この機能は次のように動作します。
すでに
widthまたはheight属性を持つ要素はスキップします。リモート URL(
http:、/ / https:、/ / /)と/ data:URL は無視します。srcをディスク上の絶対ファイルパスに解決します。画像ファイルのヘッダーのみを読み取り、解決した寸法を付与します。
ファイルが見つからない、または認識できない場合はビルド警告を出力します。
対応フォーマット: PNG、JPEG、GIF、WebP、AVIF。
パス解決
| パス形式 | 解決の基準 |
|---|---|
絶対パス(/) | public ディレクトリ |
相対パス(.) | Markdown ファイルのディレクトリ |
リモート / data: | 警告なしでスキップ |
オプション
| オプション | デフォルト | 説明 |
|---|---|---|
skipRemote | true | false の場合、リモート画像をスキップせずビルド時にプローブします。 |
構文
標準の Markdown 画像だけで十分です — 特別な構文は不要です。
400×300 の PNG に対する出力は次のようになります。
<img src="/img/hero.png" alt="Hero image" width="400" height="300" />