CSS - Display
Sabemos que o browser exibe os elementos da página de acordo com um estilo padrão interno.
Este estilo padrão foi atribuido baseando-se na utilização padrão do objeto dentro da página.
Este padrão pode ser inline(em linha) ou block (em bloco)
Na seção html deste site na página 05-Fundamentos.html foi feita esta analise.


Elementos exibidos no formato display:block (em bloco) :

		    <address>     <article>      <aside>         <blockquote>
		    <canvas>      <dd>           <div>           <dl>
		    <dt>          <fieldset>     <figcaption>    <figure>
		    <footer>      <form>         <h1>-<h6> <header>
		    <hr>          <li>           <main>          <nav>
		    <noscript>    <ol>           <output>        <p>
		    <pre>         <section>      <table>         <tfoot>
		    <ul>          <video>
        
Características:
   •Os elementos tipo block são feitos para serem exibidos em bloco, ou seja, ocupam de maneira exclusiva uma linha, é ele e mais ninguém na linha.
   •Cito como exemplo a tag p que, por natureza, designa um novo parágrafo e por isso, uma nova linha.
   •Portanto, ao renderizar um elemento tipo bloco na página o DOM verifica se já existe outro elemento renderizado anteriormente à esquerda na mesma linha e, se houver, este novo elemento tipo bloco será exibido na linha a seguir.
   •Sempre, após renderizar um elemento tipo bloco a exibição do próximo elemento será feito na linha a seguir, deixando o que resta à direita no parágrafo atual vazio, sem conteúdo mesmo que o próximo elemento coubesse nele.
   •A vantagem dos elementos tipo bloco é que como eles são únicos podem ser dimensionados livremente na página (largura e altura) porque não haverá ninguém concorrendo com seu espaço.


Elementos exibidos no formato display:inline ( em linha ):

			<a>         <abbr>     <acronym> <b>
			<bdo>       <big>      <br>      <button>
			<cite>      <code>     <dfn>     <em>
			<i>         <img>      <input>   <kbd>
			<label>     <map>      <object>  <q>
			<samp>      <script>   <select>  <small>
			<span>      <strong>   <sub>     <sup>
			<textarea>  <time>     <tt>      <var>
		
Características:
   •Os elementos tipo inline são feitos para serem exibidos em linha, ou seja, um ao lado do outro.
   •Ao renderizar um elemento inline o browser verifica se ele cabe na linha corrente, como se fosse um texto.
   •Se couber exibe nela mesma mas se não cabe será exibido na linha a seguir.
   •A desvantagem deste tipo de elemento ( em linha ) é que não é possível dimensionar os elementos no que tange a largura ou altura entre alguns aspectos porque a largura e altura depende de todos elemento da linha e se este parâmetro fosse obedecido teria que formatar os demais elementos na mesma linha o que não é possível pois ainda não foram renderizados.


Forçando exibição em linha

Para modificar o estilo de apresentação do elemento para em linha acrescentaremos o parâmetro : display:inline; no estilo do elemento
   •Tem o comportamento de linha.
   •São posicionados um ao lado do outro.
   •O elemento perde a altura e a largura, e não é possível aplicar tais configurações no elemento.
   •O elemento ganha o comportamento de palavra, texto simples.
   •Como uma palavra, há um espaços entre os elementos, o elemento recebe parâmetros de alinhamento de texto como text-align.


Forçando exibição em bloco

Para modificar o estilo de apresentação do elemento para em linha acrescentaremos o parâmetro : display:block; no estilo do elemento
   •São posicionados um a baixo do outro.
   •O elemento não perde a altura e a largura, e é possível aplicar tais opções.
   •O elemento em bloco ocupa a linha toda, não sendo possível posicionar um bloco ao lado do outro.
   •Pode-se aplicar o margin: auto; que centraliza o elemento na pagina aplicando valores na marge conforme o tamanho do elemento pai.
   •Para receber margin: auto; o elemento precisa ser um bloco e ter uma largura setada.


Note que tanto o estilo em linha como o em bloco são estilos comumente aplicados pelo html.
Contudo com a CSS podemos alterar o estilo de apresentação da tag para o que desejarmos ao invés de usar o estilo padrão do browser.

Forçando exibição em linha-bloco

Para modificar o estilo de apresentação do elemento para em linha acrescentaremos o parâmetro : display:inline-block; no estilo do elemento
   •O elemento recebe comportamento de palavra mesmo sendo bloco.
   •É possível aplicar alinhamentos de palavra como text-align nos blocos.
   •É possível aplicar largura e altura por ser bloco.

Note que o estilo em linha-bloco só é possível ser aplicado pelo style ou css.
Normalmente não é usado pelo browser.

Forçando exibição tipo Float

Para modificar o estilo de apresentação do elemento para em linha acrescentaremos o parâmetro : display:float; no estilo do elemento
   •O float coloca o elemento em um novo contexto de exibição fora do fluxo normal de exibição atual do browser.
   •Os elementos abaixo sobem assumindo a posição do elemento com float.
   •O elemento com o float esconde o elemento que assumiu sua posição no contexto anterior, porém ele não esconde o conteúdo deste elemento, de alguma forma ele mostra este conteúdo.
   •O float muda a ordem de leitura do elemento quando alinhado a direita ou a esquerda. Normalmente segue a ordem criada no HTML.
   •Se o elemento não couber ao lado do outro, ele cai ficando abaixo do outro, mantendo sempre o lado que foi setado no float. Isso também acontece quando se diminui a janela do browser.
   •O pai que envolve o elemento flutuando perde a largura e a altura. O mesmo pode ser recuperado pelo overflow:hidden.



Modificando formato da exibição do elemento-Overflow

Para modificar o estilo de apresentação do elemento para em linha acrescentaremos o parâmetro : display:overflow; no estilo do elemento
   •Ao tirar o elemento do contexto com o float, o seu pai perde o tamanho e passa a respeitar o tamanho do seu conteúdo que ficou no mesmo contexto.
   •Para forçar o elemento pai a respeitar o tamanho dos elementos que estão fora do seu contexto, utiliza-se o overflow.
   •overflow:hidden recalcula os contextos, escondendo os elementos que vazam a altura e largura definida para o pai.



Modificando formato da exibição do elemento-Clear

Para modificar o estilo de apresentação do elemento para em linha acrescentaremos o parâmetro : display:clear-both; ou display:clear-left; ou display:clear-right; no estilo do elemento
   •limpa o contexto deixando o elemento com o clear a baixo dos elementos que estão flutuando em outro contexto.