アメーバブログさんを利用して数日経ちますが、



アメブロさんに限らず近頃のブログは、
かなりデザインの自由度が高くなっています。


ここはCSSのみ編集可能ですが、
以前使ってたyaplogさんなどは、部分的にHTMLの編集も可能でした。

もちろん、HTMLも編集可能の方が自由度は高いのですが、
もともと綿密にHTMLが組まれているもので、
下手にいじるとデザインが崩壊、修復不可で一から…なんてことになりかねません。



つまり、簡単なデザイン変更でよければ、HTML編集が可能であっても、
極力CSSで行うべきなのです。

これはブログに限らず、自作HPを作る場合にもあてはまります。



というわけで、とりあえず誰もがやりたいような、

「ブログのタイトル画像の差し替え」をCSSのみでやってみたいと思います。


※作業行程は、アメーバブログさんでの作業を前提としますが、
 基本的な流れと考え方は、どのブログサービスでも変わりません。





①画像の用意・アップロード

まずはタイトルにしたい画像を用意しましょう。
サイズの指定はありませんが、アメブロの場合、幅は800px、
高さは大体300~500pxくらいにしておくとよいです。

画像ができたら、マイページ→「ブログを書く」タブ→「アメブロを書く」タブ→画像フォルダ
のページからアップロードしておきます。




②実際に画像を表示させる

アメーバブログでは、これは二通りのやり方があります。
どっちも簡単なのですが、まずCSSをいじらなくてすむ方法。


●「ブログを書く」タブ→「デザインの変更」タブ→スキンのカスタマイズ

 ページから、「ヘッダ」の画像選択画面から先ほどアップロードした画像を選択するだけです。




次に、CSSをいじる方法。

●「ブログを書く」→「アメブロを書く」→画像フォルダ
 ページに行き、先ほどアップした画像を右クリック、「画像のURLをコピー」をクリックします。

 「ブログを書く」→「デザインの変更」→「スキンCSSの編集」の画面から、
 好きな所に、次のように書きこみます。

#header{
background-image:url("コピーしたURLを貼り付け");
background-repeat:no-repeat;
}



ちょっとHTML知ってる人向けに解説しておくと、
ブログデザインのようにHTMLに手を出せない場合、
CSSのみで自分の好きな画像を表示させるには、background-imageが唯一の方法です。

ご使用のブログのソースをみて、該当箇所のdiv要素に、background-imageを適用すると、
ある程度好きな場所に画像を表示させることができます。







③高さの調整

画像が細かったり太かったりで、違和感がある場合は幅を画像に合わせ調整しましょう。
CSSの好きな所に、次のように書き込みます。


#overHeader{
height:適当な数px;
}


※アメーバブログの場合。


画像より少し大きめにして、余裕を持たせてもいいかもしれません。







基本的にはこれで十分なのですが、
用意された画像によっては、
左上にブログタイトル、ブログ解説が表示されるのが邪魔に感じる方もおられるでしょう。

というわけで


④タイトル、解説の文字を消す。

これまた好きな所に、次のように書きこんでください。

#header h1{
text-indent:-1000px;
}
#header h2{
text-indent:-1000px;
}


好きな所に…
と言ってますが、
よく探せば"header h1"と書かれたカッコはすでにあるはずなので、
その中に書いてもらっても構いません。



文字を消すことは実はできなくって、font-sizeで0px指定したとしても、
めっちゃ小さく画面に残ってしまいます。
なので、文字を大きく移動させ、画面外に吹っ飛ばす、という作業をここでは行っています。

しかし「h1」という要素ごと移動させようとすると、せっかくアップした画像まで吹っ飛んでしまいます。
text-indentは、文字要素だけを移動させることができるので、
-1000pxなど、十分大きな数を指定することで、文字を画面外に吹っ飛ばせます。


ちなみに、
#header h1は、div id="header"の中のh1要素という意味で、ブログタイトルにあたります。
同じく、header h2はブログ解説にあたります。

アメブロさんに限らず、ブログのデザインをCSSで変更する際は、
ブログのソースを見て、「該当箇所はなんというdiv要素にあたるのか」、ということを調べて、
CSSで指定・編集するという形が基本です。




文字が消えましたか?

でもまだ納得いかない人もいることでしょう。


ブログのタイトル文字をクリックするとブログのトップに戻れる、
と言うのがそもそもタイトルの役割でした。

最後に、アップした画像にその機能を持たせてみましょう。



⑤タイトル画像をクリックすると、トップに戻るようにする。

好きな所に、次のように書きます。

header h1 a{
display:block;
height:画像の高さ;
width:画像の幅;
}



どうでしょう?

以上でタイトル画像の変更は終了です、お疲れ様でしたー!



header h1 aは、h1の中のリンク要素を示しています。
なにも指定しない場合、h1のリンク要素は文字とくっつき、
先ほどのtext-indentで、文字と一緒にはるか画面外に吹っ飛んでいます。

文字とリンクを切り離すのが、
display:block;で、「これから四角いリンクゾーンをつくります」という意味であり、
その下のheightとwidthで大きさを画像に合わせています。