aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2014-11-25 23:42:16 +0000
committerSimon McVittie <smcv@debian.org>2014-12-01 21:29:46 +0000
commit5fe28eb4c29cb31bd6293beb67cccc9b01e967ec (patch)
tree9a58b42b935a80f65cd31dfc72194270b0c5186b
parent67c0dd10131ff5b6762ef620566f6c40b5b1c8c9 (diff)
downloadikiwiki-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.css31
-rw-r--r--themes/blueview/style.css23
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;
+ }
+}