2014-06-30 48 views
2

如何有效地對齊某些列而對齊其他列?Mediawiki表格:「高效地」爲不同的列應用不同的對齊方式

我想做這樣的事情。

------------------------- 
|  A  |B   | 
------------------------- 
|  C  |D   | 
-------------------------  

此代碼使所有列居中。

{| class="wikitable" style="text-align: center;" 
|- 
! Header 1 
! Header 2 
|- 
| A 
| B 
|- 
| C 
| D 
|} 

而且我知道下面的代碼做我想做的。

{| class="wikitable" 
|- 
! Header 1 
! Header 2 
|- 
| style="text-align: center;" | A 
| B 
|- 
| style="text-align: center;" | C 
| D 
|} 

但是因爲我需要製作一張相當長的桌子,所以這很乏味。

是否有任何代碼只能使用非常簡單的一行代碼來居中對齊第一列?

回答

2

除非您在LocalSettings.php中將其禁用,否則可以使用頁面MediaWiki:Common.css將其他樣式表添加到所有頁面。只需使用純CSS就可以做到你需要的東西。例如:

.myTableClass td { 
    text-align: left; 
} 

.myTableClass td:first-child { 
    text-align: center; 
} 

...然後那類添加到您的表

{| class="wikitable myTableClass" 
|- 
| A 
| B 
|- 
| C 
| D 
|} 
+0

我的情況應該是什麼類(一些列中心對齊,其他列左對齊)? – user3123767

+0

上面的例子是爲了使每一行中心的第一列對齊,其餘的左對齊! – leo

1

接受的答案,而正確的,可能是乏味的一般實現,因爲你需要創建一個不同的CSS類對於您需要的列位置和文本對齊的每個組合。

另一種一次性的方法是將CSS直接嵌入到wiki頁面中。在只由受信任用戶編輯的維基上,您可以啓用$wgRawHtml。在其他情況下,您可以使用擴展名,例如Extension:CSS。如果您有多個表格,則可以使用#id選擇器將樣式限制爲每個表格。

<html> <!-- assumes $wgRawHtml = true; safer alternatives exist --> 
    <style> 
     table#accounts tr td:nth-child(3), 
     table#accounts tr td:nth-child(4) 
     { 
      text-align: right; 
     } 
    </style> 
</html> 
{| class="wikitable" id="accounts" 
! Account Number !! Account Name !! Source Balance !! Target Balance 
|- 
| 1234 || UK Savings  || 402.00 || 323.21 
|- 
| 5432 || Car Fund  || 12,943.00 || 23,433.21 
|- 
| 6789 || Other Expenses ||  4.21 ||  6.21 
|} 

編輯:關於第二個想法,有一個全球性的做法會不會導致維基頁面內更清晰的語法,特別是如果你有很多的列表對齊。我創建CSS類每個對準在MediaWiki:Common.css頁:

table.col-1-center td:nth-child(1) { text-align: center; } 
table.col-2-center td:nth-child(2) { text-align: center; } 
table.col-3-center td:nth-child(3) { text-align: center; } 
table.col-4-center td:nth-child(4) { text-align: center; } 
table.col-5-center td:nth-child(5) { text-align: center; } 
table.col-6-center td:nth-child(6) { text-align: center; } 
table.col-7-center td:nth-child(7) { text-align: center; } 
table.col-8-center td:nth-child(8) { text-align: center; } 
table.col-9-center td:nth-child(9) { text-align: center; } 

table.col-1-right td:nth-child(1) { text-align: right; } 
table.col-2-right td:nth-child(2) { text-align: right; } 
table.col-3-right td:nth-child(3) { text-align: right; } 
table.col-4-right td:nth-child(4) { text-align: right; } 
table.col-5-right td:nth-child(5) { text-align: right; } 
table.col-6-right td:nth-child(6) { text-align: right; } 
table.col-7-right td:nth-child(7) { text-align: right; } 
table.col-8-right td:nth-child(8) { text-align: right; } 
table.col-9-right td:nth-child(9) { text-align: right; } 

然後,您的wiki頁面中,你可以簡單地引用CSS類:

{| class="wikitable col-3-right col-4-right" 
! Account Number !! Account Name !! Source Balance !! Target Balance 
|- 
| 1234 || UK Savings  || 402.00 || 323.21 
|- 
| 5432 || Car Fund  || 12,943.00 || 23,433.21 
|- 
| 6789 || Other Expenses ||  4.21 ||  6.21 
|} 

的加入這種方法的優點是你不需要啓用$wgRawHtml或安裝擴展。