Modularização do CSS

Postado por: Pedro Rogério em

Uma das coisas que eu aprendi nessa minha nova jornada foi a tornar o meu CSS modular, mas o que seria isso? É basicamente você dividir o CSS do seu site em vários arquivos, onde você ganha mais agilidade em uma possível atualização, o site no browser do usuário também carrega mais rápido, pois evita de se carregar CSS desnecessário, e mais outros milhares de benefícios.

Se você não tem nem idéia por onde começar, comece divindo o CSS em arquivos do tipo, um para o topo, outro para o menu, outro para conteúdo e outro para rodapé, depois é só criar as chamadas para o CSS no header do seu site. Você vai ver como sua vida irá melhorar e muito com isso.

<update> Acho que faltou um exemplo claro para o pessoal entender melhor o poder da modularização, pois bem, dêem uma olhada nesse site que fizemos recentemente lá na empresa onde trabalho: www.hottoys.com.br, ele é composto de 2 arquivos php, e todas as alterações feitas no layout são graças as CSS. </update>

  • Categorias: CSS
  • Tags:

Validação de formulários com Prototype

Postado por: Pedro Rogério em
Prototype

Se você é como eu, ainda engatinha no JavaScript, quer aprender a validação de formulários mas não tem tempo pra estudar, existe uma maneira bem fácil de se fazer isso, basta utilizar o Really Easy Field Validation. Ele é baseado no Prototype, um Framework que hoje em dia é utilizado por 8 entre 10 programadores.

Eu vi aqui no site do Rafael Lima

Colocando notas em imagens estilo Flickr com CSS

Postado por: Pedro Rogério em
Notas em imagens estilo Flickr

Se você utiliza o Flickr, ou já utilizou, sabe do que eu estou falando, existe uma maneira bastante simples de se conseguir um efeito similar ao utilizado no Flickr somente com CSS. E o mais interessante e que esse código funciona em todos os browsers, ótimo para você que quer fazer um álbum de fotos on-line e quer adicionar algum comentário dentro da foto. Primeiramente, vejam esse exemplo. Agora vamos ao nosso código HTML:


<div id="foto">
  <div class="nota1">
    <a href="#">
	<div class="contorno">
	<div class="texto">O rosto cheio de barro!!!</div>
	</div>
    </a>		
  </div>
</div>

Basicamente utilizamos de uma div que contém todo o código, e onde é inserida a imagem, após criamos uma div para o quadrado onde você quer colocar a nota, outra para o contorno e uma outra para o texto. O resto é puro CSS:

CSS


#foto {
	position:relative;
	width:760px;
	height:570px;
	margin:0 auto;
	background:url(annalu.jpg) no-repeat;
}
a { 
	color:#fff; 
	text-decoration:none; 
	position: absolute; /*Muito Importante para poder posicionar os retangulos onde eu quiser*/ 
	width: 100px; /* Tamanho de todos os retangulos */ 
	height: 120px; /* Tamanho de todos os retangulos */ 
}
a:hover { 
	border: 1px solid #fff; /* Borda interior branca */ 
	cursor: pointer; 
}
/* Borda exterior amarela */ 
.contorno{ 
	display: block; 
	width: 104px; 
	height: 124px; 
	position: absolute; 
	top: -3px; 
	left: -3px; 
}
a:hover .contorno { 
	border: 1px solid #D4D82D; 
}
/* Posicao de cada nota */ 
.nota1 a{ 
	top: 75px; 
	left: 280px; 
}
/* Regras para mostrar o texto de cada nota */ 
.texto {
	position: absolute;
	left: -10000px;
	bottom: -35px;
	width: 100px;
	text-align:center;
	color:#000000;
	background-color:#FFFFD3;
	font:11px Geneva, Arial, Helvetica, sans-serif;
	-moz-border-radius: 8px; /* Bordas redondas, funciona somente no Firefox */
}
a:hover .texto{ 
	left:2px; 
}

Como podem ver no CSS, basta colocar position:relative para a div que vai conter a foto, com isso, você consegue posicionar absolutamente onde quiser as notas que posteriormente você vai adicionando. Dêem uma olhada nesse segundo exemplo.

Referências

  • Categorias: CSS
  • Tags:

105 BROWSER BUGS

Postado por: Pedro Rogério em
Browser Bugs

Está desenvolvendo um site, está tendo vários problemas que não sabe de onde eles surgem, a possível solução para os mesmos pode estar nesse site.

Min-height (altura mínima) para elementos de bloco com CSS

Postado por: Pedro Rogério em

Um grande problema que atormenta a vida dos desenvolvedores, quando se trabalha com elementos de bloco (divs), é definir uma altura mínima para eles. Isso ocorre quando se tem uma imagem com float e um texto correndo logo ao lado, se o texto não tem a altura da imagem, o conteúdo que está logo abaixo do texto também será mostrado ao lado da imagem, pois a div que tem o conteúdo, toma a altura do texto, ao invés de tomar automaticamente a altura da imagem. Vejam o que acontece nesse exemplo.

Para solucionar esse problema, basta selecionar uma altura mínima para o elemento que contém o texto e a imagem:

HTML

Utilize-se de uma div como container e coloque dentro uma imagem e um texto decritivo.


<div id="box">
	<img src="Imagem_de_exemplo.gif" alt="Imagem de Exemplo" title="Imagem de Exemplo" />
	<p>Conteúdo da div box</p>
</div>

CSS


#box {
  min-height:128px;
  height:auto !important;
  height:128px;
  padding:5px;
}
#box img {
  float:left;
}

A propriedade min-height estabelece uma altura mínima para o elemento, esta propriedade não funciona no Internet Explorer, sendo que ele interpreta o atributo height como min-height, por isso estabeleci height:128px;. Agora paras os browsers que interpretam corretamente a propriedade height e min-height, não tenham uma altura fixa, por isso foi utilizado height: auto !important, estabelhecendo-lhe uma altura automática, dando-lhe uma maior prioridade a esta declaração fazendo o uso de !important, que não é interpretada pelo Internet Explorer. Agora vejam um exemplo do efeito funcionando corretamente.