WWW 特論

Box modeling and Positioning on CSS

Yutaka Soyama

Martin J. Dürst Lab.

Updated :2008-April-25; (C) 2008 曽山裕(ソヤマユタカ)

Contents

基本ボックス

ボックスモデルについて

要素の分類

概要

ボックスの水平プロパティ

水平プロパティの指定の例

ボックス要素への設定をしていない状態

HTML の要素中に直接記述する場合

    <p style = "margin-left: 3em;
    border-left: 20px;
    padding-left: 3em;
    width: auto;
    padding-right: 10%;
    border-right: 0.1em;
    margin-right: 2em;">
    水平プロパティの例
    </p>
    

CSS による記述方法

    // CSS 内
    .showbox1 {
     margin-left:3em; 
     margin-right:2em; 
     border-left:1em; 
     border-right:0.1em; 
     padding-left:3em; 
     padding-right:5em; 
     width:auto; 
       }
       
    // HTML 内
    <p class="showbox1">
    水平プロパティの例</p>     
    

水平プロパティの例

ボックスの垂直プロパティ

垂直プロパティの指定の例

HTML の要素中に直接記述する場合

    <p  style="margin-top: -10%;
     margin-bottom: 3em;
     border-top: 20px;
     border-bottom: 0.1em;
     padding-top: 3em;
     padding-bottom: -1em;
     height: auto;>
    垂直プロパティの例
    </p>
    

CSS による記述方法

    // CSS 内
    .showbox2 {
     margin-top:-20%;
     margin-bottom:3em;
     border-top:20px;
     border-bottom:0.1em;
     padding-top:3em;
     padding-bottom:-1em;
     height:auto;
       }
       
    // HTML 内
    <p class="showbox2">
    垂直プロパティの例</p>
    

垂直プロパティの例

margin-top="2em"

フローティング

フローティングとは

フローティングの配置

フローティングによって浮遊した要素が重ならないためのルール

  1. フローティングした要素の外辺は,その包含要素の内辺をはみ出してはならない
  2. 上記の条件を満たす状態でwidth の値の最大のものとする
  3. 各フローティング要素は重ならないように設置する
  4. 外辺が包含要素の内辺をはみ出すのであれば,右側の要素を更に下に移動させる

  5. フローティング要素の上外辺は,それ以前に定義されたフローティング要素の上外辺より上にあってはならない
  6. フローティング要素はできる限り高く浮遊しなければならない

フローティングの例

HTML上の例 1.

1例えばこのp要素中にフローティングした画像要素を配置するとする. 2 するとこのように画像はテキストの中に浮遊して現れる.さらに包含要素であるp要素の内辺をはみ出さないように調整しながら位置を変えていく. 3 しかし例外として,負のマージンをフローティング要素に与えた場合は包含要素からはみ出すことがある.

HTML上の例 2.

つまり,HTML は上から書いた順に表示されるはずだが,まるでその要素がないかのように,その順番から除外される. 1 2 しかしフローティングは他の要素の上に浮遊することでレイアウトに影響を及ぼす.なお,フローティング要素の周囲のマージンは相殺されない.

このスライド資料での利用例

位置指定

位置指定とは,要素ボックスの表示場所を他コンテンツへの相対で厳密に定義することである

位置指定の方法

CSS での指定方法

位置指定の例

相対配置をした画像は位置指定しなかったとき本来表示される位置と相対的に表示される. たとえばここに相対配置で画像を左に20%, 上から5em で配置するとこのようになる. 絶対配置は包含ブロックの左上を絶対座標の ( 0, 0 ) と考えて,右下が正の方向として座標として考える. ここに絶対配置で上と同じ条件で画像を配置しても,配置した位置は関係しない.

固定配置の例

まとめ