回答編集履歴

1

別解と補足を追加

2018/05/15 19:02

投稿

Bonito_Bonito
Bonito_Bonito

スコア67

test CHANGED
@@ -1,10 +1,16 @@
1
- 1つめのタイルの `<div class = "mdl-cell Tile"><a href="login.html"></a></div>` は、質問者様が試しに入れているものである、という前提で進めます。
1
+ 1つめのタイルの `<div class = "mdl-cell Tile"><a href="login.html"></a></div>` は、質問者様が検証のために入れているものである、という前提で進めます。
2
-
2
+
3
- 質問の意図違っていましたらすみません。
3
+ 質問の解釈に相違ございましたら申し訳ありません。
4
+
5
+
6
+
4
-
7
+ ###手段1
5
-
6
-
8
+
9
+
10
+
7
- ソース内の下記のブロック
11
+ ソース内の下記のブロックを、
12
+
13
+
8
14
 
9
15
  ```html
10
16
 
@@ -41,3 +47,195 @@
41
47
  </div>
42
48
 
43
49
  ```
50
+
51
+
52
+
53
+ ###手段2
54
+
55
+ また、シンプルに下記の方法でもリンクになります。
56
+
57
+ wrap を繰り返すとソースが冗長になるので、無駄な要素を極力排除します。
58
+
59
+
60
+
61
+ **1.CSSの記述を修正します。**
62
+
63
+
64
+
65
+ - 要素セレクタの `div` を削除しクラス名のみのセレクタへ変更します。
66
+
67
+ - display の扱いをブロックへ変更します。
68
+
69
+
70
+
71
+ 下記の様になるかと思います。
72
+
73
+ ```css
74
+
75
+ .Tile {
76
+
77
+ display: block;
78
+
79
+ position: relative;
80
+
81
+ width: 125px;
82
+
83
+ height: 125px;
84
+
85
+ background-color: #991111;
86
+
87
+ }
88
+
89
+ ```
90
+
91
+
92
+
93
+ **2.要素を <a> タグへ変更**
94
+
95
+
96
+
97
+ タイルのブロックの要素を `<div>` タグから `<a>` タグへ変更します。
98
+
99
+
100
+
101
+ ```html
102
+
103
+ <div class="mdl-grid">
104
+
105
+ <a href="login.html" class="mdl-cell Tile">1</a>
106
+
107
+ <a href="#" class="mdl-cell Tile">2</a>
108
+
109
+ <a href="#" class="mdl-cell Tile">3</a>
110
+
111
+ <a href="#" class="mdl-cell Tile">4</a>
112
+
113
+ </div>
114
+
115
+ ```
116
+
117
+
118
+
119
+ ###補足
120
+
121
+
122
+
123
+ 本件とは関係ないのですが、マークアップの不備が非常に気になりましたのでお伝えしておきます。
124
+
125
+ `<html>` タグの開始タグがないのと、`<main>` タグや `<form>` 、 `<div>` タグが閉じられていません。
126
+
127
+ モダンブラウザは閉じタグ等のミスをある程度補完してくれますが、意図しないレイアウト崩れや、JSでオブジェクトの認識に不具合が生じることもあります。
128
+
129
+
130
+
131
+ (参考までに)下記の様にすると良いかと思います。
132
+
133
+
134
+
135
+ ```html
136
+
137
+ <!DOCTYPE html>
138
+
139
+ <html lang="ja">
140
+
141
+ <head>
142
+
143
+ <meta charset="UTF-8">
144
+
145
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
146
+
147
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
148
+
149
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&amp;lang=en">
150
+
151
+ <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
152
+
153
+ <link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.cyan-light_blue.min.css">
154
+
155
+ <link rel="stylesheet" href="styles.css">
156
+
157
+ <style>
158
+
159
+ .Tile {
160
+
161
+ display: block;
162
+
163
+ position: relative;
164
+
165
+ width: 125px;
166
+
167
+ height: 125px;
168
+
169
+ background-color: #991111;
170
+
171
+ }
172
+
173
+ </style>
174
+
175
+ </head>
176
+
177
+
178
+
179
+ <body>
180
+
181
+ <div class="mdl-layout__container">
182
+
183
+ <div class="demo-layout mdl-layout mdl-js-layout mdl-layout--fixed-header has-drawer is-upgraded is-small-screen">
184
+
185
+ <header class="demo-header mdl-layout__header mdl-color--purple-500 mdl-color-text--white is-casting-shadow">
186
+
187
+ </header>
188
+
189
+ <main class="docs-layout-content mdl-layout__content mdl-color-text--grey-600">
190
+
191
+ <div class="content">
192
+
193
+ <div class="mdl-tabs mdl-js-tabs is-upgraded">
194
+
195
+ <div class="mdl-color--white mdl-grid grid-side">
196
+
197
+ <form action="#">
198
+
199
+ <div class="mdl-list__item tab-list-item-pdg">
200
+
201
+ <span class="mdl-list__item-primary-content">
202
+
203
+ <i class="material-icons">assignment</i>
204
+
205
+ </span>
206
+
207
+ </div>
208
+
209
+ <div class="mdl-grid">
210
+
211
+ <a href="login.html" class="mdl-cell Tile">1</a>
212
+
213
+ <a href="#" class="mdl-cell Tile">2</a>
214
+
215
+ <a href="#" class="mdl-cell Tile">3</a>
216
+
217
+ <a href="#" class="mdl-cell Tile">4</a>
218
+
219
+ </div>
220
+
221
+ </form>
222
+
223
+ </div>
224
+
225
+ </div>
226
+
227
+ </div>
228
+
229
+ </main>
230
+
231
+ </div>
232
+
233
+ </div>
234
+
235
+ <script src="https://code.getmdl.io/1.3.0/material.min.js"></script>
236
+
237
+ </body>
238
+
239
+ </html>
240
+
241
+ ```