境界線(ボーダー)を設定するショートハンド

CSS - border

概要

CSSプロパティ「border」は、境界線(ボーダー)の太さ(border-width)、スタイル(border-style)、色(border-color)を、要素の4辺すべてをまとめて指定するショートハンドプロパティです。4辺をそれぞれ指定する場合は border-top, border-bottom, border-left, border-right プロパティを使用します。

<div class="border">3つの値を指定したボーダー要素</div>
<style>
  .border {
    border: 1px solid #000;
  }
</style>

また 「border」 プロパティの種類として他に、ボーダー内に背景を指定する border-image がありますが、こちらのみ、このショートハンド内に記述することはできません。

値の指定方法

順番は順不同でいれることができます。もし、指定をしなかった場合はそのプロパティの初期値が入ります。またその中の「スタイル」は、指定をしないと初期値が「none」なので、表示がされませんので気をつけましょう。

{ border: 値 スタイル 色 }

値について

指定できる値の種類です。

説明
value単位はpx, emなどが可能です。マイナス値は入れられません
keywordthin, medium, thickが入ります

スタイルについて

指定できるスタイルは以下の通りです。それぞれの表示は border-style で詳しく解説しています。

説明
noneボーダーは表示されません
solid一本線のボーダーが表示されます
dotted1列にならんだドット模様のボーダーが表示されます
dashed破線のボーダーが表示されます
double二本線のボーダーが表示されます
groove立体的で窪んだ線が表示されます
ridge 立体的で隆起した線が表示されます
insetgrooveと似てますが立体的で窪んだ線が表示されます
outsetridgeと似てますが、立体的で隆起した線が表示されます

色について

指定できる色の種類です。

説明
color 色を指定します. #000000やrgb(0,0,0)でも指定できます

プロパティの種類について

「border」 プロパティは、4辺それぞれに異なった値をいれることができませんが、細分化したプロパティを使用することによって、値を変更することができます(指定可のみ)。それぞれのプロパティをまとめた一覧になりますので確認してみてください。

プロパティ名4辺一括で指定される内容細分化プロパティ名
borderボーダーの太さ、スタイル、色を指定できる4辺指定可。border-top、border-bottom、border-left、border-right
border-width太さを指定できる4辺指定可。border-top-width、border-bottom-width、border-left-width、border-right-width
border-styleスタイルを指定できる4辺指定可。border-top-style、border-bottom-style、border-left-style、border-right-style
border-color色を指定できる4辺指定可。border-top-color、border-bottom-color、border-left-color、border-right-color
border-image背景を指定できる4辺指定不可。border-image-source、border-image-slice、border-image-width、border-image-outset、border-image-repeat

実用における注意点

このプロパティで値を指定した後に、それぞれのCSSプロパティ border-width , border-style , border-color を指定し直すと値が上書きされますので、注意が必要です。

<div class="border">3つの値を指定したボーダー要素</div>
<div class="border border-width border-style border-color">3つの値を上書き指定したボーダー要素</div>
<style>
div {
  margin-bottom: 10px;
}
.border {
  border: 1px solid #000;
}
.border-width {
  border-width: 10px;
}
.border-style {
  border-style: double;
}
.border-color {
  border-color: #cdc;
}
</style>

使用例

上記のような上書きされる特徴がありながらも、その性質を利用して共通の値は 「border」 プロパティでまとめて指定しておいて、一部値を別途指定するといった方法もテクニックの一つとしてあります。この例では色を別途指定しています。

<div class="border">共通の値を指定したボーダー要素</div>
<div class="border border-color-1">色だけ上書き指定したボーダー要素</div>
<div class="border border-color-2">色だけ上書き指定したボーダー要素</div>
<div class="border border-color-3">色だけ上書き指定したボーダー要素</div>
<style>
  div {
    margin-bottom: 10px;
  }
  .border {
    border: 5px solid;
  }
  .border-color-1 {
    border-color: #cdc;
  }
  .border-color-2 {
    border-color: #b0e0e6;
  }
  .border-color-3 {
    border-color: #e6b6b0;
  }
</style>

仕様書

関連CSSプロパティ