メインコンテンツ
サイドバーの左側に太線が入っていることで、見た目の仕切りとしてわかりやすくなっています。
この記事では「CSS」について、基本の意味と使い方を初心者向けにやさしく説明します。
CSS's border-left-style is a property used to individually specify the "type of line" for the border on the left side of an element.
border-left-styleプロパティは、要素の左側のボーダー線のスタイルを指定するためのものです。border-styleの一部として、ボーダーの線種を細かく制御できます。
ボックスに背景が適用されている状態で、ボーダーの領域全体を塗りつぶさない値(double, dotted, dashed)を指定すると、背景が見えるようになります。
border-left-style には以下のような値を指定することが可能です。これらは border-style 全体で使用される値と同じで、左側用に限定して設定できるものです。
これらの3D系(groove, ridge, inset, outset)は、ブラウザによる描画差が大きく、またボーダーの色や太さによって見え方が大きく変わる点に注意が必要です。
border-left-style は、左側の線種だけを個別に設定するためのプロパティです。他にも左側のボーダーに特化したプロパティがあります。
これらを組み合わせて使用すると、より柔軟にデザインできます。
ショートハンドとの組み合わせ例
CSS
/* 個別プロパティで指定する場合 */
.my-element {
border-left-width: 2px;
border-left-style: dotted;
border-left-color: #ff0000;
}
/* ショートハンド border-left でまとめて指定する場合 */
.my-element {
border-left: 2px dotted #ff0000;
}
ショートハンドでは順序は「太さ → スタイル → 色」が一般的ですが、実際には「スタイル → 色 → 太さ」でもブラウザがある程度認識してくれます。可読性を上げるためにも、慣例的には太さ・スタイル・色の順番で書くことが推奨されています。
border-style は「上下左右」すべてのボーダーに一括してスタイルを指定するプロパティです。具体的には、以下のような指定方法があります。
CSS
/* すべての辺を同じスタイルにする */
border-style: solid;
/* 上・右・下・左の順番で異なるスタイルを指定する */
border-style: dotted dashed solid none;
このようにボーダーの上下左右を個別に設定可能ですが、より細かく制御したい場合は border-left-style のように方向別のプロパティを使用すると便利です。
border-left-style: hidden は、主にテーブルレイアウト時の「ボーダー衝突 (border conflict)」ルールに影響します。
メニューやリスト項目同士を区切るときなどに有効です。
メニュー項目(.nav-item)の左側だけ点線を表示して、border-left-style: dotted; の効果を視覚的にわかりやすくしています。
HTML
<ul>
<li class="nav-item">Home</li>
<li class="nav-item">About</li>
<li class="nav-item">Services</li>
<li class="nav-item">Contact</li>
</ul>
CSS
.nav-item {
list-style-type: none; /* リストマークを消す */
padding-left: 1em; /* テキストの左側にスペース */
border-left-width: 2px; /* ボーダーの太さ */
border-left-style: dotted; /* 点線を指定 */
border-left-color: #666; /* ボーダーの色 */
}
サイドバーのコンテンツをメイン部分とビジュアル的に区分するのに便利です。
サイドバー(.sidebar)の左側だけ太線で表示し、border-left-style: solid; の挙動をわかりやすく示しています。シンプルにページを2カラムに見立て、左側がサイドバー、右側がメインコンテンツになるようにしています。
メインコンテンツ
サイドバーの左側に太線が入っていることで、見た目の仕切りとしてわかりやすくなっています。
HTML
<div class="sidebar">
<h2>サイドバー</h2>
<ul>
<li>メニュー1</li>
<li>メニュー2</li>
<li>メニュー3</li>
</ul>
</div>
<div class="content">
<h2>メインコンテンツ</h2>
<p>サイドバーの左側に太線が入っていることで、見た目の仕切りとしてわかりやすくなっています。</p>
</div>
CSS
/* サイドバーを強調 */
.sidebar {
border-left: 5px solid #666; /* 太めの実線 */
padding-left: 1em; /* テキストを少し右へずらす */
width: 150px; /* 幅を固定 */
min-height: 180px; /* コンテンツ量が少なくても最低の高さを確保 */
float: left; /* 左に寄せて配置 (簡易的なレイアウト) */
}
/* メインコンテンツ部分 */
.content {
margin-left: 180px; /* サイドバーの幅だけ左に余白を取る */
padding: 1em;
}
テーブルセル単位で左ボーダーを付けることで視覚的に分割を行う例です。
テーブルの2列目だけに左ボーダーを適用し、border-left-style として double を設定することで、ほかの列とは異なる線を表示しています。
| 見出し1 | 見出し2 | 見出し3 |
|---|---|---|
| Row1-Col1 | Row1-Col2 | Row1-Col3 |
| Row2-Col1 | Row2-Col2 | Row2-Col3 |
| Row3-Col1 | Row3-Col2 | Row3-Col3 |
HTML
<table>
<tr>
<th>見出し1</th>
<th>見出し2</th>
<th>見出し3</th>
</tr>
<tr>
<td>Row1-Col1</td>
<td>Row1-Col2</td>
<td>Row1-Col3</td>
</tr>
<tr>
<td>Row2-Col1</td>
<td>Row2-Col2</td>
<td>Row2-Col3</td>
</tr>
<tr>
<td>Row3-Col1</td>
<td>Row3-Col2</td>
<td>Row3-Col3</td>
</tr>
</table>
CSS
table {
border-collapse: collapse; /* セルの余白をなくして枠線をくっつける */
margin: 1em auto; /* ページ中央寄せ */
width: 80%;
}
th, td {
border: 1px solid #ccc; /* 通常のセル枠線 */
padding: 0.5em 1em;
text-align: center;
}
/* 2列目だけに左ボーダーを適用 */
th:nth-child(2),
td:nth-child(2) {
border-left: 6px double #888; /* 太めの二重線を指定 */
}
border-left-style は、要素の左側のボーダーのスタイル(線種)を指定するための便利なプロパティです。solid や dotted、dashed などシンプルな線種から、3D風に見せる inset, outset, groove, ridge まで、多彩なバリエーションを選択できます。また、border-left-width や border-left-color と組み合わせることで多彩な表現が可能になります。
実用上はシンプルなデザイン(solid や dotted)がほとんどですが、他の線種や hidden のような特殊な値は、テーブルなど特定のレイアウトを扱うときに役立ちます。バージョンの古いブラウザでもほぼ問題なくサポートされているため、安心して利用できるプロパティといえるでしょう。