backgroundImageで表示した画像の縦幅と横幅を得たいです
下だと50pxと表示されますが、これはdivの大きさであり、表示中の画像の縦幅と横幅ではありません
div.style.backgroundSize="50% 50%";やdiv.style.backgroundSize="contain";で表示した場合に表示されている大きさをpxで得たいです
画像はSVGです
どうしたらいいでしょうか?
<script> window.onload=function(){ var div = document.createElement("div"); div.id="backg"; div.style.width="50px"; div.style.height="50px"; div.style.backgroundImage="url(http://simpleicon.com/wp-content/uploads/android.svg)"; div.style.backgroundRepeat="no-repeat"; div.style.backgroundSize="50% 50%"; div.style.backgroundPosition="center"; document.body.appendChild(div); alert(backg.style.width); alert(backg.style.height); } </script>
img 要素を使ってみたらどうなりますか? (img 要素で表示すると言っている訳ではありません)
> div.style.backgroundSize="50% 50%"
であれば、計算すれば明らかかと思うのですが、求めることはそういうものではないのでしょうか?
↑どう計算式を考えますか
あなたの指摘は当然私はpxで出せるということでいいですか?
50pxの50%は25pxです。
>img 要素を使ってみたらどうなりますか?
imgを使って見たらというのはimgにbackgroundImageをかけろという意味でしょうか?
50% 50%は固定ではありません
30% 70%になったりしますがどう計算式を出しますか
もし簡単であればitagagaki氏の貼っていただいたような複雑なコードにならないと思います
> imgを使って見たらというのはimgにbackgroundImageをかけろという意味でしょうか?
そうではないです。回答欄にどのようなことか書いておきます。
> どう計算式を出しますか
パーセンテージをかければいいだけです。
簡単だとおっしゃられたのですから具体的なコード位提示いただきたく思います
そもそも論として、「何のために」その値が必要なのでしょうか?
(使い方によっては、「計算せずとも同等のことを実現できる」ということも考えられます)
「計算せずとも同等のことを実現できる」ことについて詳しくお聞かせいただけないでしょうか?
> 計算せずとも同等のことを実現できる」ことについて詳しくお聞かせいただけないでしょうか?
値を使う目的がわからないと、それを実現可能なのかもわからないです。
大した目的ではないですが、background-sizeで表示したsvgに合わせてimgタグを生成し、縦幅と横幅を合わせたかっただけです
簡単だとおっしゃられたのに、なぜかその簡単なコードを提示していただけない理由は何かありますでしょうか?
「div.style.backgroundSize="50% 50%";」のように与えていますが、これは実際にJavaScriptから与えるものなのでしょうか?それとも、CSSに書き付けてあるものなのでしょうか?
> 簡単だとおっしゃられたのに、なぜかその簡単なコードを提示していただけない理由は何かありますでしょうか?
計算自体はすぐなのですが、背景でわからない部分が多いのでコードにするのはためらってしまいます。
JavaScriptですよ
ワカラナイも何も算出方法さえわかってれば、それが全てだと思うのですが違いますか?
はい、他の回答についているコメントを見ての通り後出しが多いので、せっかく書いても無駄になりそうな感じがしています。
無駄も何も簡単なことなんですから、お願いいたします
後出しのつもりもないですし、伝わり方が悪かっただけです
後出しだとおっしゃるならば、なぜあなたに理解できたのでしょうか
それは後出しではないからです
一貫して伝えてますよ
あなたの理解している通りでございます
> 後出しだとおっしゃるならば、なぜあなたに理解できたのでしょうか
後出しで出されたもの追いかけて、理解を補わざるを得ませんでしたし、今でもそれでいいのかのか確証はありません。
具体的にどこが後出しですか?
私は編集もしていません
どこが後出しか教えて下さい
他者2名が勘違いされてしまわれたので本意を伝えた迄です
他についたコメント同様の疑問として、これだけの質問を投げられるのに、(containのような場合はともかく)「パーセンテージなら掛け算で出すだけ」と伝えたにも関わらず、それをコードにできないのが不自然だと感じるのです。
ですから「パーセンテージなら掛け算で出すだけ」っていうコードを提示してください
それをコードにできないことは不自然ではなくただのバカなんですよ、私は
出す気がなさそうなので閉じていいですか?
itagaki氏にベストアンサーしますよ?
回答2件
あなたの回答
tips
プレビュー