はてなブログのEpicテーマをリキッドレイアウトにしてみた
はてなブログを使っている技術者の方はEpicテーマを使っている人が多いなあと思います。シンプルで読みやすいので、内容重視の技術者ブログに適していますよね。
このブログもEpicテーマを使用していますが、幅が960pxで固定されているのが気に入っていませんでした。最近のディスプレイで見たら狭すぎです。ソースコードを配置してもすぐに右が切れてしまいます。そこでCSSをカスタマイズできる機能を利用してリキッドレイアウトにしてみました。
動作確認済ブラウザ
- MacOSX 10.0.2
- Safari 7.0.3
- Windows 8.1
- Chrome 34
- Firefox 29
- Opera 20
- Internet Explorer 11
CSSコード全文
/* <system section="theme" selected="alpha2"> */ @import "/css/theme/alpha2/alpha2.css"; /* </system> */ #container { text-align: left; width: 90%; max-width: 1160px; } #main { float: left; width: 100%; padding: 0 0 0 0; } #main-inner { margin-left: 130px; margin-right: 220px; } #wrapper { width: 100%; } #box2 { margin-left: -200px; width: 200px; } #main img { max-width: 100%; } /* <system section="background" selected="ddeaed"> */ body{background:#ddeaed;} /* </system> */
ポイント
主に下記の情報を参考にしています。
【CSS】3カラムレイアウト-左右は固定幅、中央は残りの幅目一杯に広がるレイアウト-14時の間食
日付の表示は、mainの並列ではなく、mainに含まれる要素だったところが少し違います。 また、そのままだと画像が横にはみ出してしまうので、max-widthを入れています。
それから横に長いディスプレイで読んだ場合、かえって読みづらくなってしまうので、#containerにもmax-widthを入れました。
その他参考にしたページ
- CSSで計算式を可能にするcalc()ファンクション|Web制作 W3G
marginにマイナス値を入れるテクニックとかも、これを使えば不要になるかもしれません。IE8を切れるなら使っても良かったかもしれないです。
- 日付のために左の列を使ってしまっているのは確かにもったいないと思うんでやってみたいです。
ただ、横幅が十分にある場合は今のままで良いので、レスポンシブルでできたらベストだと思いますので、いずれ挑戦してみたいです
はてなブログデザインカスタマイズの解説。WEBデザインのノウハウも詳しく解説。 - showrtpath - iPhone,iPadウェブブラウザアプリ開発ブログ
- さらに頑張ればここまでカスタマイズできるようです。
言い訳
僕はHTMLコーダーでもWebデザイナーでもないので、見よう見まねと当てずっぽうでCSSを書いていますので適切でない書き方ではないかもしれません。もしもっと良い書き方があればコメントいただければ有り難く思います。
追記
リキッドにしたら、落ち着かない感じになったように感じます。
日常のものはそんなふにゃふにゃしないからと考えれば当然ですね。
@susumuis Web画面でいうと、文章とかならレイアウトを動的に決めるんでもまあいいんだけど、ツール(アプリ)としての画面ならコロコロ変わられると道具としての使い勝手に差し障ると感じてます。コンテンツは情報つまり「初めて見る」事に価値が有るけど、ツールは「何度も見る」価値。
— 非実在naka aki (@naka_aki_spl) 2014, 5月 6
よく見るとfacebookやTwitterも横幅固定なのですね。
発見したこと
よく見ると、例えば、日付のカラムって、main divの内側で本文の下にあります。 これがEpicでは左側にあるのですが、普通に考えると左→右ってところを、marginとfloatを使って右→左の順番で並べています。 なんでこんな変なことするのかと思いますが、日付よりも圧倒的に本文が重要ですよね!
はてなブログはアクセスすると即座に本文がレンダリングされるので、その辺りが最適化されているようです。