2010-12-14 15 views
1

私は、次のレイアウトHTMLとCSS..addingのdivタグの横並びn回

とHTML/CSSレイアウトを構築する必要があります|静的事業部|コンテンツDIV0 |コンテンツ路Div1 | ... |コンテンツDIVN |静的Div |

<div id="container"> 
    <div id="static_div_1"></div> 
    <div id="content"> 
     <div id="item1"></div> 
     <div id="item2"></div> 
     .... 
     <div id="itemN"></div> 
    </div> 
    <div id="static_div_2"></div> 
</div> 

要件:

  1. すべてのdiv要素は、次の 互いに積層される必要があるが、以下のように

    私のコードの縮小版です。

  2. javascriptを使用してDIVをコンテンツDIVに動的に追加する必要があります
  3. 静的DIVはコンテンツの先頭と末尾に位置を維持する必要があります。
  4. コンテンツDIVは、私は次の問題に苦しんでいますhorizo​​ntaly

スクロールする必要があります。

  1. ポイントした後、コンテンツのdivを挿入DIVとdiv要素の別の行がレンダリングされ始めるラップ開始します。

編集:プレーンなデータのような本質的な表形式ではありません。各divがそれ自身のフォームのようであると仮定してください。 W2のようなもの。私はちょうどコンテンツDIVでスクロールする必要があります。 。さらに悪い私は本当にGUIの男ではないよようにするには.. :(

をすべてのヘルプは大歓迎されます

+1

テーブルを使用しない理由は何ですか? – AniDev

+0

なぜあなたはこの動作を期待していませんか? divがまとめて一定の幅に達すると、折り返しが発生します。ラップが早すぎる、または予期せぬポイントに来ていることを示唆していますか? –

+1

私は@AniDevに同意します - 積み重ねディビジョンを並べていくことは、非常に複雑でトリッキーな操作です。あまりにもずっと前から私は自分自身で苦労していましたが、結局はあきらめました。あなたの例は、データ表示のように聞こえます。これは、伝統的に使用されている表(CSS駆動のページでさえ)です。 – morganpdx

答えて

3

が必要なCSSコードはこれです:私が追加した

#static_div_1, #static_div_2 { 
    float: left; 
    width: 200px; 
    } 
    #content { 
    float: left; 
    overflow-x: scroll; 
    white-space: nowrap; 
    width: 600px; 
    } 
    #content .item { 
    display: inline-block; 
    *display: inline; /* Target IE6/7 only */ 
    width: 150px; 
    zoom: 1; 
    } 

注意。彼らのスタイルを#content divの内側の各項目にクラス「アイテム」このレイアウトのキーは次のとおりです。

  1. メイク:三つの部分、#のstatic_div_1、#のstatic_div_2と#を「フロート左」コンテンツdivs(オプションでそれらに固定幅)。
  2. #content divの "overflow-x:scroll"スタイル。
  3. #content divの「white-space:nowrap」です。
  4. #content div内の各項目に「display:inline-block」を設定します。

各項目の間にはスペースがあります。これは改行スペースなので、これを避けるために、それらのアイテムdivの間に改行やスペースを入れてはいけません。

この結果があなたに役立つことを願っています。 よろしくお願いいたします。

更新:IE6/7で動作するようになりました。これらのブラウザで「display:inline-block」を正しく設定するには、次の行が追加されていることに気づくでしょう:

+0

+1の例ですが、これはつまりで動作しますか?私はどのように表示:インラインブロックとオーバーフローのxを処理するかわからない? – skajfes

+0

@skajfes IE6/7で "display:inline-block"を修正するためのハックを追加しました(IE8はそれなしでうまく動作します)。 –

+0

ありがとうアレハンドロ! – Perpetualcoder

関連する問題