JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで境界線に使用する画像を設定する方法

JavaScriptで境界線に使用する画像を設定する方法

JavaScriptで要素の境界線(ボーダー)として画像を設定するには、borderImageSourceプロパティを使用します。このプロパティに画像のURLを指定することで、通常の単色ボーダーや破線ボーダーの代わりに、任意の画像を境界線として表示できます。

border-image関連のスタイルはCSSでも設定できますが、ユーザーの操作に応じて動的に画像を切り替えたい場合は、element.style.borderImageSourceのようにJavaScriptからスタイルオブジェクト経由で値を変更します。

サンプルコード

以下のコードを実行すると、borderImageSourceプロパティを使って画像を境界線として設定する方法を確認できます。ボタンをクリックすると、境界線に使用される画像が別の画像へと動的に切り替わります。

<!DOCTYPE html>
<html>
   <head>
      <style>
         div {
            background-color:blue;
            border: 40px dashed;
            border-image: url('https://www.tutorialspoint.com/images/neo4j.png');
            border-image-slice: 50;
            border-image-width: 1 1 1 1;
            border-image-outset: 0;
            border-image-repeat: round;
         }
      </style>
   </head>
   <body>
      <div id="box">
         <p>Demo Text!</p>
      </div>
      <button onclick="display()">Set Inward Offsets</button>
      <script>
         function display() {
            document.getElementById("box").style.borderImageSource = "url('https://www.tutorialspoint.com/images/bugzilla.png')";
         }
      </script>
   </body>
</html>

コードの解説

  • border: 境界線の幅(40px)とスタイル(dashed)を指定します。border-imageが適用される際の土台となります。
  • border-image: 境界線に使用する画像をURLで指定します。
  • border-image-slice: 画像を内側へどの位置でスライス(分割)するかを数値またはパーセントで指定します。
  • border-image-width: 境界線画像の表示幅を指定します。
  • border-image-outset: 境界線画像をボーダーボックスの外側へどれだけはみ出して描画するかを指定します。
  • border-image-repeat: スライスした画像の繰り返し方法を指定します。roundは領域のサイズに合わせてタイル状に敷き詰めます。

ボタン「Set Inward Offsets」をクリックすると、display()関数が呼び出されます。この関数内では、document.getElementById()でidが「box」のdiv要素を取得し、そのstyle.borderImageSourceに新しい画像のURLを代入しています。これにより、ページを再読み込みすることなく、境界線の画像だけを動的に変更できます。

  1. JavaScriptで画像の明るさとコントラストを設定する方法

    JavaScriptで画像の明るさを変更するにはCSSフィルターの brightness プロパティを使用し、コントラストを変更するには contrast プロパティを使用します。これらは要素の style.filter に値を設定することで簡単に適用できます。基本的な使い方明るさは brightness(50%) のように指定し、50%なら元の画像より暗く、100%以上を指定すると明るくなります。同様に、コントラストは contrast(50%) のように指定でき、数値が大きいほどコントラストが強調されます。両方を同時に適用したい場合は、以下のようにスペースで区切って1つのfilterプロパ

  2. JavaScriptでリスト項目のマーカーに画像を設定する方法

    リスト項目(li要素)のマーカーに画像を設定したい場合は、JavaScriptの listStyleImage プロパティを使用します。このプロパティはCSSの list-style-image に対応しており、通常の黒丸(・)や白丸の代わりに、好きな画像を箇条書きの記号として表示できます。 使い方のポイント listStyleImage プロパティには、url(画像のURL) の形式で値を指定します。対象となるのは ul や ol などのリスト要素です。 サンプルコード 以下のコードでは、ボタンをクリックすると listStyleImage プロパティによって、順序付きリストのマーカーが指定