2012-03-24 8 views
2

表形式で表示する2つの製品があります。css表示の列データを表示する表列

<div id="products"> 
    <div id="product_one"> 
    <div> 
     id one 
    </div> 
    <div> 
     name one 
    </div> 
    </div> 

    <div id="product_two"> 
    <div> 
     id two 
    </div> 
    <div> 
     name two 
    </div> 
    </div> 
</div> 

と私は彼らが次のようになりたい:

| id one  | id two  | 
| name one | name two | 

彼らは、例えば、テーブルと同じように具体的に、私は、行が行に滞在したいです

| id one is | id two | 
| longer this |   | 
| time  |   | 
| name one | name two | 

display:table-columnでこれを行う方法があると思っていましたが、その上に適切なドキュメントが見つかりませんでした。私はHTMLを再フォーマットしなければならないのか、それとも良いCSSを使ってこれを行う方法があるのでしょうか?コメントから

--edit--

これは余分なものなしには不可能であるように、それはそうです。問題を解決する短いjavascriptソリューションはありますか?

+3

これは、それがために設計されたものである表を使用していないなぜ、表形式のデータであると思われますか? –

+0

テーブルはオプションですが、データではなく、プレゼンテーション用です。だから私は純粋なCSSソリューションがあるかどうかを知りたいと思ったのです。 – zaius

+0

残念ながら、htmlやテーブルをフォーマットせずに実際の方法はありません。 – QQping

答えて

0

http://jsfiddle.net/CYfED/1/これはあなたの目標を達成するのに役立ちます。

+0

これは、製品を左から右に並べて表示しています。列の上から下に表示することを希望しています。 – zaius

0

id Sを複製使用して、この1 http://jsfiddle.net/tKqvh/

+0

これは、htmlを再フォーマットする必要があるため、製品情報がまとめてグループ化されなくなりました。 – zaius

+0

id 1とid 2は異なるdivの子であるため、CSSで値を比較して割り当てる方法はないため、div2> id_twoの処理内容に従ってdiv1> id_oneのサイズを変更することはできません。だからあなたは、あなたのHTMLを再フォーマットする必要があります、テーブルを使用するか、またはJavaScriptを使用します。 – user1289347

0

を試してみては呪いです。

これはあなたの問題を解決します:

#products { display: table-row; } 

#product_one { 
    display: table-cell; 
    border: 1px dashed #000000; 
}​ 

Demo here

+0

おっとり - 重複したIDは間違いでした。今修正されました。つまり、テーブルセルを使用しても問題は解決しません。ここにjsfiddle:http://jsfiddle.net/zaius/KpMGu/1/ – zaius

+0

hehe!あなたは '#products> div'の幅を与える必要がありますhttp://jsfiddle.net/KpMGu/2/ – tusar

関連する問題