質問編集履歴

1

説明の不足を補足

2021/09/16 11:58

投稿

nightmare10good
nightmare10good

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,18 @@
1
1
  CSSとHTMLのみでアコーディオンを作りたいのですが、うまくいきません。
2
+
3
+
4
+
5
+ アコーディオンAをクリックしたらアコーディオンが開きaaa・bbb・cccを表示、
6
+
7
+ アコーディオンBをクリックしたらアコーディオンが開きddd・eee・fffを表示、
8
+
9
+
10
+
11
+ というものを作りたいのですが、アコーディオンAをクリックすると aaa・bbb・ccc だけでなく ddd・eee・fff も表示されてしまいます。
12
+
13
+ また、アコーディオンをクリックする前から aaa・bbb・ccc ddd・eee・fff それぞれあるだろう位置にスペースができてしまっています。
14
+
15
+ どうすればうまくいくでしょうか?
2
16
 
3
17
  ```HTML
4
18
 
@@ -6,18 +20,130 @@
6
20
 
7
21
  <input type="checkbox" id="acd-btn01" class="acd-check">
8
22
 
9
- <label class="row past-data acd-label" for="acd-btn01">
23
+ <label class="row acd-label" for="acd-btn01">
10
24
 
11
- <div class="cell">2020年</div>
25
+ <div class="cell">アコーディオンA</div>
12
26
 
13
- <div class="cell"></div>
27
+ <div class="cell"></div>
14
-
15
- <div class="cell">1200000 kg</div>
16
-
17
- <div class="cell">1200 台</div>
18
28
 
19
29
  </label>
30
+
31
+ <div class="row">
32
+
33
+ <div class="cell">aaa</div>
34
+
35
+ <div class="cell">子</div>
36
+
37
+  </div>
38
+
39
+ <div class="row">
40
+
41
+ <div class="cell">bbb</div>
42
+
43
+ <div class="cell">子</div>
44
+
45
+  </div>
46
+
47
+ <div class="row">
48
+
49
+ <div class="cell">ccc</div>
50
+
51
+ <div class="cell">子</div>
52
+
53
+  </div>
54
+
55
+ <input type="checkbox" id="acd-btn02" class="acd-check">
56
+
57
+ <label class="row acd-label" for="acd-btn02">
58
+
59
+ <div class="cell">アコーディオンB</div>
60
+
61
+ <div class="cell">親</div>
62
+
63
+ </label>
64
+
65
+ <div class="row">
66
+
67
+ <div class="cell">ddd</div>
68
+
69
+ <div class="cell">子</div>
70
+
71
+  </div>
72
+
73
+ <div class="row">
74
+
75
+ <div class="cell">eee</div>
76
+
77
+ <div class="cell">子</div>
78
+
79
+  </div>
80
+
81
+ <div class="row">
82
+
83
+ <div class="cell">fff</div>
84
+
85
+ <div class="cell">子</div>
86
+
87
+  </div>
20
88
 
21
89
  </div>
22
90
 
23
91
  ```
92
+
93
+ ```css
94
+
95
+ div.table {
96
+
97
+ display: table;
98
+
99
+ width: 100%;
100
+
101
+ }
102
+
103
+ div.table .row {
104
+
105
+ display: table-row;
106
+
107
+ }
108
+
109
+ div.table .cell {
110
+
111
+ display: table-cell;
112
+
113
+ font-size: 1.1em;
114
+
115
+ height: 2.3em;
116
+
117
+ line-height: 2.3em;
118
+
119
+ padding: 0 10px;
120
+
121
+ }
122
+
123
+ .acd-check {
124
+
125
+ display: none;
126
+
127
+ }
128
+
129
+ .acd-content {
130
+
131
+ height: 0;
132
+
133
+ opacity: 0;
134
+
135
+ visibility: hidden;
136
+
137
+ }
138
+
139
+ .acd-check:checked + .acd-label ~ .acd-content {
140
+
141
+ height: 2.3em;
142
+
143
+ opacity: 1;
144
+
145
+ visibility: visible ;
146
+
147
+ }
148
+
149
+ ```