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

回答編集履歴

3

追記

2018/09/05 14:49

投稿

liveasnotes
liveasnotes

スコア1284

answer CHANGED
@@ -101,4 +101,14 @@
101
101
  opacity: 1;
102
102
  transition: .1s .5s;
103
103
  }
104
- ```
104
+ ```
105
+
106
+ ---
107
+
108
+ 追記(20180905)
109
+ 完全ではないですが,それっぽいものが出来たので通知しときます(デモページも更新しました)
110
+ HTMLの手直しも簡素になりました
111
+ ![イメージ説明](23766abae18ee082d58f71dd84fe839b.gif)
112
+ border-radiusはオリジナルのままにしました.
113
+
114
+ 上下幅がずれる現象は,気が向いたら調べます

2

追記

2018/09/05 14:49

投稿

liveasnotes
liveasnotes

スコア1284

answer CHANGED
@@ -49,4 +49,56 @@
49
49
  }
50
50
  ```
51
51
  ![イメージ説明](d633d97ca81fbfab0b63f56ba0c80cc7.gif)
52
- こんな感じでしょうか?
52
+ こんな感じでしょうか?
53
+
54
+ ---
55
+
56
+ 追記
57
+ 書き忘れてましたが,`<input>`と`<label>`は離れてても良い(親子関係・兄弟関係は気にしなくて良い)みたいなので(__仕様を読んだわけではないので実務で使うなら要確認__),こういう入れ替えももちろんありです
58
+
59
+ あと,勝手に追加してる`dn`属性は属性セレクタでこういう指定をしています
60
+ ```css
61
+ [dn]{
62
+ display: none;
63
+ }
64
+ ```
65
+
66
+ ```html
67
+ <div class="input-group mb-3">
68
+ <label for="form_elm_1">
69
+ <!--略-->
70
+ </label>
71
+ <input type="checkbox" id="form_elm_1" dn><!--入れ替えた-->
72
+ <div class="form_elm_wrapper">
73
+ <!--略-->
74
+ </div>
75
+ </div>
76
+ ```
77
+ ```css
78
+ /* "~"(間接セレクタ)を"+"(隣接セレクタ)に書き換え */
79
+ input[id^="form_elm"]:checked +.form_elm_wrapper{
80
+ width: calc(100% - 2.6em);
81
+ }
82
+ ```
83
+
84
+ 意外と大したことはしてないですし,`height:auto;`や`width:auto;`にアニメーションが効かないところを考えると,見栄えを考慮するならもうひと工夫いるかもしれないですね
85
+ ```css
86
+ /*イメージ:wrapperの中にcontentsがある*/
87
+ #wrapper{
88
+ width: 0;
89
+ overflow: hidden;
90
+ transition: .5s .1s;/*!*/
91
+ }
92
+ #contents{
93
+ opacity: 0;
94
+ transition: .1s;/*!*/
95
+ }
96
+ #btn:checked +#wrapper{
97
+ width: 100px;
98
+ transition: .5s;
99
+ }
100
+ #btn:checked +#wrapper #contents{
101
+ opacity: 1;
102
+ transition: .1s .5s;
103
+ }
104
+ ```

1

追記

2018/09/04 08:14

投稿

liveasnotes
liveasnotes

スコア1284

answer CHANGED
@@ -2,6 +2,8 @@
2
2
  (リンク先ページ右上の「リミックス」ボタンからソースの閲覧・編集ができます)
3
3
  [https://thimbleprojects.org/liveasnotes/537081/](https://thimbleprojects.org/liveasnotes/537081/)
4
4
  ![イメージ説明](98507eac60008771364c37c20e444c7e.gif)
5
+ (※上のデモは下のデモに書き換えられました/20180904)
6
+ ![イメージ説明](4b567f50cd16355490fef75c7e70877c.gif)
5
7
 
6
8
  ---
7
9
 
@@ -9,4 +11,42 @@
9
11
  ([元投稿](https://teratail.com/questions/143004#reply-218153))
10
12
 
11
13
  [https://thimbleprojects.org/liveasnotes/536993/](https://thimbleprojects.org/liveasnotes/536993/)
12
- ![イメージ説明](f75cf78908e7e951c9626e7280cde194.gif)
14
+ ![イメージ説明](f75cf78908e7e951c9626e7280cde194.gif)
15
+
16
+ ---
17
+
18
+ 書き加えて良いなら,
19
+ ```html
20
+ <!--書き加えた方-->
21
+ <div class="input-group mb-3">
22
+ <input type="checkbox" id="form_elm_1" dn>
23
+ <label for="form_elm_1">
24
+ <div class="input-group-prepend">
25
+ <span class="input-group-text" id="basic-addon1">@</span>
26
+ </div>
27
+ </label>
28
+ <div class="form_elm_wrapper">
29
+ <input type="text" class="form-control" placeholder="ユーザー名" aria-label="ユーザー名" aria-describedby="basic-addon1">
30
+ </div>
31
+ </div>
32
+
33
+ <!--書き加えてない方-->
34
+ <div class="input-group mb-3">
35
+ <div class="input-group-prepend">
36
+ <span class="input-group-text" id="basic-addon1">@</span>
37
+ </div>
38
+ <input type="text" class="form-control" placeholder="ユーザー名" aria-label="ユーザー名" aria-describedby="basic-addon1">
39
+ </div>
40
+ ```
41
+ ```css
42
+ .form_elm_wrapper{
43
+ width: 0;
44
+ overflow: hidden;
45
+ transition: .5s;
46
+ }
47
+ input[id^="form_elm"]:checked ~.form_elm_wrapper{
48
+ width: calc(100% - 2.6em);
49
+ }
50
+ ```
51
+ ![イメージ説明](d633d97ca81fbfab0b63f56ba0c80cc7.gif)
52
+ こんな感じでしょうか?