--- title: border slug: Web/CSS/border tags: - CSS - CSS Borders - CSS Shorthand property - Layout - Reference - 'recipe:css-shorthand-property' translation_of: Web/CSS/border ---
border は CSS の 一括指定プロパティで、要素の境界を設定します。これは {{cssxref("border-width")}}, {{cssxref("border-style")}}, {{cssxref("border-color")}} の値を設定します。
このプロパティは以下の CSS プロパティの一括指定です。
/* 種類 */ border: solid; /* 幅 | 種類 */ border: 2px dotted; /* 種類 | 色 */ border: outset #f33; /* 幅 | 種類 | 色 */ border: medium dashed green; /* グローバル値 */ border: inherit; border: initial; border: unset;
border プロパティは、以下に挙げる値の1~3つを使用して指定します。値の順序は関係ありません。
注: style が指定されていない場合は境界線は表示されません。 style の既定値が none だからです。
<line-width>medium になります。 {{cssxref("border-width")}} を参照してください。<line-style>none になります。 {{cssxref("border-style")}} を参照してください。他の一括指定プロパティと同様、省略された部分値は初期値に設定されます。重要なことですが、 border は {{cssxref("border-image")}} のカスタム値を指定することができず、初期値、つまり none に設定します。
border による一括指定は、四辺をすべて同じに設定したい場合に特に便利です。しかし、それぞれが異なる場合は、それぞれの辺に異なる値を設定できる個別指定の {{cssxref("border-width")}}、 {{cssxref("border-style")}}、 {{cssxref("border-color")}} プロパティを使用してください。他に、一度に一つの境界線を対象とした、物理的 ({{cssxref("border-top")}} など) や論理的 ({{cssxref("border-block-start")}} など) な境界線プロパティを使用することもできます。
境界線と輪郭線はよく似ています。しかし、輪郭線は以下の点で境界線とは異なります。
{{cssinfo}}
<div>I have a border, an outline, AND a box shadow! Amazing, isn't it?</div>
div {
border: 0.5rem outset pink;
outline: 0.5rem solid khaki;
box-shadow: 0 0 0 2rem skyblue;
border-radius: 12px;
font: bold 1rem sans-serif;
margin: 2rem;
padding: 1rem;
outline-offset: 0.5rem;
}
{{EmbedLiveSample('Setting_a_pink_outset_border')}}
| 仕様書 | 状態 | 備考 |
|---|---|---|
| {{SpecName('CSS3 Backgrounds', '#the-border-shorthands', 'border')}} | {{Spec2('CSS3 Backgrounds')}} | transparent の特別扱いを廃止し、有効な {{cssxref("<color>")}} とした。実質的な影響はない。一括指定を使用してカスタム値を設定することはできないため、 border は {{cssxref("border-image")}} を初期値 (none) にリセットするようになった。 |
| {{SpecName('CSS2.1', 'box.html#border-shorthand-properties', 'border')}} | {{Spec2('CSS2.1')}} | inherit キーワードを受け付けるようになった。また、transparent を有効な色として受けつけるようになった。 |
| {{SpecName('CSS1', '#border', 'border')}} | {{Spec2('CSS1')}} | 初回定義 |
{{Compat("css.properties.border")}}