8

I use a MediaWiki instance on a thumb drive to keep track of a ton of stuff. In the past, I've been in a hurry so I haven't had the chance to look for a nice way to make tables, so this syntax has served my purposes well:

{| border=1
...
|}

Now I want something a little nicer; I'm used to using CSS to make nicer table borders, but I'm not finding a clean way to do this syntax via MediaWiki. Basically, I want a table that looks equivalent to this HTML:

<table style="border-collapse: collapse">
    <tr>
        <td style="border: 1px solid black">one</td>
        <td style="border: 1px solid black">two</td>
    </tr>
</table>

Setting border on every cell is going to be difficult. My initial guess is I need to add a table class to a CSS file somewhere; if so, where might the appropriate file be located?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
OwenP
  • 24,950
  • 13
  • 65
  • 102

3 Answers3

12

Do like they do in Wikipedia: create a "prettytable" template (see source; you can skip the fancy <noinclude> stuff) where you put some HTML / CSS, e.g.:

border="1" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; 
background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;"

Then use the template like this in your tables; it does a simple "include":

{| {{Prettytable}}
...
|}

The same technique can be used for styling cells. You should find plenty more examples of this in different Wikipedias (and other Wikimedia projects).

Jonik
  • 80,077
  • 70
  • 264
  • 372
  • Oooh, I like this a little better, but in some ways I fail to see how it is advantageous to editing the CSS. For example, if I set the class of the table, I can use CSS to style the rows and cells automatically; with this method, the template has to include the class, which isn't much saved effort. – OwenP Feb 03 '09 at 16:24
  • One advantage: this can be used simply from Wiki interface, no digging around in Mediawiki installation (+ can use this even if you don't have privileges on the server). But for automatic styling of cells and rows: yes, a CSS class is far handier. So use what suits you better in each situation :) – Jonik Feb 03 '09 at 17:04
  • 1
    @OwenP, it's better for those of us who do not have access to the CSS. – Xonatron Jan 12 '12 at 16:14
6

You can customise the CSS used via pages in the MediaWiki namespace, for example, MediaWiki:Common.css. There are also skin-specific CSS pages, e.g. MediaWiki:Monobook.css, for the default skin.

Rob
  • 47,999
  • 5
  • 74
  • 91
  • Yes we did it this way on OpenStreetMap wiki, so you can see it here: http://wiki.openstreetmap.org/wiki/MediaWiki:Common.css (we define a 'wikitable' class and various other bits n bobs) – Harry Wood Oct 15 '13 at 11:45
4

As you wrote, you can edit Mediawiki CSS files. This is the way to go; however, if for some reason you can't use CSS, you can always use Wiki templates that contain cell-specific styling tags.

MaxVT
  • 12,989
  • 6
  • 36
  • 50