Tabeller Avancerad

författare (svår)

Det finns fyra direktiv för avancerade tabeller. Samtliga måste vara i början av en rad för att ge någon effekt.

(:table (attr...):)

Genererar en ny <table> tagg i HTMLkoden med de attribut givna i (attr...). Stänger föregående tabell, om det finns någon. Tillåtna attribut och värden;

  • border (positivt heltal)
  • bordercolor (färgnamn på engelska eller hexnummer)
  • cellspacing (positivt heltal för mellanrummet mellan celler)
  • cellpadding (positivt heltal för cellernas innermarginal)
  • width (positiv heltal eller procent)
  • bgcolor (färgnamn på engelska eller hexnummer)
  • align (left, center eller right)
  • summary (visas inte, används främst för synskadade)

(:cell (attr...):)

Genererar en ny cell med de attribut givna i (attr...). Stänger föregående cell, om det finns någon. I HTML koden ger detta en ny <td attr> tagg (och möjligen även <table>, <tr> och </td> ifall dessa krävs för en fungerande tabell). Tillåtna attribut och värden;

  • align (left, center eller right)
  • valign (top, middle eller bottom)
  • colspan (positivt heltal)
  • rowspan (positivt heltal)
  • bgcolor (färgnamn på engelska eller hexnummer)
  • width (positiv heltal eller procent)

(:cellnr (attr..):)

Generarar en ny cell i början av nästa rad, stänger föregående cell om det finns någon. I HTML koden skapas en <tr><td attr> tagg och annan nödvändig kod. Tillåtna attribut och värden;

  • align (left, center eller right)
  • valign (top, middle eller bottom)
  • colspan (positivt heltal)
  • rowspan (positivt heltal)
  • bgcolor (färgnamn på engelska eller hexnummer)
  • width (positiv heltal eller procent)

(:tableend:)

Stänger föregånde tabell.

Anteckningar

För table, cell och cellnr kan författaren specifiera de attribut som skulle vara tillåtna i HTML taggarna <table> och <td>. Men man kan inte placera en (:table:) innuti en (:cell:) eller (:cellnr:).

Anledninger till att PmWiki inte tillåter att författaren skriver traditionell HTML (<table>, <tr>, <td> och <th>) och nestlade tabeller är främst för att det är väldigt svårt att lära sig för en nybörjare. Det är väldigt lätt att koden blir fel och tabellen visas inkorrekt eller inte alls.

Exempel 1. Tabell med avancerad formatering

(:table border=1 cellpadding=5 cellspacing=0:)
(:cell:) a1
(:cell:) b1
(:cell:) c1
(:cell:) d1
(:cellnr:) a2
(:cell:) b2
(:cell:) c2
(:cell:) d2
(:tableend:)
a1 b1 c1 d1
a2 b2 c2 d2

I HTML, detta är detsamma som;

<table border='1' cellpadding='5' cellspacing='0'>
  <tr>
    <td>a1</td>
    <td>b1</td>
    <td>c1</td>
    <td>d1</td>
  </tr>
  <tr>
    <td>a2</td>
    <td>b2</td>
    <td>c2</td>
    <td>d2</td>
  </tr>
</table>

Flytande tabell med punktlistnavigation

Navigation

Tänk dig om du skulle vilja skapa en fin liten tabell över innehållet i en sida som denna? I detta exempel flyter tabellen till höger om texten innehållands en punktlista över formateringssidorna. Detta är ett perfekt exempel hur lätt det är att ordna en sådan. Märk väl att en punktlista fungerar inte i en lätt tabell, det fungerar endast i en avancerad tabell gjord av t.ex. denna kod;

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr:)
'''Navigation'''
(:cellnr:)
*[[Tables|+]]
*[[TableDirectives|+]]
(:tableend:)

Navigation

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr colspan=2 align=center:)
'''Navigation Links'''
(:cellnr align=center:)
[[Tables|+]]
(:cell align=center:)
[[TableDirectives|+]]
(:tableend:)

Navigation Links

Tabeller Lätt

Tabeller Avancerad

Som du kanske märkte använde vi här hexkoden #cccc99 för tabellbakgrunden. (:cellnr:) skapar en ny rad och stänger föregående cell.