IE8ではtext-align: center;でdivタグ又はbodyが中央にならなくなってしまったので、修正方法を探していたところ、以下の質問・回答履歴を見つけました。
http://oshiete1.watch.impress.co.jp/qa4989799.html
上記の回答履歴では最終的にNo.6さんの以下の回答で問題が解決されています。
CSSでは以下のように記述:
div.center {
width: 80%;
margin-right: auto;
margin-left: auto;
}
HTMLではセンタリングさせたいdiv要素を以下のように記述:
<div class="center">文章等<div>
<質問1>
ここで私の質問ですが、なぜ上記の回答では<div class="center">文章等<div>
を中央に表示するためにCSSにwidth: 80%;が必要なのでしょうか(width: 80%はdivタグのセンタリングには特に必要ないのですか?なぜ、width: 80%が記述されているのか分かりません。)?この80%という値はどこから導き出されたのでしょうか(なぜ、例えば60%、70%等ではだめなのですか?)?
また、bodyタグをセンタリングしたい場合は、どうですか?CSSにwidth: 80%;が必要なのでしょうか?
<質問2>
「margin-right: auto;とmargin-left: auto;」以外にもmargin:0 autoという方法が他のサイトで紹介されていましたが、「margin-right: auto;とmargin-left: auto;」を使用した場合とmargin:0 autoを使用した場合の表示結果は全く同じなのでしょうか?margin:0 autoの場合、上下のマージンも0(無し)となるので、その点で上下のマージンを指定していない「margin-right: auto;とmargin-left: auto;」と異なるように思いますが?「margin-right: auto;とmargin-left: auto;」又はmargin:0 autoを使用する場合、他方を使用することに比べてメリット及びデメリットはあるのでしょうか?
また、もしも、「margin-right: auto;とmargin-left: auto;」の代わりにmargin:0 autoを使用する場合、記述は以下で正しいのでしょうか?
<divタグをセンタリングしたい場合>
CSSでは以下のように記述:
div.center {
width: 80%;
margin:0 auto
}
上記の記述で
div.center {
width: 80%;
margin-right: auto;
margin-left: auto;
}
と全く同じ表示になるのでしょうか?
<bodyタグをセンタリングしたい場合>
CSSでは以下のように記述:
body {
width: 80%;
margin:0 auto
}
上記の記述で
body {
width: 80%;
margin-right: auto;
margin-left: auto;
}
と全く同じ表示になるのでしょうか?
<質問3>
IE6又はそれ以前のIEは、「margin-right: auto;とmargin-left: auto;」又はmargin:0 autoではDivタグをセンタリングできず、text-align: center;を使用する必要あったような記憶があります。IE7/8に加えてIE6又はそれ以前のIEにおいても<div class="center">文章等<div>をセンタリングしたい場合、どのような記述となりますか?
以下のように「margin-right: auto;とmargin-left: auto;」又はmargin:0 autoをtext-align: center;と同じ場所に記述する方法はうまくいかないようですが。私の記述方法が悪いだけですか?
{
text-align: center;
margin-right: auto;
margin-left: auto;
}
又は
{
text-align: center;
margin:0 auto;
}
関連サイト等あれば、そちらも教えてください。
よろしくお願いします。
No.3
- 回答日時:
質問2
#2さんの回答の補足ですが
「ショートハンド」をgoogleで検索してみてください
---
質問3
>以下のように「margin-right: auto;とmargin-left: auto;」又はmargin:0 autoをtext-align: center;と同じ場所に記述する方法はうまくいかないようですが。私の記述方法が悪いだけですか?
widthがないからですね。
text-align: center;の意味はテキスト(インライン要素)をcenter配置です
DOCTYPEスイッチの後方互換モードや標準モードはご存知ですか?
http://codezine.jp/article/detail/2479
この回答への補足
salonpathさん
ご回答、ありがとうございました。
参考にさせて頂きます。
>DOCTYPEスイッチの後方互換モードや標準モードはご存知ですか?
>http://codezine.jp/article/detail/2479
上記のサイトでは、DOCTYPEスイッチの各種類の記述方法までは記載されていませんでしたが、種類及びその記述方法をできたらお教えください。
salonpathさん
補足を書く場所が無いので、ここに書きます。
>DOCTYPEスイッチの後方互換モードや標準モードはご存知ですか?
DOCTYPEスイッチの後方互換モードや標準モードに関する知識は余りありませんでした。
ただ、ここでDOCTYPEスイッチの質問を混ぜると論題がそれる可能性がありますので、DOCTYPEスイッチの後方互換モードや標準モードに関する質問は下記スレッドに分離しました:
http://oshiete1.goo.ne.jp/qa5100991.html
No.2
- 回答日時:
何かいろいろと勘違いされているようです。
- "margin: 0px auto;" と "margin-right: auto; margin-left: auto; margin-top: 0px; margin-bottom: 0px;" は等価です。
- DOCTYPE宣言をしていれば、"margin: 0px auto;" でIE6,7,8その他モダンブラウザでセンタリングされます。
- "text-align: center" でブロックレベル要素がセンタリングされるのはIE6の後方互換モードだけです
ブロックレベル要素をセンタリングする方法 - Web標準普及プロジェクト
http://www.mozilla.gr.jp/standards/webtips0004.h …
この回答への補足
think49さん
ご回答、ありがとうございました。
>- DOCTYPE宣言をしていれば、"margin: 0px auto;" でIE6,7,8その他
>モダンブラウザでセンタリングされます。
think49さんがおっしゃっている「DOCTYPE宣言」とは、いかのようなものでよいのでしょうか?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
よろしくお願いします。
No.1
- 回答日時:
質問1
width:80%が必要なのではなく
width自体が必要なんです
widthの指定されたmarginの左右がautoの要素がセンタリングされます。
widthなしのmargin:0 autoなど疑問を持った場所を自分で試してみましたか?
あとbodyタグのセンタリングとはどうゆう状態ですか?
この回答への補足
salonpathさん
ご回答、ありがとうございました。
>width自体が必要なんです
了解しました。
>widthなしのmargin:0 autoなど疑問を持った場所を自分で試してみま
>したか?
width指定が無ければ、divが画面の端から端まで伸びてしまい、margin:0 autoなどの意味が無いですね。
>あとbodyタグのセンタリングとはどうゆう状態ですか?
こちらも私の疑問なのですが:
IE7又はそれ以前のIEでは、スタイルシートのbody内にtext-align:center;を指定すると、HTMLのbodyタグ内の要素がセンタリングされて表示されていました。IE8では、この特徴がなくなり、スタイルシートのbody内にtext-align:center;を指定していてもHTMLのbodyタグ内の要素が左端に表示されてしまいます(下記コード参照)。
<style type="text/css">
<!--
body {
text-align:center;
background-color:#CCCCCC;
}
-->
</style>
</head>
<body>
<table border=4 width=250>
<tr bgcolor="#cccccc">
<th>例</th>
<th>列-A</th>
<th>列-B</th>
</tr>
<tr align=center>
<td>例1</td>
<td>A1</td>
<td>B1</td>
</tr>
<tr align=center>
<td>例-2</td>
<td>A2</td>
<td>B2</td>
</tr>
</table>
</body>
上記のコードは、正しくは以下のように書くということですか?
<style type="text/css">
<!--
body {
background-color:#CCCCCC;
}
.center2 {
margin-right: auto;
margin-left: auto;
}
-->
</style>
</head>
<body>
<table class="center2" border=4 width=250>
<tr bgcolor="#cccccc">
<th>例</th>
<th>列-A</th>
<th>列-B</th>
</tr>
<tr align=center>
<td>例1</td>
<td>A1</td>
<td>B1</td>
</tr>
<tr align=center>
<td>例-2</td>
<td>A2</td>
<td>B2</td>
</tr>
</table>
</body>
私の思い違いかもしれませんが、CSSのmargin-right: 又はmargin-left:を<table>タグ内に幅が指定してあるテーブル(上記のようなテーブル。例:<table 省略… width=250>
)に適用すると、テーブルの幅(width)が指定どおりにならないと読んだことがあるような気がします。そのような問題はないのでしょうか?
皆さん、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS htmltとcssのコードで 1 2022/11/26 13:37
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
CSSでh1とその下の文字との行間...
-
<h1>タグの後の行間を詰めたい。
-
端から端まで横線を引きたい
-
文字を中央に寄せる
-
フォームが枠で囲えない
-
パソコンでランドルト環の作成...
-
小さいオーブンレンジを探して...
-
<td> 内のテーブルを上寄せにす...
-
『入力文字列 + .html』 に...
-
バーコードのサイズは拡大縮小...
-
Dreamweaverでページを中央に表...
-
【Excel】代引手数料の算出
-
横幅が広い提携サイトはありま...
-
敬語
-
実行結果をデジタル時計みたい...
-
【DreamWeaver】セルの幅を変更...
-
window.openした時、親ウィンド...
-
table内で画像と文字をセンター...
-
パソコンサイズが横30cm縦20cm...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
aタグに直接style=""で:hoverを...
-
<h1>タグの後の行間を詰めたい。
-
HTMLフォームのSELECTの幅を一...
-
インラインフレームの表示位置...
-
コードを書いて下さい( ; ; )...
-
端から端まで横線を引きたい
-
INPUT TEXT内の文字位置を指定...
-
なぜ左に寄っているの?
-
FireFoxで見るとブラウザの幅に...
-
iPhone用のサイトの文字がずれ...
-
<legend>で表示されるタイトル...
-
Formタグのブロックの高さについて
-
CSSでh1とその下の文字との行間...
-
Dreamweaverで画面サイズを一定...
-
macとwindowsのレイアウト崩れ...
-
ホームページビルダー 空白の...
-
text-alignの解除の方法
-
パソコンのみで反映される余白...
-
Firefox 横スクロールバーを表...
おすすめ情報