CSS3メディアクエリをWebサイトに実装する方法はたくさんあるので、経験豊富なWebデザイナーが推奨する方法を知りたいと思います。私はカップルを考えることができます:
1.オールインワンスタイルシート
すべての画面幅に適用されるデフォルトのスタイルと、より低い画面幅にのみ適用され、デフォルトを上書きするメディアクエリがすべて1つのファイルにあります。例えば:
HTML
<link rel="stylesheet" href="main.css">
main.css
article
{
width: 1000px;
}
@media only screen and (max-width: 1000px)
{
article
{
width: 700px;
}
}
(これは単なる例であることに注意してください)
長所:
- デフォルトのスタイルは古いブラウザに適用されます
- 必要なHTTPリクエストは1つだけです
短所:
- たくさんのコードで面倒になります
- 一部のブラウザは、適用されないコードをダウンロードする必要があります
2.個別のスタイルシート
画面幅ごとに調整された完全なコードを含む個別のスタイルシートがあります。ブラウザは、該当するもののみをロードします。例えば:
HTML
<link rel="stylesheet" href="large-screen.css" media="screen and (min-width: 1001px)"> /*Also older browsers*/
<link rel="stylesheet" href="small-screen.css" media="only screen and (max-width: 1000px)">
large-screen.css
article
{
width: 1000px;
}
small-screen.css
article
{
width: 700px;
}
長所:
- きちんと整理された
- 必要なHTTPリクエストは1つだけです
- ブラウザは必要なものだけをロードします
短所:
- (これが私がこれを使用することを躊躇する理由です:)すべての画面幅に適用される変更を行う場合、変更をコピーしてすべてのスタイルシートの適切な場所に貼り付ける必要があります。
3.個別のスタイルシート、1つのグローバルスタイルシート
#1と同じですが、グローバルスタイルとメディアクエリは別々のスタイルシートにあります。例えば:
HTML
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="small-screen.css" media="only screen and (max-width: 1300px)">
main.css
article
{
width: 1000px;
}
small-screen.css
article
{
width: 700px;
}
長所:
- また、きちんと管理しやすい
- グローバルな変更を行う場合、#2の問題はありません
- グローバルスタイルは古いブラウザに適用されます
短所:
- 画面幅が小さい場合は、2つのHTTPリクエストが必要です
それが私が考えることができるすべてです。メディアクエリはどのように管理する必要がありますか?
ご回答ありがとうございます。