
いつもお世話になっております。
よろしくお願いいたします。
wrapperのセンタリングがchromeで"のみ"出来ません。
スタイルシートの1行目に
* {margin:0 auto;}
と指定し、IE、FFでは問題なくセンタリングが行われています。
chromeでは更に、開発ツール上でwrapperに対してmarginを指定してやると
正しくセンタリングが行われます。
ところが改めてスタイルシート上で同様にwrapperに対して
marginを指定してもセンタリングされないのです。
これは一体どうしたことなのか・・・
何が邪魔をしているのでしょう。
また、リロードを繰り返すと何度かに一度センタリングされることがあります。
その逆で、一見正しくセンタリングされているように見えても
リロードを実行するとセンタリングが解除されることもあります。
javascriptを外してみても結局は変わりませんでした。
ご存知の方、是非ともご教示頂ければと思います。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
私は経験ないです。
* {margin:0 auto;}
こんなことしません。そもそもmargin:0;pdding:0;はセンタリングには関係ないです。
マージンは外のpaddingは内側の余白
*は全称セレクタで詳細度は0ですが、カスケーディングの仕組み上、デフォルトのすべての要素のmargin,paddinを0にしてしまいます。
そのため、本来は存在するはずのすべての要素のmargin,paddingを再度、すべて書き加えなければならなくなります。blockqutte,ol,ul,dl,li・・などすべて登場するたび再設定なんて無駄はしない!!
5.3 全称セレクタ( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
6.4 カスケード処理( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
5 セレクタ( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
6 プロパティ値とカスケーディング、継承の割り当て( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
はスタイルシートを利用するときの基本ですので、これだけは完璧に理解しておくこと。プロパティとか算出値などは、必要なとき見ればよい。
たぶん、原因は違うところにあります。
サンプル・・・とっても単純なサンプルです
★タブは_に置換してあるので戻す。
★のDATAで検証済みのHTML4.01strict
★IE7以降、firefox,Opera,Googlechrome,Safariなどすべてで同じになるはず
とはいっても
IE5,5.5ではセンタリングされない
IE6以前ではnav,asideが低いまま
で使用には差し支えないはずです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
html,body{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{margin:0;line-height:1.6em;}
p{text-indent:1em;}
div.header,div.section,div.footer{width:90%;min-width:400px;max-width:880px;margin:0 auto;padding:10px;}
div.section{position:relative;min-height:300px;}
div.section h2,div.section p{margin:0 160px;}
div.section div.section{width:auto;min-width:0;min-height:0;margin:5px 160px;}
div.section div.section p{margin:0;min-height:0;}
div.section div.nav,div.section div.aside{position:absolute;width:150px;top:0;height:100%;}
div.section div.nav{left:0;}
div.section div.aside{right:0;}
/* 色づけ */
body{background-color:gray;}
div.header{background-color:aqua;}
div.section{background-color:white;}
div.section div.section{background-color:silver;}
div.section div.nav{background-color:fuchsia;}
div.section div.aside{background-color:lime;}
div.footer{background-color:orange;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<h2>見出し</h2>
__<p>本文はsection</p>
__<div class="section">
___<h3>項見出し</h3>
___<p>本文項記事</p>
___<p>sectionの階層でレベルが判断される</p>
__</div>
__<div class="nav" id="contentTable">
___<h3>目次</h3>
__</div>
__<div class="section">
___<h3>チェックすべきこと</h3>
___<ol>
____<li>DTDはstrictであるか</li>
____<li>DOCTYPEは標準モードで動作するよう適切に書かれているか</li>
___</ol>
___<p>
____基本的にこれだけを守っておけば、現行のブラウザでの差は出ないはずです。
___</p>
__</div>
__<div class="nav" id="contentTable">
___<h3>目次</h3>
__</div>
__<div class="aside">
___<h3>補足</h3>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistory">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2014-07-02</dd>
__</dl>
_</div>
</body>
</html>
No.1
- 回答日時:
wrapperって何でしょうか?
<div id="wrapper"></div>って事ですか?
普通は*にmargin:0 auto;を入れるなんて無茶苦茶な事はしないと思いますが、
例それをしたとしても別に問題は起こりません。
シンプルに、下記の様なソースを書いたとしましょう。
■html body内
<div id="wrapper">
test
</div>
■css
*{
margin:0 auto;
}
#wrapper{
width:500px;
background-color:#999;
}
※視覚的にわかりやすいよう、背景色を入れてます。
※marginのautoは横幅を指定したブロック要素にしか効かないのでwidthも入れてます。
これは後方互換モードのIE6を除き、どのブラウザでも同じように表示されます。
(ボックスは中央配置、テキストは左寄せ)
よって、*{margin:0 auto;}自体には問題は無く、意図通りの表示にならないのは*{margin:0 auto;}の記述以外が原因です。
ですので質問文では情報が足りません。
例えばcssファイルの記述を半分消して各ブラウザでどうなってるか確認する、等の部分的なチェックをしつつ絞り込んでいけば自ずと原因の記述がわかるはずです。
(cssが問題なんだったら)
IEはさておき、ChromeとFFで表示が異なるというのは結構異常な事なので、
サイト全体的におかしなことになっている可能性があります。
おかしな指定をしているか、html文書内でタグがてれこになってるとか…
htmlの記述ミスはこういったサイトでチェックできます。
http://cetus.sakura.ne.jp/htmllint/htmllint.html
http://www.htmllint.net/html-lint/htmllint.html
上で*{margin:0 auto;}自体には問題は無い、と書きましたが、問題が無いわけではなく
全ての要素に対してmargin:0 auto;が指定されているので、レイアウトが非常にやりにくくなるはずです。
状況の把握不足に陥り、自分でも何が何だかわからないcssの指定をやりまくっているんじゃないかと思いますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- その他(趣味・アウトドア・車) なんで? 1 2022/10/25 12:33
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- HTML・CSS htmltとcssのコードで 1 2022/11/26 13:37
- その他(プログラミング・Web制作) Pythonによる物理の斜方投射の位置座標表示について 2 2023/06/05 12:46
- その他(プログラミング・Web制作) Pythonにおける物理のシミュレーションでの単位変換について 2 2023/06/02 17:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
セクションをdivで囲むと見出し...
-
HTML属性での「""」 「''」違い
-
htmlでdivをなるべく使わないで
-
複数のボタンを等間隔に、かつ...
-
改行がしたいのですが、うまく...
-
インラインフレームのページ内...
-
htmlのブラウザごとの表示について
-
グリッドレイアウトで"auto-fit...
-
開始タグと終了タグについて
-
<div id="container">の使いか...
-
floatを使った時のブラウザでの...
-
コピーライト下・フッター一番...
-
inline-blockをネストすると表...
-
ローカルとWeb上で見え方が違う...
-
ヘッダーとフッターだけ背景を...
-
html の divとtable の役割
-
2段組レイアウト時に意図しな...
-
自分のサイトにいろんなサイト...
-
align="middle"が無視される T...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
html の divとtable の役割
-
<div id="container">の使いか...
-
ヘッダーとフッターだけ背景を...
-
1時間30分を簡単に表したいで...
-
スペースを使わず文字位置を揃...
-
div要素が重なってします
-
divの中に外部のHTMLを埋め込む
-
複数のボタンを等間隔に、かつ...
-
min-heightとheightの違いについて
-
セクションをdivで囲むと見出し...
-
htmlでdivをなるべく使わないで
-
要素間、要素内に隙間が空く
-
ブログのサイドバーが下にくる
-
body>div{}の意味を知りたい
-
スライド部分のリンクが貼れな...
-
画面を縮小するとカラムが落ち...
-
htmlの見出しタグ(<h1>)の次...
-
インラインフレームのページ内...
おすすめ情報