質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
CSS3

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

2回答

1357閲覧

position: fixed;でできる隙間をなくしたい

fdajo

総合スコア13

CSS3

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2020/06/02 00:58

position: fixed;でできる隙間をなくしたい

模写しています。
スマホ対応するようメディアクエリの中にposition: fixed;を使用しています。
(PC用とスマホ用のみで作成しています。PC用にはメディアクエリを使用せず、そのままcssに打ち込んでいます)

PC用にもメディアクエリを指定しないといけないのでしょうか?
メディアクエリ指定せずに打ち込んだものがPC用になるり、メディアクエリ指定したものがその画面幅のものに対応する(今回はスマホ用)と考えていますが、間違いでしょうか?

お手本サイト

html

1<header> 2 <div class="header"> 3 <div class="logo2"></div> 4 <div class="tagline">かわいいが届くお花便</div> 5 <div class="badges"> 6 <a class="app-badge" href="https://apps.apple.com/jp/app/flower-%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84%E3%81%8C%E5%B1%8A%E3%81%8F%E3%81%8A%E8%8A%B1%E4%BE%BF/id1434272434?mt=8" style="display:inline-block;overflow:hidden;background:url(https://linkmaker.itunes.apple.com/ja-jp/badge-lrg.svg?releaseDate=2019-02-18&kind=iossoftware&bubble=ios_apps) no-repeat;width:164px;height:40px;"></a> 7 <a href='https://play.google.com/store/apps/details?id=co.rollcake.flower&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img class="googleplay-badge" style='margin-top:-32px;' alt='Google Play で手に入れよう' src='https://play.google.com/intl/ja/badges/static/images/badges/ja_badge_web_generic.png'/></a> 8 </div> 9 10 <p>*北海道、沖縄、離島エリアは現在対象外です</p> 11 </div> 12 13 </header>

css

1.header{ 2 max-width: 100vw; 3 text-align: center; 4 position: relative; 5 background-image: url(../images/no2.png); 6 width: 100vw; 7 height: 100vh; 8 background-size: cover; 9 display: flex; 10 justify-content: center; 11 margin: 0; 12 padding: 0; 13} 14.badges{ 15 position: absolute; 16 top:80%;/*これを削除するとスマホ用では隙間はなくなりますが、PC用で問題が生じます*/ 17 left: 0; 18 right: 0; 19 margin: auto; 20}

css(スマホ用)

1@media screen and (max-width: 768px){ 2 .header{ 3 position: relative; 4 } 5 .badges{ 6 position: static; 7 box-sizing: border-box; 8 position: absolute; 9 display: block; 10 width: 100vw; 11 height: 96px; 12 background-color: #F5F2F5; 13 position: fixed; 14 bottom: 0; 15*animation: none;*/ 16 } 17}

イメージ説明
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
下、手本。
イメージ説明

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

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

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

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

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

guest

回答2

0

ベストアンサー

これを削除するとスマホ用では隙間はなくなりますが、PC用で問題が生じます

上記コメントに従うと、top: 80%;
PC側からは削除し、スマホ (768px以下) のサイズのメディアクエリ内に記述すればいいだけ、
ではないでしょうか?

訂正します。PCにはtop: 80%;を指定したまま、スマホでは初期値のautoを指定してみるといかがでしょうか?

CSS

1.badges { 2 top: 80%;/*これを削除するとスマホ用では隙間はなくなりますが、PC用で問題が生じます*/ 3} 4@media screen and (max-width: 768px) { 5 .badges { 6 /* メディアクエリ内に追加。PCでの記述を上書き */ 7 top: auto; 8 } 9}

参考URL:
https://developer.mozilla.org/ja/docs/Web/CSS/top

投稿2020/06/02 04:18

編集2020/06/02 04:31
new1ro

総合スコア4528

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

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

kei344

2020/06/02 04:21

「これを削除すると・・・PC用で問題が生じます」なので逆ではないでしょうか。
new1ro

2020/06/02 05:47 編集

確かに、逆でしたね..、ありがとうございます。 回答を編集します。
guest

0

CSS

1 .badges{ 2 box-sizing: border-box; 3 display: block; 4 width: 100vw; 5 height: 96px; 6 background-color: #F5F2F5; 7 position: fixed; 8 bottom: 0; 9 top: auto; 10 }

投稿2020/06/02 04:18

kei344

総合スコア69606

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問