Responsive design voor MediaWiki

Uit MediaWikiGids
Versie door Bmulckhu (Overleg | bijdragen) op 4 okt 2017 om 16:17 (Voorbeeld toepassing responsive design met Tweeki-skin)

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.

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. for the main content if no sidebars are shown.

Zijpaneel links - left sidebar

left sidebar
main content
$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

main content
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

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.