古いブラウザで CSS Calc() を使用せずに動的なサイズ変更を実現するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-16 22:36:03
オリジナル
533 人が閲覧しました

How Can I Achieve Dynamic Sizing Without Using CSS Calc() in Older Browsers?

CSS Calc の代替

CSS calc() 関数は、CSS ルール内で数学的計算を実行する便利な方法を提供します。ただし、レガシー ブラウザーと一部のモバイル ブラウザーのサポートは制限されています。この記事では、特に IE 5.5 以降、Opera、Android ブラウザを対象として、calc() を使用せずに動的サイジングを実現する別のアプローチを検討します。

IE-OLD では、expression() プロパティを使用して、 calc のような構文をサポートしていますが、これは非推奨であり、使用するとセキュリティ上の懸念が生じます。代わりに、border-box 値を持つ CSS box-sizing プロパティを採用することを検討してください。このアプローチでは、幅プロパティから減算するのではなく、パディングとマージンを使用して、希望のサイズを実現します。

たとえば、元の質問で提供された例を考えてみましょう。ここでは、固定幅のサイドバーが隣接するコンテンツの幅。 content 要素で width: calc(100% - 300px) を使用する代わりに、次のコードを使用して同じ効果を実現できます。

.sideBar {
  position: absolute; 
  top:0;
  left:0;
  width: 300px;
}
.content {
    padding-left: 300px;
    width: 100%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
ログイン後にコピー

要素の幅である box-sizing: border-box を設定することで、要素のボックス モデルの外側の追加スペースとして扱うのではなく、パディングとボーダーを含めます。これにより、パディング左は、CSS で宣言されている実際の幅に影響を与えることなく、コンテンツ要素の使用可能な幅を効果的に減らすことができます。

このアプローチは、IE 5.5 以降だけでなく、Opera やAndroid ブラウザーは、幅広いブラウザーにわたって一貫したソリューションを提供します。

以上が古いブラウザで CSS Calc() を使用せずに動的なサイズ変更を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート