Avançar para o conteúdo principal

HTML CSS - Box Model

HTML CSS - Box Model

Uma das bases para se entender o funcionamento do CSS é o modelo de caixa, ou box model.

Em qualquer navegador, depois de clicado o botão direito aparece a opção inspeccionar. Depois no separador elementos vai aparecer no fundo o Box Model. Abrir uma página vazia ajuda a encontrar.

Box Model - Google Chrome

Podemos jogar um pouco com o Box Model, para aprender (e complicar) criando um HTML simples:

HTML

Apenas tem linkado o ficheiro CSS e um div com um título H1

CSS
No CSS apenas estão activadas propriedades para o div com a classe página.

A correspondencia tal qual como está entre o CSS e o que é mostrado na página com o Bom Model é a seguinte:

No CSS não tenho a propriedade margin 5 px mas o Box Model indica 8 px.
Na verdade esse margin é relativo ao elemento HTML que não está definido e se apresenta com um valor por defeito.
Como perceber isso?
primeiro colocar uma linha a rodear o elemento div, e depois se clicar dentro do conteúdo do DIV (H1) e inspeccionar vemos que agora o esquema de Box Model já apresenta a margen de 5 px.
DIV ou HTML


Ao clicar na zona "laranja" vemos a margem de 5 px.
O que estava na primeira imagem era um clique na parte lateral do que parecia ser o elemento DIV, clique na zona ciano, que dá essa margem de 8px por defeito.

Por exemplo se colocarmos no CSS que o fundo do elemento HTML seja vermelho e clicarmos na zona ciano, o único saliente de conteúdo é o nosso DIV o que engana um pouco se houvesse mais DIVs seriam todos salientados.

Aqui vemos que a margem é zero. Então de onde vinha o margin 8 px?
Do Body que apenas sobressai se no CSS atribuímos um fundo verde, por exemplo.


Veja-se acima que ao pedir a inspeção clicando no local adequado nos fornece o margin 8pn, e salienta na pagina a margen do body por cima do elemento HTML.
Fica tudo um pouco confuso certamente.

Podemos ainda activar no CSS uma linha de bordo para todos os elementos, fica algo como isto:


Atençãoq ue diferentes navegadores têm diferentes características, no Edge, por exemplo o border do div indica 3 px:


Quando alguma propriedade não está definida por vezes recorrem aos valores por defeito.




Comentários

Mensagens populares deste blogue

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...

Python - Automatização em ISPOL

Python - Automatização em ISPOL Com o uso de PyAutoGui podemos automatizar tarefas repetitivas no ISPOL ISTRAM. No trabalho actual, é necessário converter mais de 300 ficheiros. Já houve um trabalho prévio de ler e transformar dados de directrizes em Excel para ficheiros compatíveis com a conversão presente. Este trabalho prévio foi também feito com programação. Tendo os muitos ficheiros com formato TXT que o ISPOL pode ler e converter para CEJ, é necessário ir ao menu de Conversores do ISTRAM e digitar os dados para ler a localização dos ficheiros, número de eixo etc... um trabalho repetitivo. Sendo repetitivo uma hipótese que deve surgir é se existe forma de automatizar / programar. O ISTRAM ISPOL não permite o uso de plugins (como o CAD), por tanto a via seria pela automatização dos movimentos. O pacote PyAutoGUI para Python permite esta simulação de movimentos. https://pyautogui.readthedocs.io/en/latest/ Basicamente "guiamos" o cursor para onde deve clicar e o que introdu...

Kinematic Envelope - Vários exemplos

Kinematic Envelope - Vários exemplos Adiciono uma pequena lista de desenvolvimentos sobre o assunto de Gabaritos ferroviários. Para mais informação veja outros posts. AECOM Desenvolvimento no Civil 3D ao que parece, com dynamo. Não se percebe com que norma. https://youtu.be/BdRDICErJJ8?si=0MD8xGx_W1PCG5dP Mehdi Taheri Plataforma independente, não se conhece sobre que normativa. https://www.youtube.com/watch?v=LXUusfK25bs 12D Provavelmente é algo similar à AREMA, 12D é uma empresa da Austrália, creio https://www.youtube.com/watch?v=OQnaDt7IOXw