ホームページ >ウェブフロントエンド >htmlチュートリアル >「完全な」CSS_html/css_WEB-ITnose を使用する場合の欠点についての簡単な説明
ブラウザの脆弱性またはサポートされている CSS 機能の欠如により、ブラウザごとに異なる CSS レイアウトが表示されます。たとえば、古いバージョンの Microsoft Internet Explorer 6.0 は、独自の CSS2.0 プロパティの多くを実装しており、幅、高さ、浮動小数点などの多くの重要なプロパティを誤って解釈していました。いわゆる CSS 担当者の多くは、最も人気のある、またはよく使用されるブラウザで一貫したレイアウトを実現する必要があります。ブラウザによっては、ピクセル精度のレイアウトを実現できない場合があります。
CSS セレクターは、特定の標準に準拠するために親レイヤーや要素の継承を提供できません。 XPath などの高度なセレクターにより、複雑なスタイル設定が容易になります。ただし、ブラウザのパフォーマンスと親セレクターに関連するレンダリングの問題の増加が、CSS ワーキング グループがこの提案を拒否した主な理由でした。
スタイルの継承は、DOM 要素の階層とブラウザ内の特定のルールに基づいています。
要素の水平方向の配置は一般に制御が簡単ですが、垂直方向の制御は直感的ではなく、回りくどく、さらには不可能です。簡単に言うと、たとえば、要素を垂直に囲む、フッターを表示ビューポート (ウィンドウまたは画面の表示範囲) の下部より高く配置しない、直感的なスタイル ルールではなく複雑なスタイル ルールが必要、またはシンプルだがルールは広くサポートされていません。
現在の CSS には、属性値を明確かつ単純に表示する方法がありません (例: margin-left: 10% - 3em +4px;)。これは、合計フィールド内の計算フィールドのサイズ制限など、多くの状況で役立ちます。いずれにせよ、CSS WG は CSS 制限の草案を公開しており、Internet Explorer 5 以降のバージョンでは同様の機能で構文表示をサポートしています。
異なる属性でも同じ効果が得られるため、混乱が生じることがよくあります。たとえば、position、display、float は異なる構成メソッドを定義しており、同じ意味で効果的に使用することはできません。 float:left を指定する要素は表示効果の影響を受けるべきではないため、display: table-cell 要素では float または Position:relative を指定できません。さらに、新しく作成された属性の影響は考慮されません。たとえば、テーブルでは、テーブル要素を指定するのに margin-* の代わりに border-spacing を使用する必要があります。これは、CSS ガイドラインに従って、テーブル内の要素には境界線 (マージン) がないためです。