要素の表示方法を指定します。
指定できる値は、inline、block、list-item、none の4種類です。
display: inline;display: block;display: list-item;リストアイテムとして表示されます。
display: none;インライン要素とブロック要素については、CSSレイアウトで紹介しています。
list-item と指定することで、リストを作成することはできますが、ちゃんとリストを作成する場合は、<ul>を使用したほうがいいでしょう。
none を指定すると、完全に要素を非表示にします。似たものには、visibility: hidden;というものがありますが、違いは
という違いがありますので、使い分けましょう。
要素の縦位置を指定します。
このプロパティは、主に、テキスト内の画像に適用します。縦位置・・・というのは、テキスト(フォント)を基準に決められています。
vertical-align: baseline;vertical-align: text-top;vertical-align: middle;vertical-align: text-bottom;vertical-align: super;vertical-align: sub;要素の表示位置を設定します。
指定可能な値は、static、relative、absoluteの3つです。
position: static;position: realtive;position: absolute;relative、absoluteは、top、left、right、bottom プロパティと組み合わせて使用することで、位置を指定します。
まずは、relativeの説明をします。下のリンクにマウスを乗せてみてください。
これは、極端な例です。通常は、下のように使うことが多いでしょう。
どうなっているかと言うと、マウスを乗せたときに、relativeの相対参照を使って、本来の位置から、右に 1px、下に 1px 移動させています。
a:hover {
position: relative;
top: 1px;
left: 1px;
}
:hover・・・というのは、擬似クラス・擬似要素のところを見てください。
右に1px、下に1px動かしたいときは、元の位置の左から1px、元の位置の上から1px 移動させる・・・と考えてください。
次に、absoluteの説明をします。absoluteは、親要素からの相対位置指定です。ただし、基準となる親要素には、position: relative; または position: absolute; を指定しておく必要があります。
position: absolute;
top: 20px;
left: 10px;子要素
position: absolute;
bottom: 10%;
right: 30%;子要素
親要素の大きさは 100px×100px です。親要素には、position: relative; が指定されています。
このタグも、レイアウトに使用することがあります。position: absolute; は、使い勝手が良いのですが、使い道は限られるかと思います。なぜなら、positionプロパティを使用した要素は、重なって表示されることがあるためです。
これについては、CSSレイアウトのページで説明してあります。
positionプロパティを使用した時の、要素が重なる順番を設定します。
positionプロパティ(absolute)を使用すると、要素を重ねることができます。その、重ねる順番を指定するためのプロパティです。(z-index:Z軸方向の指定・・・という意味合いでしょうか。)
通常、要素が重なる場合は、後に書かれている要素の方が、上に表示されることになります。下の「Cascading Style Sheets」という文字は、要素が重なった場合のサンプルになります。
Cascading Style Sheets
z-indexプロパティの値には、数字を指定します。(単位は必要ありません。)大きな数字を指定するほど、前面に表示されることになります。
z-index: 1;
ためしに、z-indexプロパティを付けて、「Cascading」が一番上、「Style」が次、「Sheets」が一番下に表示されるようにしてみました。
Cascading Style Sheets
判りにくいですが・・・よく見れば、違いは分かるでしょう。
面白いプロパティですが・・・このプロパティを使用する機会は、滅多に無いでしょう。
要素を見えるようにするか、見えないようにするか指定します。
指定できる値は、visible と hidden の2種類です。
visibility: visible;visibility: hidden;似たようなものに、display: none;というプロパティがありますが、違いは、
ということです。
要するに、display: none;を指定すると、要素は跡形も無く、全く表示されなくなります。また、要素の効果も適用されません。
それに対し、visibility: hidden;を指定した要素は、(見えないけど)その要素大きさのスペースが確保されます。また、要素の効果が適用されます。
要素の効果・・・と言うと、<br />にdisplay: none;とvisibility: hidden;を付けて、比べてみれば分かります。(元からbrは目に見える要素では無いですが・・・そこは気にしないこと。)
display: none;を指定した場合は、改行は行われません。しかし、visibility: hidden;を指定した場合は、改行が行われます。試してみてください。
このプロパティを何に利用するか・・・私はよく知りません。ただ、私の場合は以下のようにして使用する場合があります。
hr.clearing { visibility: hidden; clear: both; height: 1px; }
これは、floatの回り込みを解除したいとき、floatを指定した要素の次に、clearを指定できる適当なブロック要素が無い場合に、
<hr class="clearing" />
という水平線を挿入します。こうすることで、水平線は表示されること無く、floatの効果を打ち消すことができます。
・・・あくまで、「私はこうやって使います」というだけです。もっと効果的な使用法があるかもしれませんので、あしからず。