• Home
  • InfoBase
  • Dictionaries
  • Member
  • News
  •     Wiki Advance Search
    中文网站
    Network Dictionary Blog Network Dictionary Wiki Network Dictionary Ask Network Dictionary Groups Tech Shop Network Dictionary

    Use tables

    From Network Dictionary Wiki

    Jump to: navigation, search

    MediaWiki supports different types of table syntax:

    1. XHTML
    2. HTML and wiki <td> syntax
    3. pipe-syntax

    All three are supported by MediaWiki and create valid HTML output.

    See also HTML element#Tables. Note however that the thead, tbody, tfoot, and colgroup elements are currently not supported in MediaWiki.

    Contents

    Overview


    Comparison of table syntax
     XHTML HTML & Wiki-td Wiki-pipe
    Table <table></table> <table></table>
    {| params 
    |}
    Caption <caption></caption> <caption></caption> |+ caption
    Row <tr></tr> <tr> |- params
    Data cell

    <td>cell1</td>
    <td>cell2</td>

    <td>cell1
    <td>cell2

    | cell1
    | cell2
    Data cell <td>cell1</td> <td>cell2</td> <td>cell3</td> <td>cell1 <td>cell2 <td>cell3 |cell1||cell2||cell3
    Header cell <th></th> <th> ! heading
    Sample table
    1 2
    3 4
    <table>
       <tr>
          <td>1</td>
          <td>2</td>
       </tr> 
       <tr>
          <td>3</td> 
          <td>4</td> 
       </tr>
    </table>
    
    <table>
       <tr>
          <td> 1 <td> 2
       <tr>
          <td> 3 <td> 4
    </table>
    
    {| 
    | 1 || 2
    |- 
    | 3 || 4
    |}
    Sample table
    1 2
    3 4
    5 6
    <table>
       <tr>
          <td>1</td>
          <td>2</td>
       </tr> 
       <tr>
          <td>3</td>
          <td>4</td>
       </tr>
       <tr>
          <td>5</td>
          <td>6</td>
       </tr>
    </table>
    
    <table>
       <tr>
          <td> 1 <td> 2
       <tr>
          <td> 3 <td> 4
       <tr>
          <td> 5 <td> 6
    </table>
    
    {| 
    | 1 || 2 
    |- 
    | 3 || 4 
    |- 
    | 5 || 6 
    |}
    Pros

    Can be previewed/debugged with any XHTML editor


    Can be formatted for easier reading


    Well-known

    Can be previewed/debugged with any HTML editor


    Can be formatted for easier reading


    Well-known


    Takes less space than XHTML

    Easy to write


    Easy to read


    Takes little space

    Cons

    Tedious


    Takes a lot of space


    Difficult to read quickly

    Confusing, especially for people with little HTML experience


    Poorly formed


    Poorly delimited


    Generally odd looking

    Unfamiliar syntax


    Rigid structure


    Cannot be indented

     XHTML HTML & Wiki-td Wiki-pipe

    </table>

    Guide to the pipe syntax


    The pipe syntax, developed by Magnus Manske, substitutes pipes (|) for HTML. There is an on-line script which converts html tables to pipe syntax tables.

    The pipes must start at the beginning of a new line, except when separating parameters from content or when using || to separate cells on a single line. The parameters are optional.

    Tables

    A table is defined by {| ''params'' |} which equals <table ''params''>Insert non-formatted text here </table>

    Careful: You must include the space between {| and params, or the first parameter gets ignored.

    Rows

    <tr> tags will be generated automatically for the first row. To start a new row, use

    |-
    

    which results in

    <tr>
    

    Parameters can be added like this:

    |- params
    

    which results in

    <tr params>
    

    Note:

    • <tr> tags will be automatically opened at the first <td> equivalent
    • <tr> tags will be automatically closed at <tr> and </table> equivalents

    Cells

    Cells are generated either like this:

    |cell1
    |cell2
    |cell3
    

    or like this:

    |cell1||cell2||cell3
    

    which both equal

    <td>cell1</td><td>cell2</td><td>cell3</td>
    

    so "||" equals "newline" + "|"

    Parameters in cells can be used like this:

    |params|cell1||params|cell2||params|cell3
    

    which will result in

    <td params>
    

    Headers

    Functions the same way as TD, except "!" is used instead of the opening "|". "!!" can be used instead of "||". Parameters still use "|", though! Example:

    !params|cell1
    

    Captions

    A <caption> tag is created by

    |+ Caption
    

    which generates

    <caption>Caption</caption>
    

    You can also use parameters:

    |+ params|Caption
    

    which will generate

    <caption params>Caption
    

    Some examples


    Multiplication table

    Source code

    
    {| border="1" cellpadding="2"
    |+Multiplication table
    |-
    ! &times; !! 1 !! 2 !! 3
    |-
    ! 1
    | 1 || 2 || 3
    |-
    ! 2
    | 2 || 4 || 6
    |-
    ! 3
    | 3 || 6 || 9
    |-
    ! 4
    | 4 || 8 || 12
    |-
    ! 5
    | 5 || 10 || 15
    |}
    

    Appearance

    Multiplication table
    × 1 2 3
    1 1 2 3
    2 2 4 6
    3 3 6 9
    4 4 8 12
    5 5 10 15

    Notes

    • The entire table begins with {| and ends with the required |}.
    • A caption is a succinct way to describe your table, and can be included with |+ on the line after {|.
    • Table rows are horizontal groups of cells in the table. A row begins with |- and ends at the next row.
    • Table headings are cells with headings in them, and are often rendered in a bold font. They begin with !. Note that parameters are still separated from the actual content of the cell with |, however
    • Table data cells fill out the rest of the table. A cell begins with | or || and ends at the next cell.

    Each row must have the same number of cells as the other rows, so that the number of columns in the table remains consistent (unless there are cells which span several columns or rows, but this is not discussed here). For empty cells, use the non-breaking space &nbsp; as content to ensure that the cells are displayed.

    Mélange

    Here's a more advanced example, showing some more options available for making up tables. You can play with these settings in your own table to see what effect they have. Not all of these techniques may be appropriate in all cases; just because you can add colored backgrounds, for example, doesn't mean it's always a good idea. Try to keep the markup in your tables relatively simple -- remember, other people are going to be editing the article too! This example should give you an idea of what is possible, though.

    Source code

    
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |+'''An example table'''
    |-
    ! style="background:#efefef;" | First header
    ! colspan="2" style="background:#ffdead;" | Second header
    |-
    | upper left
    |  
    | rowspan=2 style="border-bottom:3px solid grey;" valign="top" |
    right side
    |-
    | style="border-bottom:3px solid grey;" | lower left
    | style="border-bottom:3px solid grey;" | lower middle
    |-
    | colspan="3" align="center" |
    {| border="0"
    |+''A table in a table''
    |-
    | align="center" width="150px" | [[Image:wiki.png]]
    | align="center" width="150px" | [[Image:wiki.png]]
    |-
    | align="center" colspan="2" style="border-top:1px solid red; border-right:1px solid red;
     border-bottom:2px solid red; border-left:1px solid red;" |
    Two Wikipedia logos
    |}
    |}
    

    Appearance

    An example table
    First header Second header
    upper left  

    right side

    lower left lower middle
    A table in a table
    Image:Javvin.gif Image:Javvin.gif

    Two Wikipedia logos

    Simple example

     
    {| 
    | Cell 1, row 1 
    | Cell 2, row 1 
    |- 
    | Cell 1, row 2 
    | Cell 2, row 2 
    |}
    

    generates

    Cell 1, row 1 Cell 2, row 1
    Cell 1, row 2 Cell 2, row 2

    Advanced example

    {| align=right border=1
    | Cell 1, row 1 
    |rowspan=2| Cell 2, row 1 (and 2) 
    | Cell 3, row 1 
    |- 
    | Cell 1, row 2 
    | Cell 3, row 2 
    |}
    
    Cell 1, row 1 Cell 2, row 1 (and 2) Cell 3, row 1
    Cell 1, row 2 Cell 3, row 2

    Note the floating table to the right.

    Nested table

    {| border=1
    | &alpha;
    |
    {| bgcolor=#ABCDEF border=2
    |nested
    |-
    |table
    |}
    |the original table again
    |}
    

    gives a nested table

    α
    nested
    table
    the original table again

    Nested tables have to start on a new line.

    Text next to a table


    You can use align=right, text after the table code appears to the left of the table. However, do not put preformatted text, it may overlap the table because it does not wrap.

    Multiplication table
    × 1 2 3
    1 1 2 3
    2 2 4 6
    3 3 6 9
    4 4 8 12
    5 5 10 15

    text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text

    text text text text text text text text text text text text text text text text text text text text 
    

    text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text

    To prevent this, use <br style="clear:both;">:

    Multiplication table
    × 1 2 3
    1 1 2 3
    2 2 4 6
    3 3 6 9
    4 4 8 12
    5 5 10 15

    text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text

    text text text text text text text text text text text text text text text text text text text text 
    

    text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text

    Decimal point alignment


    A method to get columns of numbers aligned at the decimal point is as follows:

    <blockquote>
    {| cellpadding=0 cellspacing=0
    |align=right| 432 || . || 1
    |-
    |align=right| 43 || . || 21
    |-
    |align=right| 4 || . || 321
    |}
    </blockquote>

    gives

    432 . 1
    43 . 21
    4 . 321

    In simple cases one can dispense with the table feature and simply start the lines with a space, and put spaces to position the numbers:

    432.1
     43.21
    
    4.321