プロパティ border-image-source

プロパティ border-image-source は 境界線の画像を指定します。詳細については、 プロパティ border-image を参照してください。

構文

cssセレクタ {
  border-image-source: url(画像へのパス);
}

例

プロパティ border-image-source は border-image-slice と一緒に指定する必要があります:

html<div id="elem"></div>
css#elem {
  border-image-source: url("image.png");
  border-image-slice: 26;
  border-style: solid;
  border-width: 26px;
  width: 200px;
  height: 200px;
  background: green;
  margin: 0 auto;
}

Результат:

例

プロパティ border-image-slice が 指定されていない場合、画像全体が角に適用されます (border-image-slice のデフォルト値は 100% のため):

html<div id="elem"></div>
css#elem {
  border-image-source: url("image.png");
  border-style: solid;
  border-width: 26px;
  width: 200px;
  height: 200px;
  background: green;
  margin: 0 auto;
}

Результат:

例

画像の代わりに 線形グラデーション を指定することもできます:

html<div id="elem"></div>
css#elem {
  border-image-source: linear-gradient(to bottom, red, blue);
  border-image-slice: 30;
  border-width: 30px;
  border-style: solid;
  background: green;
  height: 200px;
  width: 200px;
  margin: 0 auto;
}

Результат:

例

プロパティ border-image-slice が 指定されていない場合、グラデーションは角に適用されます (border-image-slice のデフォルト値は 100% のため):

html<div id="elem"></div>
css#elem {
  border-image-source: linear-gradient(to bottom, red, blue);
  border-width: 30px;
  border-style: solid;
  background: green;
  height: 200px;
  width: 200px;
  margin: 0 auto;
}

Результат:

例

border-radius プロパティを指定しても、残念ながら境界線は丸くなりません (グラデーションの場合も同様です)。ただし、 それなりに興味深い効果が得られます:

html<div id="elem"></div>
css#elem {
  border-radius: 100px;
  border-image-source: url("image.png");
  border-image-slice: 26;
  border-style: solid;
  border-width: 26px;
  width: 200px;
  height: 200px;
  background: green;
  margin: 0 auto;
}

Результат:

関連項目

  • プロパティ border-image,
    これは境界線画像の一括指定プロパティです
  • プロパティ border-image-slice,
    これは境界線のための画像の分割を指定します
  • プロパティ border-image-repeat,
    これは境界線のための画像の繰り返しを指定します
  • プロパティ border-image-width,
    これは境界線のための画像のサイズを指定します
  • プロパティ border-image-outset,
    これは境界線のための画像のオフセットを指定します