• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Prosty kod. CSS- czemu dla font-size REM i PX działa tutaj inaczej?

Object Storage Arubacloud
+1 głos
528 wizyt
pytanie zadane 8 lipca 2021 w HTML i CSS przez lukasz21 Obywatel (1,090 p.)
zamknięte 9 lipca 2021 przez lukasz21

Witam,

Mam szybkie pytanie:

W podanym przykładzie mam dwa <p>. Jeden ma  font-size: 40px, a drugi ma  font-size: 4rem. Html ma ustawione:   font-size: 62.5%;   , czyli  10px.

Więc dla font-size: 4rem powinno dać 40px.  Ale tak nie jest.

Oba <p> powinny mieć taki sam font-size, po 40px.  Ale drugi <p> ma mniejszy font nize pierwszy <p> z 40px.

Czemu tak jest?

Link do codepen

 

Dziękuje z odpowiedź.

komentarz zamknięcia: Rozwiazałem problem
komentarz 8 lipca 2021 przez ScriptyChris Mędrzec (190,190 p.)

Ale drugi <p> ma mniejszy font nize pierwszy <p> z 40px.

Czemu tak jest?

 Po czym stwierdzasz, że drugi <p> ma mniejszy font-size?

komentarz 8 lipca 2021 przez lukasz21 Obywatel (1,090 p.)
edycja 8 lipca 2021 przez lukasz21

U mnie w obu przegladarkach: Chrome Wersja 91 i Firefox wersja 89.0.2 mam taki widok tekstu:

Nie wiem, czy mam od nowa przegladarki spróbować zainstalować czy jak?

4 odpowiedzi

+3 głosów
odpowiedź 9 lipca 2021 przez Comandeer Guru (601,110 p.)
wybrane 9 lipca 2021 przez lukasz21
 
Najlepsza

Zacznijmy od tego, że 62.5% TO NIE JEST 10px. To jest 62.5% domyślnego rozmiaru fontu, jaki masz ustawiony w przeglądarce. Najczęściej jest to 16px, ale NIE MUSI BYĆ. I najwyraźniej w Twoim przypadku tak jest – domyślny rozmiar fonta jest inny niż 16px.

Innymi słowy: założenie, że 62.5% daje nam 10px, jest całkowicie błędne. Jeśli chcesz liczyć w pikselach, to… licz w pikselach – tyle. Nie ma sensu używać rem, jeśli w rzeczywistości przeliczasz je na piksele. Relatywne jednostki mają sens, gdy się je używa, myśląc proporcjami i relacjami między poszczególnymi częściami strony, nie konkretnymi rozmiarami.

komentarz 9 lipca 2021 przez lukasz21 Obywatel (1,090 p.)

To rozwiązało problem. Nigdy nie wiedziałem o tym. Faktycznie miałem źle ustawiony domyślny rozmiar fontu (w obu przeglądarkach), zamiast 16px na mniejsze rozmiary.

 

Innymi słowy: założenie, że 62.5% daje nam 10px, jest całkowicie błędne. Jeśli chcesz liczyć w pikselach, to… licz w pikselach – tyle. Nie ma sensu używać rem, jeśli w rzeczywistości przeliczasz je na piksele. Relatywne jednostki mają sens, gdy się je używa, myśląc proporcjami i relacjami między poszczególnymi częściami strony, nie konkretnymi rozmiarami.

Dziękuję za radę. Przemyśle to.

+1 głos
odpowiedź 8 lipca 2021 przez SzkolnyAdmin Szeryf (86,360 p.)

Jaka przeglądarka? U mnie (Firefox 89.0.2) oba akapity są takiej samej wielkości. dopisz sobie jeszcze jeden stylizowany inline i zobaczysz, że wszystkie są takie same.

<p style="font-size: 40px;">lorem</p>

 

komentarz 8 lipca 2021 przez lukasz21 Obywatel (1,090 p.)
Ten sam bład jest w przegladarkach:  Chrome Wersja 91 i Firefox wersja 89.0.2,
+1 głos
odpowiedź 8 lipca 2021 przez VBService Ekspert (253,300 p.)
edycja 9 lipca 2021 przez VBService

Chrome, FF, Opera, takie same.  smiley

<p class='a'>lorem</p>
<p class='b'>lorem</p>

<pre></pre>
*  { 
  box-sizing: border-box;
  margin: 20px 60px;
  padding: 0;
}

html {
  font-size: 62.5%;   /*  10px */
}

body {
  font-size: 1.6rem;  /*  16px */
  font-family: sans ;
}

.a { font-size: 40px; }
.b { font-size: 4rem; }
const pre = document.querySelector('pre'),
      a = document.querySelector('.a'),
      b = document.querySelector('.b'); 

window.addEventListener('DOMContentLoaded', () => {
  pre.textContent = 'a: ' + window.getComputedStyle(a).getPropertyValue('font-size') + '\n'
                  + 'b: ' + window.getComputedStyle(b).getPropertyValue('font-size');  
});

 

komentarz 8 lipca 2021 przez lukasz21 Obywatel (1,090 p.)

Uruchomiłe ten kod w codepen i nadal mam taki sam widok.

Javascript wyświetlił:

Na Firefox:

a: 40px
b: 30px

Na Chrome:

a: 40px
b: 35px

Czyli przeglądarka coś źle liczy.

1
komentarz 8 lipca 2021 przez SzkolnyAdmin Szeryf (86,360 p.)
Sprawdź w ustawieniach przeglądarki jaki masz domyślny rozmiar czcionki. Z twoich wyników można wnioskować, że w Firefoksie jest to 12px, a w Chromie 14px.
+1 głos
odpowiedź 8 lipca 2021 przez Wiciorny Ekspert (269,810 p.)

Problem z przeglądarką, albo domyślnie dziedziczenie jest  inne u Ciebie, jeśli to jest fragment w jakimś rodzicu co może coś zmienić : 
Rem (relative to font-size of the root element) działa niemal na identycznej zasadzie, jak em, z tą różnicą, że rozmiar nie jest dziedziczony bezpośrednio od rodzica, tylko z najwyższego elementu w DOM strony. Najczęściej jest to znacznik HTML.

Podobne pytania

0 głosów
1 odpowiedź 261 wizyt
pytanie zadane 19 grudnia 2017 w JavaScript przez SzukającyPrzygód Bywalec (2,310 p.)
0 głosów
2 odpowiedzi 220 wizyt
0 głosów
2 odpowiedzi 398 wizyt
pytanie zadane 18 czerwca 2017 w JavaScript przez SzukającyPrzygód Bywalec (2,310 p.)

92,568 zapytań

141,422 odpowiedzi

319,629 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...