回答編集履歴

2

参考サイトを追加

2018/06/01 04:42

投稿

yyyy.yyyy
yyyy.yyyy

スコア53

test CHANGED
@@ -108,4 +108,8 @@
108
108
 
109
109
 
110
110
 
111
+ 参考:[https://techacademy.jp/magazine/9369](https://techacademy.jp/magazine/9369)
112
+
113
+
114
+
111
115
  解決にお役立てできますよう。

1

回答を最新情報に合わせて更新いたしました

2018/06/01 04:42

投稿

yyyy.yyyy
yyyy.yyyy

スコア53

test CHANGED
@@ -1,13 +1,111 @@
1
- ```CSS
1
+ 追記を拝見して回答を修正いたします。
2
2
 
3
+
4
+
5
+ 最終的にどのようなレイアウトにされたいのか、
6
+
7
+ まだちょっとピンときていないので思った通りになるか解りませんが…
8
+
9
+
10
+
11
+ ■要素の高さに合わせたければ背景画像はその要素に指定する事
12
+
13
+
14
+
15
+ が前提となります。
16
+
17
+
18
+
19
+ ※HTMLの<center>タグは、他の方も仰っていらっしゃいますが
20
+
21
+ HTML4以降では確実に非推奨のため使用しない方がよいかと思います。
22
+
23
+ 使用した場合、スマホやsafariなどのブラウザでバグが起こることを覚悟されてください。
24
+
25
+
26
+
27
+ 下記修正してみました。
28
+
29
+ ```HTML
30
+
31
+ <html>
32
+
33
+ <head>
34
+
35
+ <style>
36
+
37
+ .main {
38
+
39
+ text-align:center; /* 要素を中央揃えにします。<center>の代わりです */
40
+
41
+ background-attachment: fixed;
42
+
43
+ background-image: url(/img/header.png);
44
+
3
- background-size:cover;
45
+ background-position: center;
46
+
47
+ color: #ebebeb;
48
+
49
+ }
50
+
51
+    @media (max-width: 767px) { /* スマホの場合 */
52
+
53
+     .main {
54
+
55
+ background-attachment:inherit; /* fixedの解除。エラー予防 */
56
+
57
+ background-size:cover; /* 要素全体に背景画像を合わせる */
58
+
59
+  }
60
+
61
+    }
62
+
63
+ </style>
64
+
65
+ </head>
66
+
67
+ <body>
68
+
69
+ <div class="main-wrap">
70
+
71
+ <div class="main">
72
+
73
+  テスト(h1があるのでbrはいりません。勝手に改行されます。文字を入れるなら、divやpで囲う方がいいと思います)
74
+
75
+  <h1>テスト</h1>
76
+
77
+ </div>
78
+
79
+      ※もしここにも要素が入って、それを含めた背景画像にしたい場合は、背景の指定は.main-wrapになります。
80
+
81
+ </div>
82
+
83
+ </body>
84
+
85
+ </html>
4
86
 
5
87
  ```
6
88
 
7
- で実装できそうな気がしますが、
8
89
 
90
+
91
+ .mainに高さ指定をしていないので、この形なら.mainの高さで背景は切れるはずです。
92
+
93
+ もし、.mainの外側の要素にも指定したいなら.main-wrapに背景指定を。
94
+
95
+ body全部に指定したいならbodyに指定してください。
96
+
9
- 「画像が設定されている要素」の縦サイズいっぱい画像を合わせるのではなく、「画像設定されいる親要素の中一つの要素に対し実装した」というこしょうか?
97
+ (今仰っている要素全部背景入っ縦長ていう状態がれっぽいすね)
10
98
 
11
99
 
12
100
 
101
+ .mainにかけてるのに背景の位置がおかしい場合、<center>がバグの原因の可能性が高いです。
102
+
103
+
104
+
13
- もしそうであれば、メディアクエリなどを用いて画像を再設定る必要があるかもしれません。
105
+ レスポンシブコーディングをする際にはメディアクエリは必須とりまので、
106
+
107
+ もしご存知ない場合は勉強してみてください。
108
+
109
+
110
+
111
+ 解決にお役立てできますよう。