Responsive design voor MediaWiki

Uit MediaWikiGids
Ga naar: navigatie, zoeken

Door het maken van een Responsive Design wordt de layout van de website flexibel aangepast aan de grootte en resolutie van het scherm van de bezoeker van de website.

Technieken voor het maken van een responsive design

Toepassing van Grids

Een website bestaat in veel gevallen uit een aantal verschillende elementen:

  • Navigatie of menu's
  • Kop of header
  • Main body
  • Zijpanelen of sidebars (links of rechts)
  • Footer

Waar het "vroeger" de gewoonte was deze onderdelen een vaste plaats t.o.v. van elkaar te geven (meestal in tabel-vorm), komen deze onderdelen nu in een "grid" (rooster) te staan.


De plaats van de onderdelen ten opzichte van elkaar wordt afhankelijk gemaakt van de grootte van het scherm.

Een grid is meestal onderdeel van de MediaWiki-skin. Zo gebruikt Foreground het grid van Foundation en Tweeki de bootstrap-grid.

De grootte van de onderdelen en de onderlinge positie wordt (bijv. met CSS) gedefinieerd, afhankelijke van de grootte van het scherm.

Breakpoints

Browsers hebben op verschillende apparaten een in grootte uiteenlopende viewport (het zichtbare deel van de website). Wanneer de viewport kleiner wordt, zoals op smartphones, dan kan de layout niet meer hetzelfde zijn als bij een grote viewport van een browser op een desktop.

Veel ontwerpers gebruiken specifieke layouts voor tenminste:

  • Smartphones - small
  • Tablets - medium
  • Desktops - large

Het punt waarop de layout overschakelt tussen small, medium en large heet een breakpoint.

De browser "weet" hoe groot het scherm is d.m.v. het gebruik van "media-queries".

Voorbeeld toepassing responsive design met Tweeki-skin

De basis layout van de Tweeki-skin (voor het grote desktop-scherm - niet responsive weergegeven!):

navbar
sidebar-
left
subnav sidebar-
right
main content
(including firstHeading)
footer

Grid instellingen

Deze inhoud is overgenomen van Tweeki handleiding.

Tweeki gebruikt een grid bestaande uit 12 kolommen, zoals bekend van Bootstrap. Als 'default' is een indeling van 10 kolommen voor de hoofdinhoud (main-content) en 2 kolommen voor een rechter zijpaneel (right sidebar) ingesteld. Dit bij een vast breedte.

Geen zijpanelen - no sidebars

main content
$wgTweekiSkinGridNone = array( 
 "mainoffset" => 1, 
 "mainwidth" => 10 
); 
Inspringen (offset) en breedte (width) voor de hoofdinhoud, wanneer er geen zijpanelen (sidebars) worden weergegeven.

Zijpaneel links - left sidebar

left sidebar
main content
$wgTweekiSkinGridLeft = array( 
 "leftoffset" => 0, 
 "leftwidth" => 3, 
 "mainoffset" => 0, 
 "mainwidth" => 9 
);
Inspringen en breedte voor het linker zijpaneel en de hoofdinhoud.

Zijpaneel rechts - right sidebar

main content
right sidebar
$wgTweekiSkinGridRight = array( 
 "mainoffset" => 0, 
 "mainwidth" => 9, 
 "rightoffset" => 0, 
 "rightwidth" => 3 
);
Inspringen aan beide zijden (offsets) en breedte voor de hoofdinhoud en het rechter zijpaneel.

Zijpanelen aan beide zijden - sidebars on both sides

left sidebar
main content
right sidebar
$wgTweekiSkinGridBoth = array( 
 "leftoffset" => 0, 
 "leftwidth" => 2, 
 "mainoffset" => 0, 
 "mainwidth" => 8, 
 "rightoffset" => 0, 
 "rightwidth" => 2 
);
Offsets and widths for the left sidebar, the main content and the right sidebar.