全般的なスタイルシートのタグについて

[新着] Webテンプレートを仮オープンしました



0   名前: カラブリ : 2006/02/20 16:35  [URL
初めまして。カラブリと申す者です

ただ今ジオシティーをお借りしてHPを設立中なのですが

<HTML>
<HEAD>
<TITLE>Worldley Desires</TITLE>

<STYLE TYPE="text/css">
<!--

.sample1 { text-align: center; }


-->
</STYLE>

</HEAD>
<BODY>

<P CLASS="sample1"><a href="top.html">ENTER</a></P>

</BODY>
</HTML>

このようなタグを入れても
ENTERという文字が真ん中にこないのは何故でしょうか?
このタグに限らずスタイルシートのタグが全て使えないのですが…

1   名前: 匿名希望 : 2006/02/20 16:35
この場合は「ENTER」は<p>の中で真ん中に表示されるだけで、
<p>自体は左側にあるので、「ENTER」も左によっちゃいます。
例えば・・・

<style tipe="text/css">
<!--
body{ text-align: center; }
-->
</style>

とすると、<body>の中身は全部真ん中に表示されるようになります。
つまり<body>の中にある<p>は真ん中によってくるわけです。

へたくそな説明でわかりにくくてごめんなさい。

2   名前: カヅサツ : 2006/02/20 16:35  [URL
> <HTML>
> <HEAD>
> <TITLE>Worldley Desires</TITLE>
> <STYLE TYPE="text/css">
> <!--
>
> .sample1 { text-align: center; }
>
>
> -->
> </STYLE>
>
> </HEAD>
> <BODY>
>
> <P CLASS="sample1"><a href="top.html">ENTER</a></P>
>
> </BODY>
> </HTML>

確認しましたが、センタリングされています(されるはずです)よ。

> このタグに限らずスタイルシートのタグが全て使えないのですが…

そもそも、何かをミスっているのでしょう。
www.geocities.jp/kochiku_2645/ にはスタイルシートがなかったので、検証できませんでした。

3   名前: カヅサツ : 2006/02/20 16:35  [URL
> この場合は「ENTER」は<p>の中で真ん中に表示されるだけで、
> <p>自体は左側にあるので、「ENTER」も左によっちゃいます。

確かに p要素そのものは左側にありますが、p要素の内のテキストはセンタリングされる「はず」です。

> とすると、<body>の中身は全部真ん中に表示されるようになります。
> つまり<body>の中にある<p>は真ん中によってくるわけです。

違います。body要素に設定された text-align が、子要素である p要素に継承されるのです。

ちなみに、親要素に設定された text-align が、子要素そのものをセンタリングしてしまうのは、IEのバグです。
要素そのものをセンタリングする正しい方法は、左右margin を auto にします。

一覧へ戻る