Huemanテーマの印刷スタイルを書く
WordPress のテーマ Hueman はなかなか素敵.しかし印刷用のスタイルが定義されておらず,ページを印刷しようとしたらえらいことになる(本家サイトも対応していないし).Web で調べてみても,大して情報が出てこない.同じように困っている人がいることは確認.このテーマはそこそこ利用者が多い様子だけど,みんなこそっとカスタマイズして使ってるのかしら.
とりあえずページを印刷できないといろいろ困るので,スタイルを追加して最低限の情報をプリントできるようにする.参考までに
症状
- Hueman なサイトで記事(ページ)を印刷しようとすると,サイドバーの幅の影響で本文が表示されない.表示されたとしても,コンテンツ領域の幅が細く縦長に表示されてしまう.印刷できる状態でない.
目的
- Hueman なサイトでちゃんと記事(ページ)をしっかり印刷できるようにする
目標
- 個別記事(ページ)の本文を印刷できるようにする
- サイドバーやメニュー,ナビゲーション,関連記事等は印刷対象としない
環境
- WordPress 4.2.2-ja
- Hueman 2.2.3
- 子テーマ(Hueman-Child)を作成してサイトデザイン・運営
- Layout は 3 Column Middle(左サイドにPrimary,中央はメインコンテンツ,右サイドにSecondary)
子テーマの style.css に印刷用の media query を定義し,元スタイルを上書きしていい感じに印刷できるようにする.子テーマを使わずに運用している人は,custom.css を有効にして追記すればよいかと
何がいけないのか調べてみる
サイドバーの .s1 と .s2 クラスなオブジェクトのスタイルを単純に display:none; にすればできそう・・・だけど,印刷プレビューするとサイドバー分の空間が残ったまま(改善せず).
原因は div の main-inner クラス要素の padding が効いてるからっぽい.
具体的には,.col-3cm(3カラム設定でコンテンツ中央のときに適用されるクラス)の下の .main-inner(画像参照).

ということで,その padding 指定部分を print 時に 0 になるようにする.
style.css にメディアクエリ print の記述を追加
@media print {
/* ページ幅を適当に決めるとよいと思う.auto でもよい人はそうしたほうが */
body { width:960px; }
/* 印刷に含めないものたち */
#nav-topbar,
#nav-header,
#nav-footer,
#footer-widgets,
#comments,
.sidebar,
.post-nav,
.content h4.heading,
.related-posts,
.s1, .s2 { display: none !important; }
/* main 領域の幅をフルに,main-inner の余計な padding や margin を除く */
.col-3cm .main { background: none repeat-y right 0; width:100%; }
.col-3cm .main-inner { background: none repeat-y left 0; padding: 0px; margin:0px; }
}
結果
- とりあえずは記事本文を印刷できるようになった
- 画像の大きさが気になる・・・けどとりあえずはOKとする
- 3 Column Middle(col-3cm)じゃない人は,他の Layout のクラスで同じようにすればできるだろうと予想(試してはいない)
- 誰かうまいこと print.css を作って
- 何かあればコメント欄にどうぞ


 
																			 
																			 
																			 
																											 
																											 
																											 
																											 
																											 
																											