神戸学院大学 経営学部 林坂ゼミ

HTML 入門トップページ

« 戻る 次へ »

HTML 入門

スタイルシートでデザインを作ろう

border を使う

次は,ボーダ(枠線)を <div> 要素に設定します.もちろん <h1><p> などにも利用できます. (HTMLのサンプルを見るCSSのサンプルを見る

まず,.box21 から .box29 までのクラスをつけた <div> 要素を9つ配置します.なお,各要素の後ろに <hr> によって区切り線を入れていることに注意してください.現時点ではスタイルを指定していないので,次の通り縦に9つ並んで表示されるはずです.

index.html(抜粋)
<div class="box21">.box21 あいうえお</div><hr>
<div class="box22">.box22 あいうえお</div><hr>
<div class="box23">.box23 あいうえお</div><hr>
<div class="box24">.box24 あいうえお</div><hr>
<div class="box25">.box25 あいうえお</div><hr>
<div class="box26">.box26 あいうえお</div><hr>
<div class="box27">.box27 あいうえお</div><hr>
<div class="box28">.box28 あいうえお</div><hr>
<div class="box29">.box29</div><hr>

ブラウザでの表示結果

.box21 あいうえお

.box22 あいうえお

.box23 あいうえお

.box24 あいうえお

.box25 あいうえお

.box26 あいうえお

.box27 あいうえお

.box28 あいうえお

.box29

.box21 クラスには次のようなスタイルを設定します.ボーダには幅 1px の実線 (solid)で,色に黒 (#000000) を指定しています.なお,div 要素の幅 160px,高さ 48px,背景色 #f0f0f0 は .box29 を除くその他のクラスでも共通しています.(HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box21 {
  border-width: 1px;
  border-style: solid;
  border-color: #000000;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}

ブラウザでの表示結果

.box21 あいうえお

.box22 クラスはボーダを幅 4px の点線で,色はグレーにします.ボーダのスタイルについての詳細はこちらで確認してください. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box22 {
  border-width: 4px;
  border-style: dotted;
  border-color: #a0a0a0;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}

ブラウザでの表示結果

.box22 あいうえお

ボーダの4つの辺でそれぞれ幅を指定することもできます.次のように4つの値を与えますが,これは上を始点に時計回りに,右,下,左の幅を順番に与えていることに注意してください. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box23 {
  border-width: 1px 4px 8px 16px;
  border-style: solid;
  border-color: #a0a0a0;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}

ブラウザでの表示結果

.box23 あいうえお

次の通り,ボーダの幅に2つの値を指定することもできます.この場合は上下と左右の幅を設定することになります.上下が 1px,左右が 8px の枠線になています.(なお,3つの値を与えることもでき,そのときは,上,左右,下の順で指定することになります.) (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box24 {
  border-width: 1px 8px;
  border-style: solid;
  border-color: #a0a0a0;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}

ブラウザでの表示結果

.box24 あいうえお

ここまでは border-widthborder-styleborder-color の3つのプロパティを使ってボーダのスタイルを設定しました.しかし,border プロパティでこれらの3つをまとめて指定することも可能です.次の通り,「幅」「線種」「色」をまとめて指定した結果も確認してください.なお,border プロパティに1個や2個の値を渡すことも可能です.詳細はここを確認してください. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box25 {
  border: 8px solid blue;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}

ブラウザでの表示結果

.box25 あいうえお

ボーダの角を丸めるには border-radius プロパティを利用します.たとえば 8px のサイズで丸めると次のようになります. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box26 {
  border: 1px solid #404040;
  border-radius: 8px;
  width: 160px;
  height: 48px;
  background-color: #a0a0a0;
}

ブラウザでの表示結果

.box26 あいうえお

丸めるサイズを 16px にして,ボーダをなくすと次のような結果になります. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box27 {
  border-radius: 16px;
  width: 160px;
  height: 48px;
  background-color: #a0a0a0;
}

ブラウザでの表示結果

.box27 あいうえお

<div> の高さが 48px であるので,丸めるサイズをその半分である 24px にすると左右が半円になります. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box28 {
  border-radius: 24px;
  width: 160px;
  height: 48px;
  background-color: #a0a0a0;
}

ブラウザでの表示結果

.box28 あいうえお

<div> の幅と高さを揃えて,丸めのサイズを 50% にすると円になります. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
.box29 {
  border-radius: 50%;
  width: 48px;
  height: 48px;
  background-color: #a0a0a0;
}

ブラウザでの表示結果

.box29

すべての <div> を並べます.(HTMLのサンプルを見るCSSのサンプルを見る

style.css
@charset "utf-8";

.box21 {
  border-width: 1px;
  border-style: solid;
  border-color: #000000;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}
.box22 {
  border-width: 4px;
  border-style: dotted;
  border-color: #a0a0a0;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}
.box23 {
  border-width: 1px 4px 8px 16px;
  border-style: solid;
  border-color: #a0a0a0;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}
.box24 {
  border-width: 1px 8px;
  border-style: solid;
  border-color: #a0a0a0;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}
.box25 {
  border: 8px solid blue;
  width: 160px;
  height: 48px;
  background-color: #f0f0f0;
}
.box26 {
  border: 1px solid #404040;
  border-radius: 8px;
  width: 160px;
  height: 48px;
  background-color: #a0a0a0;
}
.box27 {
  border-radius: 16px;
  width: 160px;
  height: 48px;
  background-color: #a0a0a0;
}
.box28 {
  border-radius: 24px;
  width: 160px;
  height: 48px;
  background-color: #a0a0a0;
}
.box29 {
  border-radius: 50%;
  width: 48px;
  height: 48px;
  background-color: #a0a0a0;
}

ブラウザでの表示結果

.box21 あいうえお

.box22 あいうえお

.box23 あいうえお

.box24 あいうえお

.box25 あいうえお

.box26 あいうえお

.box27 あいうえお

.box28 あいうえお

.box29

.box29 を除く要素にはすべて幅 160px と高さ 48px を設定しました.しかしながら,ボーダを設定するとその分だけ幅や高さが大きくなってしまっています.これは,box-sizing プロパティが標準では content-box になっていることが理由です.これは widthheight を指定したときに,<div> の中に配置される content-box の幅と高さを設定することを意味します.その content-box の周囲に次のページで説明するパディングとボーダの領域があります.その周囲はマージンになります.この考え方をボックスモデルと呼びます.

これを確認するには,Google Chrome で .box24 が表示されているあたりを選択して右クリックし,「検証」をクリックして,「DevTools(開発者ツール)」を起動します.その後「Computed」をクリックすると選択している要素のサイズが確認できます.下の図を見ると,content-boxが 160x48 ピクセルで,その周りの padding-box が存在せず,border-boxが上下に 1 ピクセルずつ,左右に 8 ピクセルずつの border-box が存在していることがわかります.したがって,.box24 の要素は幅 176 (=8+0+160+0+8) ピクセル,高さ 50 (=1+0+48+0+1) ピクセルに拡大されました.

boxmodel01

ボーダやパディングを設定してもボーダの領域も含めて幅や高さを設定したいような状況も考えられます.むしろ,その方が多いかも知れません.そのためには,box-sizing プロパティを border-box に変更します.この指定によって幅や高さが揃えることができました.(HTMLのサンプルを見るCSSのサンプルを見る

ブラウザでの表示結果

.box31 あいうえお

.box32 あいうえお

.box33 あいうえお

.box34 あいうえお

.box35 あいうえお

.box36 あいうえお

.box37 あいうえお

.box38 あいうえお

.box39

再び,.box34 について DevTools でボックスモデルを確認します.box-sizing プロパティに border-box を設定し,幅を 160 ピクセル,高さを 48 ピクセルに設定しました.その結果,ボーダ部分までを含む領域が指定した幅と高さに設定され,ボーダの太さを除いた 144x46 ピクセルがコンテンツ領域として確保されていることが確認できます.

boxmodel02

目次に戻る