teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

整理しました

2016/09/12 11:43

投稿

5o5o_wagon
5o5o_wagon

スコア214

answer CHANGED
@@ -1,5 +1,7 @@
1
1
  実現したいことを想像しながら、回答します。(間違っていたらすみません)
2
2
 
3
+ ## 一旦整理します
4
+
3
5
  ```HTML
4
6
  <body>
5
7
  <div id="wrap">
@@ -12,8 +14,12 @@
12
14
  </div>
13
15
  </body>
14
16
  ```
15
- まず、 `#menu` としていた `div` はいらないと思うので削除しました。その代わりに `ul` に `#menu` を付けました。
17
+ まず、 `#menu` としていた `div` はいらないと思うので削除しました。
18
+ その代わりに `ul` に `#menu` を付けました。
19
+ `ul` は「**ここがリストですよー**」と定義するためのタグだからです。
16
20
 
21
+ 上記分からないときはコメントください。
22
+
17
23
  ```css
18
24
  #wrap {
19
25
  width: 940px;
@@ -32,6 +38,27 @@
32
38
  background-color: #eee; // ulの左端から始まっていることをわかりやすくするためにいれてます
33
39
  }
34
40
  ```
35
- 実現したこと以外のいらないと思われるCSSのプロパティをすべて消してみました。
41
+ 次にいらないと思われるCSSのプロパティをすべて消してみました。
42
+ cssを見ているとそもそも各プロパティの知識がまだ足りていないところがあるようです。以下を参考に。
36
43
 
44
+ - `top` や `left` はボックスの配置方法(基準位置)を決める `position` プロパティとセット
45
+ 参考:[top,left,right,bottom - 要素の配置位置を指定する](http://itpro.nikkeibp.co.jp/article/Reference/20091124/340985/)
46
+ - `background-repeat` は背景画像のリピートの仕方を指定するものなので、 `background-image` が設定されていない意味がない
47
+ 参考:[background-repeat …… 背景画像のリピートの仕方を指定する](http://www.htmq.com/style/background-repeat.shtml)
48
+ - `list-style` は基本的に `ul` や `ol` に指定するもの
49
+ 参考:[<ul>と<li>リストマークを消すのはどちら?](http://oshiete.goo.ne.jp/qa/7530631.html)
50
+
51
+
37
- 足りと思われ知識ちほど追記します。
52
+ ## 悪さをしているデフォルトスタイル
53
+ 質問者さんが悩まれている最大のポイントである「なんかよくわかんないけどリストの左側に隙間ができてしまう」問題の原因は、**ブラウザがデフォルトで `ul` にあててしまう `padding` (場合によっては `margin`)です。**
54
+ 参考:[デフォルトスタイルシート(ブラウザが標準で持っているスタイル設定)について](http://taghtml.com/css/defaultstylesheet.html)
55
+
56
+ なので、 `ul` に `padding: 0;` (場合によっては `margin: 0;`)を指定して、デフォルトCSSを上書きしてあげる必要があります。
57
+ そんなデフォルトCSSを一旦綺麗になかったことにするために、リセットCSSというものもあります。
58
+ 参考:[【CSS】決定版!リセットCSS総まとめ
59
+ ](http://tonost.com/2015/03/10/%E3%80%90css%E3%80%91%E6%B1%BA%E5%AE%9A%E7%89%88%EF%BC%81%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88css%E7%B7%8F%E3%81%BE%E3%81%A8%E3%82%81/)
60
+
61
+ もう少し先の知識かもしれませんが、以下も参考に。
62
+
63
+ - `float` を使っているので `clearfix` した方がいい
64
+ 参考:[floatを解除する手法のclearfix と 次世代のレイアウトの話](http://kojika17.com/2013/06/clearfix-2013.html)