わかりました、クライアントの 1 人のためにサイトをリマスタリングしています。何年もの間、CSS に関する限り、少し古い方法で作業を行ってきました。私はいくつかのことを読んで、clearfix と呼ばれる方法を見つけました。それについて読んで以来、試してみたいと思っていました。
試してみると、要素を中央に配置する方法が機能していないことがわかりました
通常は中央に配置しますmargin:0 auto;
が、clearfix を実装すると機能しなくなります。だから今、私は同じロジックを適用する手段を探していますが、方程式に clearfix を保持しています。新しいブラウザーで動作するものをいくつか見つけましたが、古いブラウザーで動作するかどうかはわかりません。他のことをするために何かをハッキングすることなく、これを可能な限りクロスブラウザーに準拠させようとしています. それが、私がサイトをリマスタリングしている多くの理由の 1 つです。準拠している、新しいきれいなコード ベースが必要です。
参考までに、これは私が使用しているclearfixの方法です http://www.webtoolkit.info/css-clearfix.html
*コードを表示するように編集*
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>[title here]</title>
<style type="text/css" media="all">
*{margin:0;padding:0;}
body{background-color:#3F3965;font-family:Verdana, Geneva, sans-serif;color:#000;}
#content_wrap{margin:0 auto;padding:0;width:800px;background-color:#FFF;}
#content_left{width:180px;float:left;}
#content_right{width:620px;float:left;}
.rounded{
-moz-border-radius: 10px; /* Firefox */
-webkit-border-radius: 10px; /* Safari, Chrome */
border-radius: 10px; /* CSS3 */
behavior: url(border-radius.htc);
}
.border{border:solid 2px;}
.light{border-color:#999;}
.dark{border-color:#666;}
.clr{clear:both;} /*standard clear*/
/*start clearfix*/
.clearfix:after {content: ".";display: block;clear:both;visibility:hidden;line-height:0;height:0;}
.clearfix {display:inline-block;}
html[xmlns] .clearfix {display:block;}
* html .clearfix{height:1%;}
/*end clearfix*/
</style>
</head>
<body>
<div id="content_wrap" class="clearfix rounded border dark">
<div id="content_left">left</div>
<div id="content_right">right</div>
</div>
</body>
</html>
前述のように、主要な包含要素は、clearfix クラスを適用すると「中央」の位置を失います。私の理解によるクリアフィックスの全体的なポイントは、その中に浮動要素を持つ親要素を取ることであり、要素をその中の最大の浮動要素の高さに合わせて調整することです。これが機能する場所では、margin:0 auto; が必要だと思います。提供されたクラスを介して同じ要素でそれ以外の場合は無視されます