🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

726閲覧

メディアクエリの使い方

shakeneko

総合スコア1

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2021/02/11 06:42

編集2021/02/12 06:21

前提・実現したいこと

サイト作成の時のメディアクエリのメディアタイプの書き方

@media(max-width:800px){} でレスポンシブできるのになぜ
screen and とかのメディアタイプをなぜ入れるのでしょうか?

例えば、プリンターに適用の際printをかかずに@media(max-width:800px){}
で適用されるのに、なぜ書くのでしょうか?

このメディアだけに表示させたいとかだったら使う意味はわかるのですが・・・。
webサイト作成の時に入れないと不便な事はあるのでしょうか?
不思議で仕方ないのでご先輩方、お教え宜しくお願い致します。

発生している問題・エラーメッセージ

@media(max-width:800px){}

該当のソースコード

css

1@media only screen and(max-width:800px){}

試したこと

色んなサイトをみましたが、載ってなくこちらに書き込みさせて頂きました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shakeneko

2021/02/12 06:03

すみません、間違っていました。質問内容を編集します。 お返事有難うございます。
guest

回答2

0

ベストアンサー

こんにちは。

__例えば、プリンターに適用の際printをかかずに@media(max-width:800px){}

で適用されるのに、なぜ書くのでしょうか?__

印刷結果に違いが出ます。


まず前提ですが、ブラウザを印刷する時の解像度は、1インチ=96pxです。
次に、A4用紙のサイズは、210mm*297mmです。
最後に、1インチ=25.4mmです。

つまり、A4用紙は、およそ793px*1121pxです。


ですので、以下をA4縦で印刷した場合、divは黒く、pは赤くなります。

html

1 @media screen and (max-width:800px) { 2 div { 3 color: red; 4 } 5 } 6 7 @media(max-width:800px) { 8 p { 9 color: red; 10 } 11 }

css

1 <div>div</div> 2 <p>p</p>

そして、A4横で印刷した場合は、両方とも黒くなります(Firefox)。
なお、一部のブラウザ(Chrome)では縦と同じように、divは黒く、pは赤くなるようですが、理由は分かりません。
バグかもしれません。

投稿2021/02/12 07:20

Lhankor_Mhy

総合スコア36941

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shakeneko

2021/02/12 07:35

大変貴重なご回答ありがとうございます。 印刷結果に違いがでるんですね・・・。 すみません、結果的に、Webサイトのメディアクエリは基本的に @media(max-width:800px){} で印刷とかするときはメディアタイプを変えるという認識で宜しいでしょうか?
Lhankor_Mhy

2021/02/12 07:48

要件による、ということになるかと思います。 max-width:800px のレイアウトで印刷したいのであれば、@media (max-width:800px){} max-width:800px のレイアウトで印刷したくないのであれば、@media screen and (max-width:800px){}
shakeneko

2021/02/12 08:21

分かりました、何回もご回答頂き有難うございました!
Lhankor_Mhy

2021/02/12 08:27

ご解決されて何よりです。 あまりいろいろ考えずにこれで通せばいい、というものが欲しいのであれば、@media screen and (max-width:800px){} を使った方がいいです。
guest

0

MDNなどで仕様を確認したうえで、いろいろ試した方が良いと思います。
メディアクエリの使用
CSS: カスケーディングスタイルシート
@media

投稿2021/02/11 09:18

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shakeneko

2021/02/11 12:15

ご回答ありがとうございます。 見てもよく分からなかったのですが、@mediaだけでいいということでしょうか?
m.ts10806

2021/02/12 08:39 編集

仕様を確認したうえで、”””いろいろ試した方が良い”””と思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問