質問編集履歴

4

回答案について投稿

2016/11/05 04:29

投稿

Aqui.TCD
Aqui.TCD

スコア8

test CHANGED
File without changes
test CHANGED
@@ -69,3 +69,33 @@
69
69
  ### 追記
70
70
 
71
71
  やはりWhileループは無いようですね。ifと関数を使った再帰的な書き方ができるような気がしてきました。再帰的な考え方が苦手なので答えはまだ出せてないですが。
72
+
73
+
74
+
75
+ ### 解決したかもしれません
76
+
77
+ しばらく考えてみて再帰的に書けたので解決したかもしれません。しかしながらCSSはデバッグしにくいので正常に動いてるかが不安なところですので、どなたかアドバイスいただけると助かります。
78
+
79
+
80
+
81
+ 具体的には
82
+
83
+ ```
84
+
85
+ lh-calc($lh, $fz, $base-unit)
86
+
87
+ if ($lh - $fz) >= $base-unit
88
+
89
+ return $lh
90
+
91
+ $lh = $lh + $base-unit
92
+
93
+ return lh-calc($lh, $fz, $base-unit)
94
+
95
+ font-size: $fz * 1rem
96
+
97
+ line-height: lh-calc($lh, $fz, $base-unit) * 1rem
98
+
99
+ ```
100
+
101
+ という感じで、条件を満たせばlhを返す、そうでなければbase-unitを足して再度メソッドを回す、というイメージです。一応今のところ意図した結果が得られていますが、果してこれで正解でしょうか?

3

再帰的な書き方での解決について言及

2016/11/05 04:28

投稿

Aqui.TCD
Aqui.TCD

スコア8

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,9 @@
63
63
 
64
64
 
65
65
  もしくは私の勘違いでそもそもStylusでwhileループ書けたりしますか?
66
+
67
+
68
+
69
+ ### 追記
70
+
71
+ やはりWhileループは無いようですね。ifと関数を使った再帰的な書き方ができるような気がしてきました。再帰的な考え方が苦手なので答えはまだ出せてないですが。

2

一行変数定義が足りなかったので修正

2016/11/05 03:31

投稿

Aqui.TCD
Aqui.TCD

スコア8

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,8 @@
11
11
  ```
12
12
 
13
13
  $base-font-size = rem(16) !default
14
+
15
+ $fz = $base-font-size
14
16
 
15
17
  $base-unit = (fzの値によって変動するなにかしらの式)
16
18
 

1

文言の修正

2016/11/02 02:40

投稿

Aqui.TCD
Aqui.TCD

スコア8

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,3 @@
1
- ###前提・実現したいこと
2
-
3
1
  Stylusにはwhileループがないらしいですが、例えば
4
2
 
5
3
  ある条件を満たすまで、ある値に決まった値を足しつづける試行するループの表現をしたい場合の書き方についての相談です。
@@ -59,3 +57,7 @@
59
57
  whileの代わりに、条件によるループや
60
58
 
61
59
  回数や配列でのfor文ではなくて、while的に条件による繰り返しみたいな書き方はforでできるんでしょうか?
60
+
61
+
62
+
63
+ もしくは私の勘違いでそもそもStylusでwhileループ書けたりしますか?