我有一個HTML + CSS網格佈局,就像這個screenshot一樣,它本質上是一個面向列的表格(而不是面向行的HTML <table>
,它是逐行構建的)。複雜的面向列的表格佈局
爲了實現這種佈局,我有從<div>
s構建的支撐網格,並將值組作爲右浮動<table>
s。最初,我也將值組設置爲<div>
s,但這需要固定的單元格寬度(尤其是單元格跨越多列),所以現在我正在使用表格作爲值組。無論哪種方式,我可以有一個可變數量的值組,我需要。
我想要做的是使用<table>
作爲支持網格,所以我可以免費獲得所有漂亮的跨行和列跨越。但是,這已被證明是一項艱鉅的任務,因爲table
元素被視爲流中的單個塊(元素不能在其周圍流動)。
所以我的問題是這樣的:我可能在我的佈局中僅使用HTML + CSS使用表格作爲「支持網格」嗎?此外,請隨時爲這種佈局的建設提供不同的方法。
編輯:
我應該提到,這個佈局是動態生成,接下去就是單表解決方案將無法工作。這是因爲在這種情況下,項目是靜態的,但值組不是。我需要能夠輕鬆地添加/刪除值組,以便可以使用模板引擎(如{{mustache}})生成此值。使用單表解決方案時,爲了添加一個值組,每個<tr>
必須添加一組額外的<td>
,這在使用任何模板引擎時肯定不是微不足道的,特別是{{mustache}},是我正在使用的。
例如,我的源數據(JSON)可能看起來像:
{
"oneTwoTotal": "$0.00",
"valueGroups":[
{
"groupName":"ValueGroup1",
"values":[
{
"subgroupName":"Column 1",
"item1":"$0.00",
"item2":"$0.00",
"item3":"$0.00",
"total":"$0.00"
},
{
"subgroupName":"Column 2",
"item1":"$0.00",
"item2":"$0.00",
"item3":"$0.00",
"total":"$0.00"
}
]
},
{
"groupName":"ValueGroup2",
"values":[
{
"subgroupName":"Column 1",
"item1":"$0.00",
"item2":"$0.00",
"item3":"$0.00",
"total":"$0.00"
},
{
"subgroupName":"Column 2",
"item1":"$0.00",
"item2":"$0.00",
"item3":"$0.00",
"total":"$0.00"
}
]
}
]
}
想象一下,一個模板引擎構建的單表解決方案,使用該數據。
感謝您的回答。我意識到可以使用帶有rowspans和colspans的單個表生成此表。這種方法的問題是產生這樣的表格。我應該在我原來的問題中提到這一點;請參閱編輯以獲取更多解釋。 – mystictheory 2012-03-14 00:08:03