
上手く定義ができず、また調べてみるのですが、計算自体はいくつもあるのですが、最終的な計算された数字の単位の定義が分からずアドバイスをお願いいたします。
例えば、%で位置を指定したいばあい、現在のピクセルの単位から計算を行って%になった値をセットするかと思います。
現在はあらかじめ計算した値をCSS側に●●%といった具合で記述していますが、calcを使えば計算しなくても良いかと思ったのですが、悩んでしまいました…。
80/1500*100=5.333…%の場合、配置一の高さの場合
top:5.333%
と定義します。
この計算自体をセットしたいのですが、
top:calc(80px/1500px*100);
でセットするのですが、うまくいきません。
また、この場合計算された値は何になるのでしょうか?px??
ちなみに今回は、出された数字を%として扱いたいのですが、こういった場合、どうやって計算された数字に%やpxなどの単位をセットしたらよいのでしょか?
宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
calc(80px / 1500px * 100%)
演算子の前後には必ず空白を挟む必要があります
%も省略しません
No.2
- 回答日時:
こんにちは
>また、この場合計算された値は何になるのでしょうか?px??
何らかの単位に統一していると思いますけれど、内部で計算しているのであまり気にする必要はないと思います。
利用者側からしてみれば、「単位系が同じ種類」のものであれば、calc()内で混在して使用することも可能です。
例えば、「右端(あるいは下端)から30px分戻ったところ」であれば、
calc(100% - 30px)
などのような記述が可能です。
計算結果が%として解釈されているのか、pxで解釈されているのかは知りませんが、いずれにしろ絶対的には同じ寸法になります。
さて、ご提示の
>80/1500*100
>top:calc(80px/1500px*100);
個々の数値の意味はまったく分かりませんけれど、「100%の長さに対して、80/1500の長さを指定したい」ということなのではないでしょうか?
もしも、そうであるなら
calc(100% * 80 / 1500)
などでいけるものと思います。
(式中のスペースは詰められませんのでご注意)
とは言っても、上記であればわざわざ計算などさせるまでもなく、設定時にあらかじめ計算して直接「5.33%」としておけば十分と思います。
これに対して、例示で挙げた
>calc(100% - 30px)
のような場合を考えてみると、「30px」が固定値であるのに対して、「100%」は状況によって変わる数値であり、あらかじめ計算しておくことができないので、CSSで計算することに意味があると言えます。
(他の方法で、計算を必要としないような指定方法もあるとは思いますけれど・・・)
有難うございます。
特に書く側は単位などは気にしなくても良いのですね。
私の記述方法にも問題がありました。
アドバイス有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
matlabで計算終了
-
VBAの再計算が反映されない件に...
-
引き放し法による除算アルゴリ...
-
変化させるセルが変化しない
-
傾いた四角形内の範囲の条件式
-
[急募]Pythonについてです。
-
VB6.0でのバイナリデータの扱い...
-
整数aを入力し、aの2乗、3乗...
-
VBA 九九 Do While
-
matlabでの長時間の計算について
-
CとFORTRANの計算速度はどちら...
-
CCurの引値を文字列にする時と...
-
C言語についてです。 再帰を使...
-
趣味で「乗換案内」みたいなソ...
-
駅間の距離を求め運賃計算するJ...
-
モジュラス103の計算とは何でし...
-
階乗のマクロ
-
Visual C++でdebugとreleaseで...
-
VBAで関数をつくる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
変化させるセルが変化しない
-
EXCELなどで「返す」という表現
-
VBAの再計算が反映されない件に...
-
VBAで関数をつくる
-
matlabで計算終了
-
排他的論理和 BCC(水平パリテ...
-
モジュラス103の計算とは何でし...
-
引き放し法による除算アルゴリ...
-
バッチファイルでウインドウを...
-
スレッド処理からダイアログを...
-
数値計算の高速化 (cos, sin, exp)
-
エクセルで特定のセルのみを任...
-
モジュロ
-
関数を使わないで日付の計算を...
-
階乗のマクロ
-
時間(ミリ秒を含む)の引き算
-
なぜオーバーフローになるので...
-
論理演算子.NOT.の使い方
-
PHPとJavaでSHA256の結果を同じ...
おすすめ情報