20

たとえば、下の画像のようなテンプレートを作成したいと思います。

http://i.imgur.com/OneRsMw.png

コンテナ内の各divを絶対位置にどのように配置しますか?float-attributesを使用する必要はありません。短い例をいただければ幸いです。

4

2 に答える 2

34

absoluteポジショニングして使えますrelative

例えば

html

<div id="container" class="box">
    <div class="box top left"></div>
    <div class="box top center"></div>
    <div class="box top right"></div>

    <div class="box middle left"></div>
    <div class="box middle center"></div>
    <div class="box middle right"></div>

    <div class="box bottom left"></div>
    <div class="box bottom center"></div>
    <div class="box bottom right"></div>
</div>

CSS

#container{
    width:200px;
    height:200px;
    position:relative;
    border:1px solid black;
}
.box{
    border:1px solid red;
    position:absolute;
    width:20px;
    height:20px;    
}

.top{top:0}
.middle{top:50%;margin-top:-10px;/*half of the .box height*/}
.bottom{bottom:0}

.left{left:0;}
.center{left:50%;margin-left:-10px;/*half of the .box width*/}
.right{right:0;}

http://jsfiddle.net/gaby/MB4Fd/1/のデモ

(もちろん、上/左/右/下の値を変更することで、好みに合わせて実際の配置を調整できます)

于 2013-02-25T14:06:19.637 に答える
7

position: relative;コンテナー (すべてのコンテンツを含む) で使用し<div>、子要素を絶対に配置します。コンテナ内の子要素はコンテナに対して相対的に配置されるため、必要に応じてすべてを簡単にレイアウトできます。

ただし、ほとんどの状況でポジショニングを使用してサイトをレイアウトするのは悪い習慣と考えられています..フロートを使用したくないと主張していても、さまざまなブラウザー間で一貫性を保つことをお勧めします.

フロートについて混乱している場合は、この記事をお読みください

于 2013-02-25T14:03:09.003 に答える