Responsive design voor MediaWiki
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.
Inhoud
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.
Geen zijpanelen - no sidebars
$wgTweekiSkinGridNone = array( "mainoffset" => 1, "mainwidth" => 10 );
- Inspringen (offset) en breedte (width) voor de hoofdinhoud, wanneer er geen zijpanelen (sidebars) worden weergegeven. for the main content if no sidebars are shown.
Zijpaneel links - left sidebar
$wgTweekiSkinGridLeft = array( "leftoffset" => 0, "leftwidth" => 3, "mainoffset" => 0, "mainwidth" => 9 );
- Offsets and widths for the left sidebar and the main content.
Zijpaneel rechts - right sidebar
$wgTweekiSkinGridRight = array( "mainoffset" => 0, "mainwidth" => 9, "rightoffset" => 0, "rightwidth" => 3 );
- Offsets and widths for the main content and the right sidebar.
Zijpanelen aan beide zijden - sidebars on both sides
$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.