Centralizar div na horizontal e vertical com CSS

Postado por: Pedro Rogério em

Quando você inicia seus estudos com CSS, uma das primeiras coisas que quer aprender é a centralizar divs na página independente da resolução do usuário. Existe uma forma muito simples de fazer isso somente com a utilização de CSS. Observe a seguinte marcação HTML:

<div id="box"></div>

O que nós vamos fazer agora é centralizar essa div na tela do usuário utilizando o seguinte CSS:

#box {background-color:#ff0000; height:480px; left:50%; position:absolute; top:50%; width:640px}

A primeira vista você pode pensar que somente definindo position:absolute e as coordenadas left e top com 50% para a div funcionarão, mas vejam nesse exemplo o que acontece. Infelizmente assim não conseguiremos centralizar a div horizontalmente nem verticalmente, o segredo para que isso aconteça é muito simples, temos que adicionar margens negativas ao elemento que você deseja centralizar, da seguinte forma:

#box {background-color:#ff0000; height:480px; left:50%; margin:-240px 0 0 -320px; position:absolute; top:50%; width:640px}

Agora se repararem nesse exemplo, verão que a div estará sempre centralizada na tela independente da resolução do usuário. O segredo é utilizar as margens top e left com valores negativos. A base para se chegar a esses valores é a seguinte: Para a margin-top você deve pegar a altura total do elemento e dividir por 2, como temos alí uma div com um height de 480px, o valor final é de 240px, e para margin-left pegamos a largura total do elemento, que alí é de 640px, dividimos por 2, e chegamos ao valor de 320px. A partir daí basta utilizar esses valores negativos.

Testei e funciona perfeitamente nos seguintes Browsers: IE6, IE7, Firefox 2.0.0.18, Firefox 3, Safari 3(Win), Opera 9.5, Opera 10 Alpha, Google Chrome e Flock.

BlueTrip CSS Framework

Postado por: Pedro Rogério em

Os Frameworks foram criados para auxiliar os desenvolvedores na criação de seus projetos web, tornado o trabalho menos árduo. Hoje em dia você pode encontrar Frameworks para as mais diversas linguagens, inclusive para CSS. Algumas pessoas descriminam sua utilização, alegando que você irá “desaprender” CSS. Não vejo por esse lado, eu acho que você deve estar aberto a conhecer novas técnicas, e com base nisso acabei descobrindo mais um Framework para CSS.

CSS Frameworks

BlueTrip CSS é framework formado por um mix de vários outros frameworks tais como: 960.gs, Blueprint, LogiCSS, YAML, Elements, YUI, e Boilerplate. Seu criador somou as melhores técnicas utilizadas nesses Frameworks em um só.

Vejam alguns exemplos de utilização:

Bordas redondas com CSS

Postado por: Pedro Rogério em

Segue abaixo um simples código para se produzir bordas redondas com CSS:

border-radius: 9px; /* CSS 3 */
-o-border-radius: 9px; /* Opera */
-icab-border-radius: 9px; /* iCab */
-khtml-border-radius: 9px; /* Konqueror */
-moz-border-radius: 9px; /* Firefox */
-webkit-border-radius: 9px; /* Safari */

Internet Explorer? Como ele não possui suporte a CSS 3, a solução seria ignorá-lo, ou então utilizar JavaScript ou imagens. Exemplo.

Diferença entre elementos inline e de bloco em HTML

Postado por: Pedro Rogério em

Entender como os elementos HTML são renderizados na página é essencial para aqueles que estão embarcando agora no mundo do desenvolvimento web. Já vi muitas pessoas passarem por problemas por não entenderem isso, aliás, muitos programadores, no decorrer do desenvolvimento acabam tendo problemas com o HTML que foi desenvolvido pois ao tentarem efetuar alguma alteração acabam utilizando tags que não são necessárias, e aí os problemas começam. Então, para evitarmos esses problemas vou mostrar aqui que os elementos HTML são renderizados de 3 formas diferentes: Tags a níveis de bloco, Inline e Invisíveis.

Elementos a nível de bloco

Imagem ilustrando elementos de bloco

Os elementos de bloco em HTML utilizam toda a sua largura disponível e criam uma linha invisível antes e depois de si próprio. Os elementos a nível de bloco são os seguintes:

address, blockquote, center, dir, div, dl, dt, dd, frameset, fieldset, form, h1, h2, h3, h4, h5, h6, hr, menu, noframes, noscript, ol, ul, li, p, pre, table, tbody, thead, tfoot, tr, td, th

Eu sou um elemento a nível de bloco

Elementos Inline

Imagem ilustrando elementos inline

Os elementos HTML a nível inline são aqueles que ocupam somente sua largura necessária e não criam linhas antes e depois de si. Os elementos a nível inline são os seguintes:

a, abbr, acronym, applet, b, basefont, bdo, big, br, button, cite, code, del, dfn, em, font, i, iframe, img, input, ins, kbd, label, map, object, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var

Eu sou um elemento a nível inline, Eu sou mais um elemento a nível inline

Elementos Invisíveis

São aqueles elementos que existem na página, mas não são mostrados ao usuário:

base, isindex, link, meta, script, style, title

Uma dica é que em CSS você pode tranformar um elemento de bloco em inline ou vice-versa através da propriedade CSS display.

Páginas:«1...8910111213141516»