Design comparison
Solution retrospective
Originally, my media query condition was min-width: 76.8rem
. I've set html font-size: 10px
, so I thought 76.8rem
would be equal to 768px
. But, instead, it resolves to 1228.8px (76.8 * 16px)
Is it supposed to behavior like this or am I doing something wrong?
Community feedback
- @md5daltonPosted about 2 years ago
Hello João Oliveira 👋
You are not doing anything wrong, that's the expected behavior. I was also a bit confused about the use of
rem
s in media queries when I was watching a tutorial on CSS media queries by Coder Coder. So I searched online to see if anyone else has come across this issue and here is what I found:rem
is one of many relative units in CSS, which means it is relative to something else, perhaps the size of the parent element's font, or the size of the viewport. In the case ofrem
, it is relative to the font size of the root element that is matched by the:root
pseudo class or thehtml
selector.So now here is where things start to get interesting. According to section 1.3 of the media queries spec, relative length units in media queries are based on the initial value, which means that units are never based on results of declarations. For example, in HTML, the em unit is relative to the initial value of font-size, defined by the user agent or the user’s preferences, not any styling on the page.
So since
rem
is also a relative unit, when you choose to use them in media queries, the initial value will be16px
and not the10px
that you defined in your styles even though that was still inside the root element.I hope that clears the confusion. 👌
Marked as helpful1 - @correlucasPosted about 2 years ago
Aqui outra dica pra você João:
A estrutura html o design também, algo que você pode fazer para melhorar a imagem que precisa mudar entre mobile e desktop é usar
<picture>
ao invés de<img>
dentro de uma div. Por motivos de SEO e mecanismos de pesquisa tipo Google e bing, não é uma boa prática importar esta imagem do produto com CSS, pois isso dificultará a localização da imagem no google. Você pode gerenciar ambas as imagens dentro da tag<picture>
e usar o código html para definir quando as imagens devem mudar configurando o dispositivomax-width
dependendo do dispositivo (mobile / desktop) Aqui está um guia sobre como usarpicture
:https://www.w3schools.com/tags/tag_picture.asp
0
Please log in to post a comment
Log in with GitHubJoin our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord