回答編集履歴

2

CSS

2019/03/06 10:40

投稿

yambejp
yambejp

スコア114779

test CHANGED
@@ -79,3 +79,65 @@
79
79
  <div>rect 入力フォーム</div>
80
80
 
81
81
  ```
82
+
83
+
84
+
85
+ # ラジオボタンを使い回すCSS
86
+
87
+ ```CSS
88
+
89
+ <style>
90
+
91
+ .content{display:none}
92
+
93
+ [name=tab]{display:none;}
94
+
95
+ #tab_circle:checked ~ * .tab[for=tab_circle]{color:red}
96
+
97
+ #tab_rect:checked ~ * .tab[for=tab_rect]{color:red}
98
+
99
+ #tab_circle:checked ~ * .content[for=tab_circle]{display:block;}
100
+
101
+ #tab_rect:checked ~ * .content[for=tab_rect]{display:block;}
102
+
103
+ </style>
104
+
105
+ <body>
106
+
107
+ <input type="radio" name="tab" id="tab_circle" value="circle">
108
+
109
+ <input type="radio" name="tab" id="tab_rect" value="rect">
110
+
111
+ <div>
112
+
113
+ <label for="tab_circle" class="tab">circle</label>
114
+
115
+ <label for="tab_rect" class="tab">rect</label>
116
+
117
+ </div>
118
+
119
+ <hr>
120
+
121
+ <div>
122
+
123
+ <div id="content_circle" for="tab_circle" class="content">circle 入力フォーム</div>
124
+
125
+ <div id="content_rect" for="tab_rect" class="content">rect 入力フォーム</div>
126
+
127
+ </div>
128
+
129
+ <hr>
130
+
131
+ <div>
132
+
133
+ <label for="tab_circle" class="tab">circle</label>
134
+
135
+ <label for="tab_rect" class="tab">rect</label>
136
+
137
+ </div>
138
+
139
+ </body>
140
+
141
+
142
+
143
+ ```

1

調整

2019/03/06 10:40

投稿

yambejp
yambejp

スコア114779

test CHANGED
@@ -29,3 +29,53 @@
29
29
  <div>rect 入力フォーム</div>
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ # js
36
+
37
+ ```javascript
38
+
39
+ <style>
40
+
41
+ [name=content]:not(:checked)+div{display:none}
42
+
43
+ </style>
44
+
45
+ <script>
46
+
47
+ window.addEventListener('DOMContentLoaded', function(e){
48
+
49
+ [].forEach.call(document.querySelectorAll('[name=tab]'),function(x){
50
+
51
+ x.addEventListener('change',function(e){
52
+
53
+ [].forEach.call(document.querySelectorAll('[name=content]'),function(x){
54
+
55
+ x.checked=e.target.value==x.value;
56
+
57
+ });
58
+
59
+ });
60
+
61
+ });
62
+
63
+ });
64
+
65
+ </script>
66
+
67
+ <label><input type="radio" name="tab" value="circle">circle</label>
68
+
69
+ <label><input type="radio" name="tab" value="rect">rect</label>
70
+
71
+ <hr>
72
+
73
+ <input type="radio" name="content" value="circle" id="content_circle" class="tab-pane-radio">
74
+
75
+ <div>circle 入力フォーム</div>
76
+
77
+ <input type="radio" name="content" value="rect" id="content_rect" class="tab-pane-radio">
78
+
79
+ <div>rect 入力フォーム</div>
80
+
81
+ ```