diff options
author | Simon McVittie <smcv@debian.org> | 2014-11-25 23:42:16 +0000 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2014-12-01 21:29:46 +0000 |
commit | 5fe28eb4c29cb31bd6293beb67cccc9b01e967ec (patch) | |
tree | 9a58b42b935a80f65cd31dfc72194270b0c5186b | |
parent | 67c0dd10131ff5b6762ef620566f6c40b5b1c8c9 (diff) | |
download | ikiwiki-5fe28eb4c29cb31bd6293beb67cccc9b01e967ec.tar ikiwiki-5fe28eb4c29cb31bd6293beb67cccc9b01e967ec.tar.gz |
Make the layout adjust to narrow viewports better
Below about 600px (phones and small windowed browsers) the sidebar
starts breaking the layout. Moving it inline helps a lot; with
modern CSS (flex layout) we can also shuffle it after the main content.
Older browsers that don't do one of the 4 variants of flex layout
will just display it above the main content, which is annoying
but not too bad.
blueview also has a minimum width set so that it won't become
ridiculously small with small fonts, but that means it gets
scrollbars below about 850px; stop enforcing the minimum width
if necessary.
Finally, blueview's relatively generous margins look good in a
desktop browser, but are just too space-hungry on a phone.
Turn them off below 600px.
-rw-r--r-- | doc/style.css | 31 | ||||
-rw-r--r-- | themes/blueview/style.css | 23 |
2 files changed, 54 insertions, 0 deletions
diff --git a/doc/style.css b/doc/style.css index 4c48e5c7b..18bf531a6 100644 --- a/doc/style.css +++ b/doc/style.css @@ -548,3 +548,34 @@ a.openid_large_btn:focus { .trailsep { display: none; } + +/* mobile/small-screen-friendly layout */ +@media (max-width: 600px) { + .sidebar { + width: auto; + float: none; + margin-top: 0; + } + + /* if the mobile browser is new enough, use flex layout to shuffle + * the sidebar to the end */ + .page { + display: -webkit-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + flex-direction: column; + } + #pageheader { + -webkit-box-ordinal-group: -1; + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .sidebar, #footer { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 1; + -webkit-order: 1; + order: 1; + } +} diff --git a/themes/blueview/style.css b/themes/blueview/style.css index af1434574..7b3382c35 100644 --- a/themes/blueview/style.css +++ b/themes/blueview/style.css @@ -279,3 +279,26 @@ body { } +/* lose the border on mobile */ +@media (max-width: 600px) { + body { + padding: 0; + } + .page { + border: none; + margin: 0; + } + #pagebody { + margin: auto; + border: none; + } +} + +/* cancel the minimum width if it would mean scrollbars */ +@media (max-width: 850px) { + .page { + width: auto; + min-width: 0; + padding: 0; + } +} |