はてなダイアリーのスタイルを若干改造するコツ
思い立ったが、吉日という訳で、はてなダイアリーのスタイルを若干改造する。
目的は、とりあえず右段落の横幅を、もう少し縮める事。
では、スタート。
1.スタイルシートを、ぶっこ抜く
最初に、今適用されているスタイルシートを ぶっこ抜いて、スタイルの構造を把握する。
上で示したように、現在のページを「Webページ、完全」にて取り込む。
すると、「ふにゃるん.files」フォルダに、pict.css ファイルがあるので、エディタで開く。
2.右段落のスタイルを把握する
右段落のスタイルって、どこに記述されているか、って言うと、↓ここに回答が書かれている。
- はてなダイアリー - はてなダイアリーガイド「サイドバーに何かを入れる」とは
http://d.hatena.ne.jp/keyword/%a4%cf%a4%c6%a4%ca%a5%c0%a5%a4%a5%a2%a5%ea%a1%bc%a5%ac%a5%a4%a5%c9%a1%d6%a5%b5%a5%a4%a5%c9%a5%d0%a1%bc%a4%cb%b2%bf%a4%ab%a4%f2%c6%fe%a4%ec%a4%eb%a1%d7?kid=91911#a
つまり、sidebar クラスが定義されている訳。
「sidebar」を検索すると、すぐに見つかる。
.sidebar { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 90%; RIGHT: 25px; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 240px; PADDING-TOP: 0px; POSITION: absolute; TOP: 135px }
上で、"WIDTH: 240px;"って書かれている所が、右段落の横幅を決定している所。
3.管理画面のスタイル設定で、スタイルを弄る
このファイル(pict.css)を直接弄ってもいいのだけど、少し修正するだけなのに、そんな面倒な事はしたくない。
ってんで、ちょいちょいっと弄ってすませる事にする。
ここいら辺のスタイル指定は、はてなダイアリーの管理画面の、詳細デザインの下の方にある「スタイルシート」部で行う。
下の方に、「スタイルシート」ってのがあるが、ここにスタイル設定をかけると反映される。
実際には、はてなダイアリーでHTML出力された際のボディに反映される。
4.スタイル指定で、横幅を弄る
早速スタイルを弄る。
こんな感じに。
.sidebar { width: 80px; }
早速「プレビュー」ボタンで見る。
ダメじゃん。
右段落の横幅は確かに細くなっているけど、本文が追従してないじゃん。がぁん。
5.全ブロックに枠線を入れて、問題箇所を追跡する
何かが邪魔して、本文と右段落の間に「隙間」が空いていると推定する。
で、何が邪魔しているのか?追跡する方法として、コードを一々眺め回すのもあほらしいので、全ブロックに枠線を入れて、問題箇所を推定しやすくする。
スタイル指定の最下行に、以下のコードを追加する。
* { border-style: dotted; border-width: 1px; border-color: red; }
これでプレビューすると、以下のように、全ブロックが枠線表示される。
スタイル posted from フォト蔵
これで眺め回してみると、本文と右段落の間に、余計なブロックが入ってない。(入っている場合、このブロックの幅を短くすれば解決する)
という事は、本文自体が、特定のサイズに収まるように指定がかかっていると想定できる。
6.本文のスタイルを特定する
次は、本文のスタイルが何で指定かけられているか特定する事だ。
ここで、右クリックメニューの「ソースの表示」を使って、HTML文書コードを眺める。
この時、どこに当たりを付けるか?という問題がある。
必要なのは、本文の一番外枠(下図の矢印の部分)だ。
外枠のブロックの外と中に、何の文があるかというと、「ふにゃるん」と「<前の5日間」という文がある。
外枠は、この辺りであろうと当たりを付け、とりあえず「ふにゃるん」で検索する。
すると、早速↓こんなのが引っかかる。
</table> <h1>ふにゃるん</h1> <div class="hatena-body"> <div class="main"> <div class="calendar"> <a href="/Wacky/designdetail?of=5"><前の5日分</a> </div> <div class="day">
H1タグで囲まれた「ふにゃるん」の後、
- "hatena-body"指定をかけたDIVタグ
- "main"指定をかけたDIVタグ
が続き、「前の5日間」に到達している。
という訳で、外枠は "hatena-body"指定のDIVタグか、"main"指定のDIVタグの どちらか、と想定できる。
で、上の図を眺め回してみると、
- 「ふにゃるん」全体を囲む枠線は、下の枠線と完全に上下に切り離されている事がわかる。
- 更に、下の枠線は、画面一杯に伸びた枠線と、「前の5日分」までの3/4くらいまで伸びた枠線の2種類がある事がわかる。
ここから推定できるのは、
- 「ふにゃるん」のH1タグの後、全体を囲む外枠と、3/4を占める外枠がある
- 順番に考えて、"hatena-body"が全体を囲む外枠で、3/4を占める外枠は"main"で無いだろうか?
と想定できる。
じゃぁ、ってんで 早速確かめよう。
スタイルシート欄に、更に以下を追加する。
.main { border-color: blue; }
どうやらビンゴのようだ。
pict.cssの"main"を検索すると、以下のコードが見つかった。
.main { LEFT: 0px; MARGIN: 0px 250px 0px 0px; WIDTH: auto; POSITION: relative; TOP: 0px }
上の"MARGIN"で、"250px"と書かれている箇所がある。
ここを参照すると、右に250ほど幅を空けている事がわかる。つまりですな、こいつが本文と右段落のスキマの正体だった訳。