2016-04-10 7 views
1

ここで答えが見つかりませんでした。rem px in Javascript

質問が繰り返される場合は、私には否定的な点を教えてください。

私は答えの参照を教えてください、私は私の質問を削除します。

私はJSでこのコードを使用する:

bigPhoto.setAttribute("width", "200rem");

結果は

enter image description here

しかし、HTMLソースの画素である:

enter image description here

20remに変更すると写真が実際に小さくなります。

写真に記載されている問題を解決できませんでした。

+0

'rem'または' em'を意味しますか? –

+1

インスペクタは常にピクセル幅を表示します - それは意味しませんあなたは 'rem'を指定していないと言っています。 "20rem = 200px' – Adam

+0

rem:相対的なフォントサイズは' 10px'です。 remはデバイスに依存し、ウェブサイトが密度の異なるデバイス用であれば使用することをお勧めします。 私は書く必要があるプロジェクトのために、私はJSを使って幅を設定しましたが、jsのremは機能しません。 すべてのデバイスで20rem = 200pxとは判断できませんでした。 –

答えて

3

HTMLのwidth属性には、整数のピクセル数またはパーセント値(%記号が続きます)だけが使用されます。

あなたはCSSを使用する必要があります(とbigPhoto.style.width = "200rem"を設定するCSSの長さの単位を使用する場合

+0

ありがとうございます。これは正しい答えです –

10

もう一つの方法は、ピクセルにレムを変換するために、次のようになります。

function convertRemToPixels(rem) {  
    return rem * parseFloat(getComputedStyle(document.documentElement).fontSize); 
} 

するときに必要。これは便利です(マウスの位置を使用してツールチップを表示するなど)