Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Posso inverter a linha da tag label com a da tag input?

Posso inverter a linha da tag label com a da tag input?

Pra quem vem da programação, fica muito esquisito eu fazer o "for" numa linha referenciando uma id que eu só vou declarar na linha de baixo.

Como o HTML calcula isso? Ele não lê o código linha a linha, e sim a página toda? Se fosse linha a linha, assim que chegasse na propriedade "for" da label, ele daria erro.

3 respostas

Poder pode, mas o "correto" seria o Label vir primeiro. Se você inverter ele vai aparecer o input primeiro e depois o label, meio que não vai fazer muito sentido o campo aparecer primeiro e depois o que se deve colocar no campo. O HTML vai aparecendo sim de linha a linha mas isso não influencia na ordem em que os elementos aparecem, então não há problema em colocar em declarar o label com o for antes do input com o id que vai ser referenciado. E só pra lembrar, HTML não é linguagem de programação, então as regras não são as mesmas. Espero que ajude :)

solução!

Grande Renan.

Excelente pergunta. E para chegarmos a resposta, precisamos entender o fluxo de como o navegar lida com o HTML:

fluxo do html no navegador

Repara que o navegador primeiro faz o parse do HTML e só depois renderiza a árvore de elementos. Diferente de uma linguagem de programação, o HTML é uma linguagem de marcação.

Por isso podemos estruturar a label dessa forma. Inclusive, se mudarmos a ordem, primeiro vamos visualizar o input e só depois a label. Porque a ordem dos elementos influencia a ordem na tela.

Perfeito, muito obrigado!