DÊVIDA CRUEL EM CSS3
Boa noite meus queridos colegas!
Estou estudando algumas sintaxe em CSS3 e por precisar usar tão pouco, nunca me deparei com um exemplo que me deixou com uma grande dúvida na sua finalidade. Pesquisei em alguns sites a fim de esclarecer essa minha dúvida, inclusive no www.w3shools.com e nada de sanar a minha dificuldade.
No exemplo abaixo, eu tenho um trecho do código que contém essa linha width: 30em, pesquisei em vários lugares o significado deste tipo de medida em (em), mas ainda continuo sem entender.
Alguém mexe bastante com CSS3 e poderia me explicar melhor qual a sua finalidade? Segue um exemplo da w3shools com essa linha:
<!DOCTYPE html>
<html>
<head>
<style>
div.container {
width: 30em;
border: 1em solid;
}
div.box {
box-sizing: border-box;
width: 50%;
border: 1em solid red;
float: left;
}
</style>
</head>
<body>
<div class=[Ô]container[Ô]>
<div class=[Ô]box[Ô]>This div occupies the left half.</div>
<div class=[Ô]box[Ô]>This div occupies the right half.</div>
<div style=[Ô]clear:both;[Ô]></div>
</div>
</body>
</html>
Estou estudando algumas sintaxe em CSS3 e por precisar usar tão pouco, nunca me deparei com um exemplo que me deixou com uma grande dúvida na sua finalidade. Pesquisei em alguns sites a fim de esclarecer essa minha dúvida, inclusive no www.w3shools.com e nada de sanar a minha dificuldade.
No exemplo abaixo, eu tenho um trecho do código que contém essa linha width: 30em, pesquisei em vários lugares o significado deste tipo de medida em (em), mas ainda continuo sem entender.
Alguém mexe bastante com CSS3 e poderia me explicar melhor qual a sua finalidade? Segue um exemplo da w3shools com essa linha:
<!DOCTYPE html>
<html>
<head>
<style>
div.container {
width: 30em;
border: 1em solid;
}
div.box {
box-sizing: border-box;
width: 50%;
border: 1em solid red;
float: left;
}
</style>
</head>
<body>
<div class=[Ô]container[Ô]>
<div class=[Ô]box[Ô]>This div occupies the left half.</div>
<div class=[Ô]box[Ô]>This div occupies the right half.</div>
<div style=[Ô]clear:both;[Ô]></div>
</div>
</body>
</html>
Veja se te ajuda
http://www.w3.org/Style/Examples/007/units.pt_BR.html
http://www.maujor.com/tutorial/medidascss.php
http://desenvolvimentoparaweb.com/css/unidades-css-rem-vh-vw-vmin-vmax-ex-ch/
http://www.w3.org/Style/Examples/007/units.pt_BR.html
http://www.maujor.com/tutorial/medidascss.php
http://desenvolvimentoparaweb.com/css/unidades-css-rem-vh-vw-vmin-vmax-ex-ch/
Ainda estou com dúvidas
KELLY,
Traduzindo livremente a página da [Ô]w3schools[Ô], [ô]em[ô] significa: [Ô]Relativo para o tamanho da fonte do elemento ([ô]2em[ô] significa 2 vezes o tamanho da fonte atual)[Ô]. Neste site tem um [Ô]TRY IT[Ô] (EXPERIMENTE)
Estava brincando agora com este trecho:
Mude o [ô]1em[ô] para [ô]2em[ô] e uma terceira vez para [ô]3em[ô]. Cada vez que mudar, clique no botão [Ô]See Result[Ô] (Veja o Resultado) e verá que o espaçamento entre linhas aumenta.
Brinque também com este trecho:
Mude o [ô]font-size[ô] (tamanho da fonte) na unidade [ô]em[ô].
DICA DO SITE: As unidades [ô]em[ô] e [ô]rem[ô] são práticas na criação de layout perfeitamente escalável!
======================================================
http://www.w3schools.com/cssref/css_units.asp
Suporte ao navegador
Os números na tabela especificam a primeira versão do navegador que suporta totalmente a unidade de comprimento.
[th]
Nota: O Internet Explorer 9 suporta vmin com o nome padronizado: vm.
* Comprimentos relativos
Unidades de comprimento relativo especificam um comprimento relativo para outra propriedade de comprimento. Unidades de comprimento relativo dimensiona melhor entre médiuns de renderização diferentes.
[th]
Dica: As unidades em e rem são práticas na criação de layout perfeitamente escalável!
* Comprimentos absolutos
As unidades de comprimento absolutas são fixos e um comprimento expressado em qualquer um desses vai aparecer como exatamente desse tamanho.
Unidades de comprimento absolutas não são recomendadas para uso na tela, porque os tamanhos de tela variam tanto. No entanto, pode ser usados se a mÃdia de saÃda é conhecida, tais como layout de impressão.
[th]
* Pixels (px) são relativos para os dispositivos de visualização. Para dispositivos de baixo dpi (dot per pixel), 1px é um dispositivo pixel (ponto) do display. Para impressoras e telas de alta resolução 1px implica vários pixels de dispositivo.
[][ô]s,
Tunusat.
Traduzindo livremente a página da [Ô]w3schools[Ô], [ô]em[ô] significa: [Ô]Relativo para o tamanho da fonte do elemento ([ô]2em[ô] significa 2 vezes o tamanho da fonte atual)[Ô]. Neste site tem um [Ô]TRY IT[Ô] (EXPERIMENTE)
Estava brincando agora com este trecho:
p {
font-size: 16px;
line-height: 1em;
}
Mude o [ô]1em[ô] para [ô]2em[ô] e uma terceira vez para [ô]3em[ô]. Cada vez que mudar, clique no botão [Ô]See Result[Ô] (Veja o Resultado) e verá que o espaçamento entre linhas aumenta.
Brinque também com este trecho:
div {
font-size: 3em;
border: 1px solid black;
}
Mude o [ô]font-size[ô] (tamanho da fonte) na unidade [ô]em[ô].
DICA DO SITE: As unidades [ô]em[ô] e [ô]rem[ô] são práticas na criação de layout perfeitamente escalável!
======================================================
http://www.w3schools.com/cssref/css_units.asp
Suporte ao navegador
Os números na tabela especificam a primeira versão do navegador que suporta totalmente a unidade de comprimento.
[/th] | |||||
Unidade de Comprimento | Chrome | I.E. | Firefox | Safari | Opera |
em, ex, %, px, cm, mm, in, pt, pc [td]1.0 | 3.0 | 1.0 | 1.0 | 3.5 | |
ch [td]27.0 | 9.0 | 1.0 | 7.0 | 20.0 | |
rem [td]4.0 | 9.0 | 3.6 | 4.1 | 11.6 | |
9.0 | 19.0 | 6.0 | 20.0 | ||
vmin [td]20.0 | 9.0* | 19.0 | 6.0 | 20.0 | |
vmax [td]26.0 | Não suporta | 19.0 | Não suporta | 20.0 |
Nota: O Internet Explorer 9 suporta vmin com o nome padronizado: vm.
* Comprimentos relativos
Unidades de comprimento relativo especificam um comprimento relativo para outra propriedade de comprimento. Unidades de comprimento relativo dimensiona melhor entre médiuns de renderização diferentes.
[/th] | ||
Unidade | Descrição[td] | |
Relativo para o tamanho da fonte do elemento (2em significa 2 vezes o tamanho da fonte atual) | EXPERIMENTE | |
ex | Relativo para a altura x da fonte atual (raramente usado) | EXPERIMENTE |
CH | Relativo à largura do [Ô]0[Ô] (zero)[td] | [/td]|
rem | Relativo ao tamanho da fonte raiz do elemento[td] | [/td]|
VW | Relativo a 1% da largura do viewport[td] | [/td]|
VH | Relativo a 1% da altura do viewport[td] | [/td]|
Vmin | Relativo a 1% da menor dimensão do viewport[td] | [/td]|
VMAx | Relativo a 1% da maior dimensão do viewport[td] | [/td]|
% |
Dica: As unidades em e rem são práticas na criação de layout perfeitamente escalável!
* Comprimentos absolutos
As unidades de comprimento absolutas são fixos e um comprimento expressado em qualquer um desses vai aparecer como exatamente desse tamanho.
Unidades de comprimento absolutas não são recomendadas para uso na tela, porque os tamanhos de tela variam tanto. No entanto, pode ser usados se a mÃdia de saÃda é conhecida, tais como layout de impressão.
[/th] | ||
Unidade | Descrição | |
cm | centimeters | EXPERIMENTE |
mm | millimeters | EXPERIMENTE |
in | inches (1in = 96px = 2.54cm) | EXPERIMENTE |
px * | pixels (1px = 1/96th of 1in) | EXPERIMENTE |
pt | points (1pt = 1/72 of 1in) | EXPERIMENTE |
pc | picas (1pc = 12 pt) | EXPERIMENTE |
* Pixels (px) são relativos para os dispositivos de visualização. Para dispositivos de baixo dpi (dot per pixel), 1px é um dispositivo pixel (ponto) do display. Para impressoras e telas de alta resolução 1px implica vários pixels de dispositivo.
[][ô]s,
Tunusat.
TUNUSAT eu gostei da sua explicação, mas qual o sentido de usar esse tipo de medida [Ô]em[Ô]? Eu não poderia simplesmente informar um tamanho em pixel, centÃmetros ou pontos?
KELLY,
A explicação nem foi minha, foi da [ô]w3schools[ô] (http://www.w3schools.com/), KKKKK!
Agora sério, deixa eu colocar meu ponto de vista na mesa. Talvez nem tenha algo a haver.... Então senta que lá vem história! KKKKK! Eu disse que agora é sério!!! Sem rir! (os dois últimos parágrafos eu estou escrevendo para mim mesmo, favor desconsiderar)
Bom, ...
... cada programador aprende com um professor diferente (ou até sem professor) em uma escola diferente (ou até em nenhuma escola).
Um programador e um professor são seres humanos, bom ... por enquanto, vai saber no futuro ... cada ser humano, tem um gosto diferente, uma forma de ver a vida diferente, um jeito que gosta mais diferente, algo que acha mais fácil e outra pessoa acha mais difÃcil de fazer. Se você misturar tudo isto com alunos e professores e linguagens (mesmo que seja uma linguagem de marcação) que permitem você fazer as coisas de várias formas diferentes, alterando pouco o resultado final, deixando tudo [Ô]transparente[Ô] para o usuário, então terá milhares de combinações de código fonte final, todas funcionando corretamente. Para o usuário funciona e para muitos gerentes está bom assim. Não importa se vai impactar em velocidade de processamento durante todo o tempo de vida do sistema, na humanidade é algo que vemos não chama a atenção, pois o gasto de analisar isto a curto prazo e resolver [Ô]não compensa[Ô] (entre aspas pois depende muito de polÃtica ... sua imagem fica manchada, você é visto como mau gerente, mau programador...).
Um exemplo:
A prova da Microsoft para certificação usa isto como uma [Ô]pegadinha[Ô], várias vezes mais de uma resposta está correta e funciona, mas tem a forma que a Microsoft acha melhor, mais limpa, mais rápida e somente esta resposta está certa no ponto de vista deles.
Um exemplo pessoal:
No começo da minha carreira fiz uma função de regra de negócio que só usava [Ô]IF[Ô], eu não sabia usar bem o [Ô]FOR[Ô] e nem o [Ô]WHILE[Ô]. A função era muito rápida, muito fácil de entende e fazer manutenção, mas era ENORMMMME! KKKKK! Um amigo meu viu e mudou-a, diminuindo-a de tamanho absurdamente, mas eu percebi que ela ficou mais complicada de entender e um pouco mais lenta...
[][ô]s,
Tunusat.
A explicação nem foi minha, foi da [ô]w3schools[ô] (http://www.w3schools.com/), KKKKK!
Agora sério, deixa eu colocar meu ponto de vista na mesa. Talvez nem tenha algo a haver.... Então senta que lá vem história! KKKKK! Eu disse que agora é sério!!! Sem rir! (os dois últimos parágrafos eu estou escrevendo para mim mesmo, favor desconsiderar)
Bom, ...
... cada programador aprende com um professor diferente (ou até sem professor) em uma escola diferente (ou até em nenhuma escola).
Um programador e um professor são seres humanos, bom ... por enquanto, vai saber no futuro ... cada ser humano, tem um gosto diferente, uma forma de ver a vida diferente, um jeito que gosta mais diferente, algo que acha mais fácil e outra pessoa acha mais difÃcil de fazer. Se você misturar tudo isto com alunos e professores e linguagens (mesmo que seja uma linguagem de marcação) que permitem você fazer as coisas de várias formas diferentes, alterando pouco o resultado final, deixando tudo [Ô]transparente[Ô] para o usuário, então terá milhares de combinações de código fonte final, todas funcionando corretamente. Para o usuário funciona e para muitos gerentes está bom assim. Não importa se vai impactar em velocidade de processamento durante todo o tempo de vida do sistema, na humanidade é algo que vemos não chama a atenção, pois o gasto de analisar isto a curto prazo e resolver [Ô]não compensa[Ô] (entre aspas pois depende muito de polÃtica ... sua imagem fica manchada, você é visto como mau gerente, mau programador...).
Um exemplo:
A prova da Microsoft para certificação usa isto como uma [Ô]pegadinha[Ô], várias vezes mais de uma resposta está correta e funciona, mas tem a forma que a Microsoft acha melhor, mais limpa, mais rápida e somente esta resposta está certa no ponto de vista deles.
Um exemplo pessoal:
No começo da minha carreira fiz uma função de regra de negócio que só usava [Ô]IF[Ô], eu não sabia usar bem o [Ô]FOR[Ô] e nem o [Ô]WHILE[Ô]. A função era muito rápida, muito fácil de entende e fazer manutenção, mas era ENORMMMME! KKKKK! Um amigo meu viu e mudou-a, diminuindo-a de tamanho absurdamente, mas eu percebi que ela ficou mais complicada de entender e um pouco mais lenta...
[][ô]s,
Tunusat.
Boas palavras TUNUSAT
Resumindo tudo a explicação é clara:
em
Relativo para o tamanho da fonte do elemento (2em significa 2 vezes o tamanho da fonte atual)
Qual a fonte original do elemento, conforme demonstração do código abaixo:
Quando focê coloca a expressão acima no CSS, qualquer elemento(TAG) <p> terá uma fonte de 16px, ou seja 16px é fixo para qualquer acesso de Browser.
Imagina você vendo 16x no monitor de seu computador, mas agora imagine você vendo 16px na tela de um celular de 5 polegadas com o aparelho em pé.
Ai é que entra o em, nada mais do que um percentual sobre o tamanho padrão determinado na aplicação.
Nessa caso se em uma página colocarmos o seguindo código aaixo notaremos a diferença.
Creio que com essa explicação fique mais facil de entender. Espero ter ajudado!
Resumindo tudo a explicação é clara:
em
Relativo para o tamanho da fonte do elemento (2em significa 2 vezes o tamanho da fonte atual)
Qual a fonte original do elemento, conforme demonstração do código abaixo:
p {
font-size: 16px;
line-height: 1em;
}
Quando focê coloca a expressão acima no CSS, qualquer elemento(TAG) <p> terá uma fonte de 16px, ou seja 16px é fixo para qualquer acesso de Browser.
Imagina você vendo 16x no monitor de seu computador, mas agora imagine você vendo 16px na tela de um celular de 5 polegadas com o aparelho em pé.
Ai é que entra o em, nada mais do que um percentual sobre o tamanho padrão determinado na aplicação.
Nessa caso se em uma página colocarmos o seguindo código aaixo notaremos a diferença.
<html>
<head>
<title>TESTE de tamanho px/em</title>
<style>
p {
font-size: 16px;
}
.muda_tamanho_em {
font-size: .5em;
//Esse valor assumirá 50% do tamaho padrão que é 16px então terá um tamanho de 8px
}
.muda_tamanho_8px {
font-size: 8px !important;
}
</style>
</head>
<body>
<div style=[Ô]width: 100%; background-color: red !important;[Ô]>
<div style=[Ô]float:left; width: 80%; height: 100px; margin-left: 10%; background-color: #aaa; overflow: auto;[Ô]>
<p>
Esse é o meu tamanho original de 16px.<br />
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE.
<p>
</div>
<div style=[Ô]float:left; width: 35%; height: 100px; margin-left: 10%; margin-top: 50px; border: solid 1px black; overflow: auto;[Ô]>
<p class=[Ô]muda_tamanho_em[Ô]>
Esse é o meu tamanho proporcionado sobre o tamanho original de 16px.<br />
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE.
<p>
</div>
<div style=[Ô]float:left; width: 35%; height: 100px; margin-left: 5%; margin-top: 50px; border: solid 1px black; overflow: auto;[Ô]>
<p class=[Ô]muda_tamanho_8px[Ô]>
Esse é o meu tamanho com a class de 8px.<br />
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE
TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE.
<p>
</div>
</div>
</body>
</html>
Creio que com essa explicação fique mais facil de entender. Espero ter ajudado!
Obrigada pessoal pelas explicações e desculpe a demora na resposta!!
Tópico encerrado , respostas não são mais permitidas