この質問のスタックオーバーフロートピックといくつかのGoogle検索結果を確認しましたが、問題を解決できないようです。
私は、基本的に多くの属性に変更を加えたmain.cssのコピーであるモバイルデバイス(mobile.css)のスタイルシートを作成しました。 mobile.cssのみをスタイルシートとしてロードすると、iPhoneで見栄えがよく、希望どおりに表示されます。しかし、両方を入れると、両方のミックスが得られますが、main.cssの方が多くなります
なぜか?
<head>
<link rel="stylesheet" href="styles/main.css" type="text/css" media="screen" />
<link rel='stylesheet' media='screen and (max-device-width: 480px)' href='styles/mobile.css' type='text/css' />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
documents によると、特定のデバイス/条件で別のファイルをロードする構文は次のとおりです:
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" media="only screen and (max-width: 400px)" href="mobile.css" />
<link rel="stylesheet" media="only screen and (min-width: 401px)" href="desktop.css" />
これにより、width
の量ごとに1つのcssファイルのみがロードされます
Retinaディスプレイを備えたiPhone 4と新世代のiPod touchには、注意すべき点があります。 iPhone 4の幅は640
多くの開発者がこの幅をモバイルブラウザの幅として数えないピクセル。これをメタタグの下に追加すると、ドキュメントの問題は解決します
<meta name="viewport" content="width=320">
このメタタグは画像の品質に影響します。その問題を修正したい場合は、これについて読む必要があります ここ 。
マークアップなしでは知るのは難しいですが、私はあなたが次のようなことをするべきだと思います:
http://www.stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries
<link rel="stylesheet" href="base.css" /> // has all the common classes
<link rel="stylesheet" href="mobile.css" media="screen and (max-device-width: 320px)" />
<link rel="stylesheet" href="largescreen.css" media="screen and (min-device-width: 321px)" />
モバイルスタイルシートは条件付きで読み込まれます。つまり、コンピューターはのみ _main.css
_を読み込み、iPhoneは両方 _main.css
_および_mobile.css
_。
IPhoneにページをロードするときに最初から始めたい場合は、このCSSのチャンクを_mobile.css
_の上部に追加するだけです。
_/*
YUI 3.4.0 (build 3928)
Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#000}
_
CSSを効果的にリセットします。
@スコット;次のようにmobile.css
の後にmain.css
を定義する必要がある場合があります。
<link rel="stylesheet" href="main.css" media="screen" />
<link rel="stylesheet" href="mobile.css" media="screen and (max-device-width: 480px)" />
または、次のようにmobile css
をmain.css
に定義できます。
@media screen and (max-device-width: 480px){
body {
background: #ccc;
}
}
編集:
これを<!DOCTYPE html>
ではなく<DOCTYPE html>
としてHTMLに記述します。