CSSのborder-image-outsetで画像の枠線を要素の外側に広げ、デザインを強調する方法をわかりやすく解説

スポンサーリンク

CSSのborder-image-outsetプロパティは、枠線に画像を使用する際に、その枠線をどの程度要素の外側に表示するかを制御します。border-imageプロパティと連携して使用し、画像の枠線が要素からどれだけ外側にはみ出すかを指定します。以下に、主要な値とその効果をリストで説明し、詳細な表示例を紹介します。

スポンサーリンク

border-image-outsetプロパティの値とその効果の一覧

  • border-image-outset: 10px; – 枠線を10px外側に表示します。
  • border-image-outset: 20px; – 枠線を20px外側に表示します。
  • border-image-outset: 30px; – 枠線を30px外側に表示します。

注意点や関連情報

border-image-outsetプロパティは、枠線が要素の外側にはみ出す度合いを制御します。値にはピクセルや数値を指定でき、数値が大きいほど枠線が外側にはみ出します。このプロパティを使用する際は、要素のサイズや周囲のレイアウトに配慮する必要があります。枠線が外側にはみ出すため、要素のデザインに大きな影響を与える可能性があります。

border-image-outsetが効かない理由として考えられること

border-image-sourceが設定されていない

border-image-outsetは、画像をボーダーとして使用する際にその画像が要素からどれだけ外側にはみ出すかを指定しますが、border-image-sourceが設定されていないとこのプロパティは機能しません。
対策border-image-sourceに有効な画像を設定し、ボーダーとして画像が表示されていることを確認します。

border-styleが設定されていない

border-image-outsetborder-styleが適切に設定されていないと機能しません。デフォルトではnoneになっているため、ボーダーが表示されず、border-image-outsetの効果も無視されます。
対策border-stylesoliddasheddottedなど、適切なスタイルに設定します。

共通するCSSコード

.css-sample-container {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 300px;
      height: 200px;
      background-color: #f9f9f9;
      padding: 20px;
      margin: 20px auto;
      text-align: center;
    }

    .css-sample-item {
      width: 200px;
      padding: 10px;
      background-color: #cce7ff;
    }
  

border-image-outset: 10px;

枠線が10px外側にはみ出します。

HTMLコード

<div class="css-sample-container css-sample-border-outset-10">
      <div class="css-sample-item">Outset 10px</div>
    </div>
  

CSSコード

.css-sample-border-outset-10 {
      border: 10px solid transparent;
      border-image: url("https://programming-cafe.com/wp-content/uploads/colorphoto02.jpg") 30 stretch;
      border-image-outset: 10px;
    }
  

表示結果

Outset 10px

border-image-outset: 20px;

枠線が20px外側にはみ出します。

HTMLコード

<div class="css-sample-container css-sample-border-outset-20">
      <div class="css-sample-item">Outset 20px</div>
    </div>
  

CSSコード

.css-sample-border-outset-20 {
      border: 10px solid transparent;
      border-image: url("https://programming-cafe.com/wp-content/uploads/colorphoto02.jpg") 30 stretch;
      border-image-outset: 20px;
    }
  

表示結果

Outset 20px

border-image-outset: 30px;

枠線が30px外側にはみ出します。

HTMLコード

<div class="css-sample-container css-sample-border-outset-30">
      <div class="css-sample-item">Outset 30px</div>
    </div>
  

CSSコード

.css-sample-border-outset-30 {
      border: 10px solid transparent;
      border-image: url("https://programming-cafe.com/wp-content/uploads/colorphoto02.jpg") 30 stretch;
      border-image-outset: 30px;
    }
  

表示結果

Outset 30px

まとめ

  • border-image-outsetプロパティは、枠線をどの程度要素の外側にはみ出すかを制御します。
  • 値にはピクセルや数値を指定でき、数値が大きいほど外側に枠線が広がります。
  • デザインに合わせて、枠線のはみ出し具合を調整することが可能です。