実際に私自身で確認したところ、スマホで確認することができました。
最初の質問では、余白と聞きましたがデベロッパーツールを確認してもmarginの値は指定されていない為、そこに問題ではないという事がわかりました。
今回のケースではパソコンでは正常に表示されるが、スマホでは表示されない点を注目しました。
では、パソコンとスマホでは何が違うのでしょうか?
答えは表示領域が異なるからです。
というのも、スマートフォンではPCサイトを快適に見るために、デフォルトではわざと広めに表示領域を取っているのです。よって、PCサイトをスマートフォンで見るためには、
スマホの表示領域を合わす必要性があります。
そこで、metaタグでスマホの画面幅に表示領域を合わしていきます。
この設定を ビューポート の設定と言うので覚えておいてください。
##ビューポートの設定
私自身は、macでエディタはvisual studiocodeを使っているのでビューポートの設定など最初の設定等は省けるので1からは書いていないのですが、今回は説明を簡単にさせていただきます。
###コード
css
1 <meta name="viewport" content="width=device-width, initial-scale=1.0">
###解説
content="width=device-width
上記コードの意味は、
widthはデバイス(device)の幅に合わせてくださいという意味です。
次に倍率の指定を行なっていきます。
スマホで表示する際の倍率は上記のコードでは、1.0になっている事がわかります。
#全体コード
HTML
1<!DOCTYPE html>
2<html>
3 <html lang= "ja">
4 <head>
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <meta charset="UTF-8">
7 <title>AAA</title>
8 <link rel="stylesheet" type="text/css" href="index.css">
9 </head>
10
11<body>
12 <div id="container">
13 <div id="contents">
14 <div class="header"></div>
15 </div>
16 </div>
17</body>
18</html>
19
20
css
1
2 body{
3 background-color : #ffffff;
4 margin : 0;
5 }
6
7 /* エラーが出ていたので、下記に記述しました */
8 /* #container{
9 width : 100%;
10 position : relative;
11 height : auto !important;
12 height : 100%;
13 min-height : 100%;
14 margin-top: -25px;
15 } */
16
17 /* 修正後 */
18 #container{
19 width: 100%;
20 position: relative;
21 height: auto;
22 height: 100%;
23 min-height: 100%;
24 /* margin-top: -25px; */
25 /* 上のコードは不要です */
26 }
27
28 #contents{
29 padding-bottom : 200px;
30 }
31
32 .header{
33 background-color : #cccccc;
34 width : 100%;
35 height : 150px;
36 margin: 0px;
37 padding: 0px;
38 }
直接関係はありませんが、親クラス・子クラスがある場合、インデントするとよりみやすいコードとなり、今後複雑なコードになってもわかりやすくなると思います。
他にもcssでは、エラーが出ていたもの・不要なものを消したコードを掲載しましたので参考にしてください。
今回のように、パソコンでは正常だがスマホでは正常に確認できなかったというバグを対処するデバッグする能力もプログラミングでは大変大切になってきます。質問者さんは、お手持ちのスマホ2台で確認したと言う点やアンドロイドはないが、アンドロイドではどうなのか?などエラーに対する姿勢は大変素晴らしいと思います。
あとは、学習を進めるうちに、原因は自ずと追求できると思います。
ちなみになのですが、javascriptを使う前提でidで管理なされているのですか?
そうでなければ、classで管理した方が混乱せずに楽かと・・・
html
1<a href="#" class="btn">hello from class</a>
2<a href="#" id="button">hello from id</a>
3<a href="#">hello</a>
css
1/* classのbtnを指定したい時 */
2.btn{
3 margin: 0;
4 }
5
6 /* id(button)を指定したい時 */
7 #button{
8 margin: 0;
9 }
10
11 /* aタグを指定したい時
12 この時、aタグを指定しているため、aタグ全てが選択されます。*/
13 a {
14 margin: 0;
15 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/02 08:51
2019/12/03 02:09