Top > 2006年04月
2006年04月30日

ブロックレベル要素とインライン要素

HTMLの要素には大きくわけて、ブロックレベル要素とインライン要素の2種類があります。

■ブロックレベル要素
文字単位ではなく、ある大きな範囲(ブロック)に大して構造や意味を付加する要素です。
「ブロックレベル要素」に分類されている要素は、一般的には要素の直後で自動的に改行されます。
たとえば、見出しや段落の後には必ず改行されます。

■インライン要素
文字単位で構造や意味を付加する要素です。
「インライン要素」に分類されている要素は、特に要素の直後に改行はされません。
インライン要素は主に、ブロックレベル要素の中に含まれます。
インライン要素の中にインライン要素を含むことは出来ますが、ブロックレベル要素を含むことは出来ません。

■DIV(ブロックレベル要素)とspan(インライン要素)の違い

同じ「くくる」要素、DIV(ブロックレベル要素)でspan(インライン要素)、ブロックレベルとインラインの違いを確認してみましょう。

■DIV(ブロックレベル要素)

DIV(ブロックレベル要素)の場合は、このようにブロックごとの設定が出来ます。

ブロックレベル要素なので、タグが終了すると改行されます。
文字の下に引かれるラインもその一行全てに色がついています。


■span(インライン要素)
ちなみにspan(インライン要素)の場合は、このように文章の特定の設定が出来ます。インライン要素なので、タグが終了しても改行されません。
文字の下に引かれるラインもspanタグで囲ってある場所のみに色がついています。

※主なブロックレベル要素、インライン要素
■ブロックレベル要素

 要素名 意味 デザイン
h1見出し文字サイズが大きく、太字に。前後に空行ができる
p段落前後に空行ができる
ulリストの範囲前後に空行ができる
liリストの項目文字の前に黒丸を付ける、行末で改行する
hr区切り領域を区切るための横罫線を引く
blockquote引用前後左右空行ができる
div汎用ブロック複数の要素を一まとめにくくる
■インライン要素
 要素名 意味 デザイン
strong強調太字にする
aリンク文字色を青色にし、下線を引く
img画像画像を表示する
br改行改行する
span汎用インライン文章内の特定の箇所をくくる

2006年04月06日

ページが縦に長いとき

とても長いページ…それだけで読みたくなくなるものですが…それでも1ページ以内で表示しなければいけない時があります。
ただでさえ長いと読みたくなくなるものですから、ユーザーが読みたいところだけを読めるように工夫してあげる必要があります。

■ページ内のカテゴリごとにリンクをはる

ページが縦に長いときは、文章をいくつかのカテゴリにわけ、ページの上部でカテゴリ一覧としてリンクを作るとユーザーが便利です。
たとえば…
例)ホームページ・ブログ 【サイトの作り方・アクセスアップの仕方】インターネット便利帳
このページはページの上部に【コンテンツ】として、ページ内の各場所へリンクを作っています。
上からいちいち見る必要がなくてとても便利です。


●リンク

<a href="#1">1へのリンクです。</a>

●リンクが飛ぶ場所に配置

<a name="1"></a>


ページの内部へページトップへのリンクをおく

例)アフィリエイト(アソシエイト)【ネットで副収入】インターネット便利帳

各コンテンツ(緑のバー)の横に「▲」印があります。
これがページトップへ行くリンクです。


●ページトップへ行くリンク

<a href="#">▲</a>


※ちなみにリンク先を「#」にするとそのページを再読み込みするため、実質そのページのトップへ画面が移動します。

自分がどこにいるかわかる

制作した自分はサイトの構造がわかっていても、ページを見てくれるユーザーがわかってくれるかどうかはわかりません。
ユーザーが探している情報に効率よくアクセスできるようにするためにはナビゲーションが重要になってきます。

わかりやすいナビゲーションを作るには、そのページにアクセスしてきたユーザーが何を必要とするのかを考えます。
ページの階層が深い場合、すぐにトップページに戻れるようトップへのリンクがあると便利です。
大コンテンツと小コンテンツがある場合、大コンテンツに戻ることなく小コンテンツ内を行き来するリンクがあると便利です。
…このように自分がもしこのページを使うとしたら?と考えて書き出してみるといいかもしれません。

■同じ階層のページにアクセスするリンクを作る

※コンテンツ前後のページへのリンクや、カテゴリーメニューなど同じ階層のページにアクセスするリンク

■上位階層に戻るリンクを作る

※トップページやカテゴリトップなど上の階層にアクセスするリンク

■トップページに戻るためのリンクを作る

※トップページに直接アクセスできるリンク
大抵は、ページ左上にあるロゴ画像部分にリンクをはります


トップページに戻る…はロゴにリンクをはっておけばまず間違いはありません。
でも、上位階層や同じ階層のページへのリンクはちょっと頭をひねらないと出てこないかもしれません。
ここで便利なのがパンくずリストです。
トップページ > カテゴリ名 > ページ名

このようにトップページからカテゴリ、そして現在のページまでが一度にリンクされます。
それぞれにそれぞれのページへのリンクを張ればユーザーとしてはとても便利です。
このスタイルシートメモも、ページの上部にこのパンくずリストを表示するようにしています。


ついでに、ポイント。
検索エンジンでは、他のページからのリンクが多いページほど、「良いページ」とされ、それが検索結果に影響します。
全てのページにトップページへのリンクをはることで、一応そのページのランクを高くする事が出来ます。
もちろん、リンクはトップページへのリンクでなくても効果はあります。
※絶大な効果があるわけではありませんが(^^ゞ
ロゴのトップページへのリンクとパンくずリスト、両方使う事をオススメします。

2006年04月04日

Movable Type3.2の基本構造

テンプレートのデザインを変えてみようかなぁ…と思った瞬間に、<div id="container">だの<div id="container-inner" class="pkg">だの…入れ子がすごくて、デザインする気が起きなくなる、私のような方に(^^ゞ

少しはデザインを当てる気分になります。

<body>

 <div id="container">

 <div id="container-inner" class="pkg">

  <div id="banner">

  <div id="banner-inner" class="pkg">

   <h1 id="banner-header">Weblog Name</h1>

   <h2 id="banner-description">Weblog Description</h2>

  </div>

  </div>

  <div id="pagebody">

  <div id="pagebody-inner" class="pkg">

    <div id="alpha">

    <div id="alpha-inner" class="pkg">

    </div>

    </div>

    <div id="beta">

    <div id="beta-inner" class="pkg">

    </div>

    </div>

    <div id="delta">

    <div id="delta-inner" class="pkg">

    </div>

    </div>

    <div id="gamma">

    <div id="gamma-inner" class="pkg">

   </div>

   </div>

  </div>

 </div>

  </div>

 </div>

</body>


正直、これを見ても分からない人は分からないかもしれません。
(1)まず全てを「body」で囲っている
(2)その次に「container」で囲っている
※デザインをつけるために「○○-inner」や「pkg」で囲っている。
(4)「container」のなかに「banner」と「pagebody」がある。
※デザインをつけるために「○○-inner」や「pkg」で囲っている。
(5)「banner」部分にタイトルとして「banner-header」やサイト概要として「banner-description」がおかれている。
(6)「pagebody」部分に「alpha」や「beta」や「delta」や「gamma」などのカラムがおかれている。
※通常のデフォルトの場合は、2カラムなので、「alpha」と「beta」だけ。

index.rdf(RSS1.0)を3.2で書き出すには

「index.rdf」はMovableType3.2では標準では書き出されないみたいです。 というわけで、バージョンアップした方の中には今まで「http:○○/index.rdf」としてRSSを配信していた方も多いでしょうから…
「あれ!?なんだかRSSが全然更新されないんだけど?」とか「RSSが消えちゃった!?」なんていう事になってしまうわけです。

というわけで、MovableType3.2に「index.rdf」を追加する方法を紹介します。
(1)テンプレートで新規に「index.rdf」のテンプレートを作成します。
「テンプレートを新規作成 」を押して、出力ファイル名を「index.rdf」にします。テンプレート名はわかりやすければそれでいいです。
たとえば、「RSS1.0」とか…

内容には以下の情報をコピーしてペーストしてください。


(2)メインページ、アーカイブ、エントリー・アーカイブ、カテゴリー・アーカイブ、日付アーカイブ、のヘッダー部分に以下のソースを追加する
<link rel="alternate" type="application/rss+xml" title="RSS 1.0" href="<$MTBlogURL$>index.rdf" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<$MTBlogURL$>index.xml" />
というソースがあるのでその下にでもペーストすればよいと思います。

システムのテンプレート

MovableType3.2のテンプレート「システム」の中のテンプレートです。
最初の初期の状態のテンプレートです。
データを初期に戻したいときに、該当するテンプレートのデータをコピーして使用してください。■画像のポップアップ・ウィンドウ

■コメントの一覧

■ダイナミックページ・エラー

■トラックバックの一覧

■コメント・プレビュー

■コメント・保留

■コメント・エラー

※テンプレートのデータをテキストでほしい場合はMovable Type3.2基本テンプレートダウンロード:スタイルシートメモを利用してください。

アーカイブのテンプレート

MovableType3.2のテンプレート「アーカイブ」の中のテンプレートです。
最初の初期の状態のテンプレートです。
データを初期に戻したいときに、該当するテンプレートのデータをコピーして使用してください。■エントリー・アーカイブ

■カテゴリー・アーカイブ

■日付アーカイブ

※テンプレートのデータをテキストデータ一括でほしい場合は、Movable Type3.2基本テンプレートダウンロード:スタイルシートメモを利用してください。

インデックスのテンプレート

MovableType3.2のテンプレート「インデックス」の中のテンプレートです。
最初の初期の状態のテンプレートです。
データを初期に戻したいときに、該当するテンプレートのデータをコピーして使用してください。
■Atom

■Dynamic Site Bootstrapper

■JavaScript

■RSD

■RSS 2.0

■RSS1.0

■アーカイブページ

■スタイルシート

■メインページ

※テンプレートのデータをテキストデータ一括でほしい場合は、Movable Type3.2基本テンプレートダウンロード:スタイルシートメモを利用してください。

Movable Type3.2基本テンプレート

MovableTypeの前バージョンのテンプレートは、シックスアパートで手に入る(Movable Type: デフォルト・テンプレート:スタイルシートメモ)のですが、なぜか3.2のデフォルトテンプレートは公開されていません。
なんだかプラグインかなにかで初期が出来るかららしいですが…
個人的にココだけ直したいとか、ココはデフォルトではどうなっていたっけ?なんて思う事が多いので、
デフォルトテンプレートを保存しておきました。
同じようにデフォルトテンプレートがほしい!とか思う方は使ってみてくださいな。

配布物の内容について

■内容

インデックス

通常の8枚にプラスして、index.rdfを書き出すRSS01のテンプレートも入ってます。

アーカイブ

3点はいってます

システム

正直私は使ってませんが(^^ゞ7点入っています。

※テキストデータが入っているので、その中味をまるごと該当のテンプレートに上書きすると、あっという間にそのテンプレートだけ初期化されます。


ダウンロードする
Movable Type3.2基本テンプレート全種類をダウンロード

※テンプレートダウンロードが面倒くさい方は各テンプレートをこのブログ上で公開しているのでそちらを利用してください。
すぐコピペしたい方はこっちのほうが便利かも↓

■テンプレート「インデックス」」
インデックスのテンプレート:スタイルシートメモ
■テンプレート「アーカイブ」
アーカイブのテンプレート:スタイルシートメモ
■テンプレート「システム」
システムのテンプレート:スタイルシートメモ

プルダウンメニューの作成

大きいメニューがあって、そのメニューの上にカーソルを重ねると、小さいメニューが下に表示される…そんなプルダウンメニューを作成します。
メニューがあってさらに細かいメニューがあって…そういうナビゲーションを横に並べたい場合など、特に便利です。
縦のメニューでも、サブメニューを一覧で見せたいときは、結構便利ですよ。
ちなみに、このページではわかりやすいように大きいメニューは「メインメニュー」、その下に表示される小さいメニューは「サブメニュー」と書きます。

横のメニューの作り方です。
基本的にpositionで場所を設定しているので、可変式のページ設定の場合、使えない場合があります。

<div class="navi">

<div class="navi01">

<a herf="01.html" class="naviheader">メニューの大タイトル</a>

<div class="subnavi" id="navi01">

<a href="1a.html">1A</a>

<a href="1b.html">1B</a>

<a href="1c.html">1C</a>

</div>

</div>

<div class="navi02">

<a herf="02.html" class="naviheader">メニューの大タイトル</a>

<div class="subnavi" id="navi02">

<a href="2a.html">2A</a>

<a href="2b.html">2B</a>

<a href="2c.html">2C</a>

</div>

</div>

</div>


.navi a{
display:block;
width:120px;
height:30px;
float:left;
}

.navi{
position:relative;
top:0;
left:0;
}

#navi01{
position:absolute;
top:0;
left:0;
}

#navi02{
position:absolute;
left:121px;
top:0;
}

.subnavi a{
background-color:#FF0;
}

.subnavi{
visibility:hidden;
}

■「.navi a」で、簡単に説明しますとaをブロック要素に変更し、大きさを設定しています。
ブロック要素…などの設定の詳細については、リンクでボタンを作成する:スタイルシートメモが同じ内容なので、そちらで確認してください。
■「.navi」「#navi01」のpositionの設定
メニュー部分をそろえて表示するために「position:absolute」で表示位置を指定します。
バーの部分は「position:relative」を設定します。
relative
相対位置への配置となります。positionプロパティでstaticを指定した場合に表示される位置が基準位置となります。
absolute
絶対位置への配置となります。親ボックスにpositionプロパティのstatic以外の値が指定されている場合には、親ボックスの左上が基準位置となります。親ボックスにpositionプロパティのstatic以外の値が指定されていない場合には、ウィンドウ全体の左上が基準位置となります。
■メニューの表示位置の調節
このサンプルの場合、メニューひとつの幅は120pxという設定です。
メニューを横に並べて配置していくので、「#navi02」の左位置は、「#navi01」の長さ+1pxの分になります。
※1px増やしているのはメニューとメニューの間に隙間を付けたいからです。
隙間が要らない場合は、120pxでOKです。
■「.subnavi a」でサブメニューの色を変えたい場合は設定します。
■「.subnavi」を消す
通常状態でサブメニューが開いているのは、使い勝手が悪いので、通常状態はサブメニューを消すように「visibility:hidden;」を指定します。


HTMLとスタイルシートの設定は以上です。
好みによってテキストの色を変えたり、テキストの大きさを変えたり、細かい設定を行ってください。

後は、スクリプトを使ってプルダウンメニューの動作を設定します。
このスクリプトを使うことによって、メインメニューにカーソルを重ねることで、サブメニューを表示させることができます。

headerに設定してください。
<script type="text/javascript">

<!--

function MenuOn(X){

obj=document.getElementByld("subnavi"+x).style.visibility="visible";

}

// -->

</script>

2006年04月03日

画像リンクでボタンを作成

スタイルシートの色やボーダーの設定だけではどうしても淡白だ…そう思ったときは画像のボタンを作る事になると思います。
背景部分は画像、文字部分はテキストのボタンについて説明します。

まずは、通常時のボタン背景とカーソルが重ねられたときの背景を作ります。
※必ず同じ大きさで作ってください。


<p class="navi">

<a href="a.html">A</a>

<a href="b.html">B</a>

<a href="c.html">C</a>

</p>


p.navi a{
display:block;
width:100px;
height:30px;
float:left;
background-image:url(○○.gif);
background-repeat:no-repeat;
}

p.navi a:hover{
background-image:url(○○2.gif);
}

■p.navi aの設定について
「background-image:url(○○.gif);」で画像の設定を、「background-repeat」で画像がリピートされないように設定しています。
「height」でボタンの高さを指定しています(line-heightだと高さが変化するので注意)
※他の項目については、リンクでボタンを作成する:スタイルシートメモを参照してください。
■p.navi a:hoverの設定について
変更する背景画像を指定します。

リンクでボタンを作成する

画像を使わずテキストだけでボタンを作成する方法です。
各リンクを四角いボタンとしてデザインし、カーソルを重ねたときに色を変えるようにすると、まるでボタンのように見えます。

<p class="navi">

<a href="a.html">Aのリンク</a>

<a href="b.html">Bのリンク</a>

</p>


p.navi{
height:2em
}
p.navi a{
background-color:#FF0;
display:block;
width:10em;
float:left;
line-height:2em;
margin:2px;
text-align:center;
text-decoration:none;
}

■p.naviの設定について
「background-color」でボタンの下地の色を決めます。もし、下地の色で文字が読みにくくなったら「color」で文字色を設定してください。
「height」でバーの高さを指定します。値にはボタンの高さと同じ高さを指定します。
■p.navi aの設定について
ボタンの大きさを調整するためには、インライン要素である「a」が、ブロック要素である必要があります。「display:block;」を設定することで、「width」や「height」というボタンの大きさを設定することができるようになります。
「float:left;」とすることで、ボタンを横並びにできます。縦ならびにボタンを作る場合は必要ありません。
「line-height」でボタンの高さを指定しています。「height」で高さを指定しようとすると、文字が上部に配置されてしまったりします。
「text-decoration:none;」で余計な下線を削除します。


ちなみに、「p.navi a」の他のA要素、「p.navi a:hover」などの「background-color」や「color」を変更すると、カーソルを重ねたときに色が変わり、ボタンの色が変わったようなイメージになります。

リンクの下線のデザイン

リンクの下には、基本的に下線がひかれます。
この下線があることで、「ここはリンクだな…」とわかるのでむやみやたらに下線を消すことはよくないことなのですが…たとえば、テキストのボタンなどを作るときにはどうしても下線が邪魔になります。
そのときは下線を消してしまいましょう。

該当する「a」タグに以下の指定をしてください。

a{
text-decoration:none;
}

ちなみに、「none」の部分を変更する場合

  • underline
    テキストに下線が付きます。

  • overline
    テキストに上線が付きます。

  • line-through
    テキストに打ち消し線が付きます。

  • blink
    テキストが点滅します。

2006年04月02日

背景に画像を表示する

背景画像を使って、ページをレイアウトすることで、ページ自体がゴージャスになったりします。
この背景画像をスタイルシートで設定することで、すぐに画像を表示・非表示できたり修正することができるので便利です。

背景を設定する上で一番重要なのは、上に乗っている文字が読めること。
背景が暗い場合は明るい文字を、背景が明るい場合は暗い文字を使用するのが基本です。

haikei{

background-color:#FF0;

background-image:url(○○.jpg);

background-repeat:no-repeat;

}

一度に設定することも出来ます。

haikei{

background:#FF0 url(○○.jpg) no-repeat;

}


「no-repeat」は画像を繰り返さない、ということです。
例えば横に連続させたい場合は「x-repeat」縦に連続させたい場合は「y-repeat」にします。

便利なソフトとして、富士通アクセシビリティ・アシスタンス - FUJITSU Japanがあります。
このColorSelectorは無料で配布されているものなのですが、アクセシビリティの高い背景色と文字色の組み合わせをリアルタイムに確認することが可能な、クリエイターの為の強力な支援ツールです。
でもWindowsXPのみ対応です(^。^;)

Akasa Rira
みつけたきせき