每個小區我知道的唯一方法,比用浮動創建一個虛擬表等<div>
s,正在使用Labeled Section Transclusion(或其等效{{#dpl}}
函數,如果您有Extension:DynamicPageList)。您可以使用<section/>
標籤或標題分別標記「列模板」的每個單元格,然後創建一個框架表,通過跨列模板填充每行。該結構將是這個樣子:
{|class="wikitable sortable" style="font-size:85%"
|+ table name
! Title 1
! Title 2
! Title 3
|- valign="top
| {{#lst:col1|row1}}
| {{#lst:col2|row1}}
| {{#lst:col3|row1}}
|- valign="top
| {{#lst:col1|row2}}
| {{#lst:col2|row2}}
| {{#lst:col3|row2}}
|- valign="top
| {{#lst:col1|row3}}
| {{#lst:col2|row3}}
| {{#lst:col3|row3}}
...
|}
這種解決方案缺乏折騰出列,你可以折騰出行方式的簡單,但可悲的是HTML只是不旨在創造真正的基於列的表格。但是,通過這種佈局,每列的所有信息至少可以存儲在同一頁面上,您可以更輕鬆地編輯它(如{{col1}}
,{{col2}}
等),如果您正在記錄文本信息,則還可以讀取每列作爲一個可能方便的獨特頁面。
如果你打算做很多事情,你可以通過創建一個填充每一行的模板來進一步簡化它,所以你只需要指定行號,如下所示:(假設你的列總是作爲子頁面放置在那裏他們將出現在文章)的
template:col-based table row
{{!}}- valign="top"
{{!}} {{#lst: {{PAGENAME}}/col1 | row{{{1|}}} }}
{{!}} {{#lst: {{PAGENAME}}/col2 | row{{{1|}}} }}
{{!}} {{#lst: {{PAGENAME}}/col3 | row{{{1|}}} }}
然後標題下你只需要列出:
{{col-based table row|1}}
{{col-based table row|2}}
{{col-based table row|3}}
...
現在,如果你想,直到你用盡模板自動-產生這些行(或換句話說,讓表格決定如何許多行的創建沒有你手動設置),我不認爲我可以幫你。也許你可以用DPL擴展的表生成函數來做一些巧妙的事情,或者安裝一個允許你創建循環的擴展,但是我認爲你可能會被阻止像上面描述的那樣手動創建每一行。
作爲最後一點,因爲這是內容,而不是格式化,我建議您將列頁放在主空間而不是模板名稱空間中。事實上,這是子頁面所擅長的。
thx,我也會得出這個結論。感謝你給它一些想法。 – Wikis 2010-07-06 17:27:47