JavaScriptで境界線画像がボーダーボックスの外側に広がる量を設定する方法
概要
境界線画像(border image)が要素のボーダーボックスの外側へはみ出す量を設定するには、border-image-outset プロパティを使用します。このプロパティで「外側のエッジ(outside edges)」の値を指定することで、境界線画像をボーダーボックスから外側へどれだけオフセットさせるかを制御できます。
ポイント
- 値は1〜4個指定でき、それぞれ上・右・下・左の辺に対応します。
- 値を1つだけ指定した場合は、4辺すべてに同じ値が適用されます。
- JavaScriptからは
element.style.borderImageOutsetに値を代入することで動的に変更できます。
サンプルコード
以下のコードを実行して、JavaScriptで境界線画像がボーダーボックスを超えて広がる量を設定する方法を確認してみましょう。
<!DOCTYPE html>
<html>
<head>
<style>
div{
background-color:gray;
border: 40px solid;
border-image: url('https://www.tutorialspoint.com/images/neo4j.png');
border-image-slice: 50;
border-image-width: 20px;
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 Border Oustside Edges</button>
<script>
function display(){
document.getElementById("box").style.borderImageOutset = "5px 10px 20px 15px";
}
</script>
</body>
</html>コードの解説
上記の例では、初期状態で border-image-outset: 0; が設定されているため、境界線画像はボーダーボックスの内側に収まっています。
しかし、「Set Border Oustside Edges」ボタンをクリックすると display() 関数が実行され、style.borderImageOutset に "5px 10px 20px 15px" が代入されます。
その結果、境界線画像は以下のように各辺の外側へ広がります。
- 上:5px
- 右:10px
- 下:20px
- 左:15px
このように、borderImageOutset を使えば、ユーザーの操作に応じて境界線画像のはみ出し量を動的に変更できます。
-
JavaScriptで左ボーダーの色を設定する方法
JavaScriptで要素の左ボーダー(左境界線)の色を設定するには、borderLeftColor プロパティを使用します。このプロパティに対して、ボーダーに適用したい色を指定するだけで、簡単に変更できます。基本的な使い方次のように、対象要素の style.borderLeftColor に任意の色(カラーネームやカラーコード)を代入します。document.getElementById(box).style.borderLeftColor = green;サンプルコード実際に動作を確認できるサンプルを用意しました。ボタンをクリックすると、左ボーダーの色が緑色に変化します。以下のコードをその
-
JavaScriptでリスト項目のマーカーに画像を設定する方法
リスト項目(li要素)のマーカーに画像を設定したい場合は、JavaScriptの listStyleImage プロパティを使用します。このプロパティはCSSの list-style-image に対応しており、通常の黒丸(・)や白丸の代わりに、好きな画像を箇条書きの記号として表示できます。 使い方のポイント listStyleImage プロパティには、url(画像のURL) の形式で値を指定します。対象となるのは ul や ol などのリスト要素です。 サンプルコード 以下のコードでは、ボタンをクリックすると listStyleImage プロパティによって、順序付きリストのマーカーが指定