-
ID:u/bm0o さんの質問

レスポンシブサイトを作成していてCSSに下記の記述をしました。

div#mainImgBack {
width:100%;
height:380px;
padding-top:30px;
background-image: url(../images/main-img-back.gif);
background-repeat: repeat-x;
}

@media screen and (max-width: 480px) {
div#mainImgBack {
width:100%;
height:380px;
padding-top:30px;
}
}

メディアクエリでbackground-imageが反映されないように記述しましたが、スマホで確認するとbackground-imageで指定した画像が表示されてしまいます。

原因が分からずに困っています。アドバイスをお願いいたします。

みんなの回答 1 件

ID:AWQK1u さんの回答

あなたはレスポンシブWebだメディアクエリだ以前に、CSSが何かをまず理解するべきです。

CSSは打ち消さない限りはルールの中で「カスケーディング(継承される)」ものです。

引き算の要領でbackgroundを書かないことで指定を打ち消していると思ってるのでしょうが、逆です。書かなければそのまま継承されるので指定したことと同じです。

また逆に、width、height、padding-topを同じものを繰り返し指定していますが、指定しなければ自動で継承されるので、これは全く意味のないことです。つまり、あなたの記述している@media screen and (max-width: 480px) { ... }の部分は無意味な状態です。

ID:XSEHxE

@media screen and (max-width: 480px) {
div#mainImgBack {
background-image:none;
}

これでどうだろう

ID:5roXVP

きっとお礼もされないのに、なんと優しい|甘いんだ。。

ID:/lAlnS

悪に加担したね

ID:AWQK1u

別にお礼なんてなくていいんだ。そこに「気付き」があれば未来は拡がるじゃないか。そうやってみんな成長してきたんだろ?そこにあったのは悪意なんかじゃなく、ただただ恥ずかしいまでの「未熟さ」だったろ?

ID:4BUxtK

惚れた!!

最終更新日:2015-08-21 (2,944 views)

関連するトピックス

ページ上部に戻る