2016-04-10 29 views
1

Ich konnte die Antwort hier nicht finden.rem px in Javascript

Wenn die Frage wiederholt wird, bitte geben Sie mir den Punkt nicht negativ.

Nur sagen Sie mir die Referenz der Antwort dann werde ich meine Frage löschen.

Ich benutze diesen Code in JS:

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

Das Ergebnis in Pixel ist in HTML-Quellcode,

enter image description here

Aber:

enter image description here

Wenn ich es zu 20rem ändere, wird das Foto wirklich klein.

Ich konnte das Problem nicht lösen, das in den Fotos erwähnt wird.

+0

Meinen Sie "rem" oder "em"? –

+1

Der Inspector zeigt immer die Pixelbreite an - das bedeutet nicht dass du nicht "rem" angegeben hast. Offenbar dein ba Die Schriftgröße ist '10px', so dass '20rem = 200px' – Adam

+0

rem: relative em. rem ist abhängig vom Gerät und es wird empfohlen zu verwenden, wenn die Website für verschiedene Geräte mit unterschiedlicher Dichte ist. für das Projekt, das ich schreiben sollte, soll ich DOM verwenden, also habe ich JS verwendet, um die Breite zu setzen, aber rem in js funktioniert nicht. Wir konnten das 20rem = 200px in allen Geräten nicht sagen. –

Antwort

3

Das HTML-Breitenattribut benötigt nur eine ganzzahlige Anzahl von Pixeln oder einen Prozentsatz (gefolgt von einem% -Zeichen). .

Wenn Sie Einheiten CSS Länge verwenden, haben Sie CSS zu verwenden (und bigPhoto.style.width = "200rem" gesetzt

+0

Danke. Dies ist eine korrekte Antwort –

10

Eine andere Methode rem in Pixel zu umwandeln wäre:

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

Dies kann nützlich sein, wenn es sein muss Führen Sie einige Arithmetik in js aus (z. B. die Position der Maus zum Anzeigen einer QuickInfo ...)