![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
現在webページをスクリーンサイズによってPCとスマホにCSSを切り替えることによって
振り分けています、この場合google mapのサイズを切り替えたいのですがうまくいきません。
google mapは
<div id="map" style="width:606px; height:420px;">
のように指定しています。
やってみたのはPC用CSSをpc.css、スマホ用CSSをsm.cssとすると
<div id="pcmap">
<div id="map" style="width:606px; height:420px;">
</div>
<div id="smmap">
<div id="map" style="width:406px; height:420px;">
</div>
と記述し、それぞれのCSSでdisplay:none;したのですが無条件で2件目のmapが表示されないためうまくいきません、CSSに関わらず二重設置になるからだと思います。
なにかいい方法はないでしょうか?
No.1ベストアンサー
- 回答日時:
まず、HTMLが間違っています。
idは、ひとつの文書内に一つしかかけません。
「この属性は、要素に名前を割り当てる。この名前は文書中で一意でなければならない。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」
・また、HTMLはデザインために書くものではありません
><div id="map" style="width:606px; height:420px;">
HTMLのstyle属性での指定は、詳細度が a=1 ですので、外部スタイルシートやHTML内のスタイルシートでは上書きできません。
【引用】____________ここから
count 1 if the declaration is from is a 'style' attribute rather than a rule with a selector, 0 otherwise (= a) (In HTML, values of an element's "style" attribute are style sheet rules. These rules have no selectors, so a=1, b=0, c=0, and d=0.)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Assigning property values, Cascading, and Inheritance( http://www.w3.org/TR/CSS2/cascade.html#specificity )]より
もう一点、DOMは理解されていますか
id
div pcmap
+ div map
+ div smmap
+ div map
firefoxをお使いなら、ツールにDOM inspector がありますので確認してください。たぶん想定されているものと異なるのではないですか?
また、display:noneを指定すると、その子孫要素で他のnone以外を指定しても無効です。
【引用】____________ここから
none
要素には、整形構造にまったくボックスを生成させない(すなわちレイアウトに影響しない)。 子孫要素にも同様にボックスを生成させない。 この効果は、子孫要素の'display'に別の値を設定しても無効化できない。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[視覚整形モデル( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )]より
なぜ、スタイルシートを切り替えているのに、複雑怪奇なHTMLを書くのですか?
<div id="map"></div>
でよいのでは?
さらにいえば、スマホもパソコンもスクリーン端末(madia)です。普通にリキッドデザインで作成すればよいのでは?・・・・それとも今後さまざまな端末が登場するたびに、スタイルシートを作成する???
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html スクロール要素を下から表...
-
google mapのサイズのcssによる...
-
textareaで入力した文字を改行...
-
【CSS】floatで左右に並べた...
-
CSSで背景を下までのばすには?
-
ヘッダとフッタが固定でコンテ...
-
表の文字均等割りについて
-
MAX関数を使ってからLEFT JOIN...
-
createElementが一瞬で消えてし...
-
Gif画像のアニメーションが再生...
-
JavaScriptで変更した属性の元...
-
JSで動的にリンクを作成
-
オンマウスで、画像切り替え+...
-
連番画像「次へ」「前へ」で、...
-
Gifアニメ、最後のコマに行った...
-
createElementで作成した要素を...
-
jQueryスライドショー画像への...
-
背景色を透明化
-
console.log結果をhtmlで表示し...
-
javascriptテキストBOX色を元に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スライダーの枠に動画を収める...
-
フッター上部に謎の隙間
-
【CSS】floatで左右に並べた...
-
オンマウス時に別画像を上に重...
-
CSS <div>の入れ子が反映さ...
-
文字を固定したいのですが…
-
Ctrl+F(検索)の窓を出したいの...
-
テーブルの1つのセル内で、上揃...
-
CSS のみのタブ切り替えについて
-
フッターの下に隙間ができてしまう
-
スクロール可能なチェックボックス
-
Flickity で画像にリンクを貼る...
-
スマートフォンで適切に見られ...
-
floatさせたdivタグを折り返さ...
-
オープニングにアニメーション...
-
html/cssで要素が出てこなくて...
-
チェックボックスの背景色って...
-
サイトにコンテンツを並べる際...
-
CSS 可変マージン
-
HTML CSS 文字化け
おすすめ情報