15 erros que você deve evitar em um site

Introdução

Você já acessou um site e teve a sensação de que alguma coisa muito errada tinha sido feita ali? Ruim essa sensação, não é mesmo? Se você quer evitar que os visitantes do seu site tenham essa mesma impressão, fique de olho em alguns detalhes que podem derrubar seu projeto:

1 – Conteúdo importante em janelas pop-up

Hoje em dia mesmo os usuários menos experientes já têm bloqueadores de pop-up ativados nos navegadores. Se o conteúdo for realmente importante, não tente inventar moda: coloque-o numa página normal e garanta que ele será visto por todos os visitantes.

2 – Animações de abertura

Quando o usuário acessa um site, ele procura informação. Para ele, pouco importa se você aprendeu técnicas super legais no seu curso de Flash, ele quer acessar o site sem esperar. Por isso, evite as chamadas splash screens a todo custo. Mas se você não tiver mesmo outra saída – ou quando seu cliente insistir muito e não abrir mão da abertura – não esqueça de colocar um link de “pular animação” (que funcione!).

3 – Música no site

Em alguns tipos de sites, especialmente naqueles voltados para o público mais jovem, a música é uma ferramenta interessante. Porém, se não for bem projetado, esse recurso pode, na verdade, criar uma má impressão no usuário. Imagine se ele estiver escutando música? Ou se a caixa de som estiver ligada com o volume muito alto? Aqui vale novamente a dica: se não tiver outro jeito e a música for necessária, não esqueça de incluir os controles de volume, pause e stop.

4 – Site sem contato

Seu site não deve ser uma ilha isolada do resto da humanidade. Se você tem o que dizer na internet, deve dar às pessoas a chance de contatá-lo para criticar, elogiar ou acrescentar algo às suas idéias. Coloque um formulário e/ou um endereço de e-mail para o usuário entrar em contato. Já publiquei aqui no InfoWester uma coluna falando sobre como disponibilizar seu e-mail de forma eficiente no site.

5 – Desabilitar o teclado

Se você não quer que seu conteúdo corra o risco de ser roubado, não publique-o na internet. Utilizar códigos em JavaScript que bloqueiam o teclado ou o clique do mouse não impede a ação de usuários mal intencionados, e ainda atrapalha a navegação do visitante comum, que nada tem a ver com suas preocupações.

6 – Imagens mal tratadas

Antes de publicar imagens e fotos, trate-as num editor de imagens da maneira apropriada. Se for publicar uma galeria de fotos, por exemplo, gere os arquivos das miniaturas no tamanho apropriado. Não exiba imagens com tamanho diferente do original, ou seja, se a sua imagem tem 100×100 pixels, e você quer exibí-la com 50 pixels de largura, gere um novo arquivo com as dimensões corretas. Imagens “estouradas” (como a do logotipo do InfoWester ao lado) deixam a página feia e são mais demoradas para carregar, pois o navegador precisa processar o novo tamanho. Imagens com alta resolução também deixam a página pesada para carregar, o que pode fazer seu visitante desistir e ir para outro site.

7- Site que não funciona em qualquer navegador

Outro assunto que já tem sido tratado aqui desde a minha primeira coluna. É você que precisa se adequar ao computador do usuário, e não o contrário. Quem utiliza outros navegadores que não o Internet Explorer sabe bem como é frustrante acessar um site e não conseguir visualizar seu conteúdo ou todos os seus recursos porque foram projetados só para um navegador. Poucas pessoas têm a paciência de abrir outro browser para continuar navegando no site, ou pior ainda: muitos nem têm outro navegador instalado.

8 – Não testar seus links

Você já clicou num link que levou a uma página de erro? Já preencheu um formulário e ficou sem saber se ele foi enviado ou não? Chato isso… Não deixe que seu usuário tenha o mesmo problema: teste todas as suas páginas, especialmente depois de publicar o site no servidor. Leia mais no artigo Desenvolvimento do site: backup, testes e feedback.

9 – Erros de português

De novo, mais um item que eu venho citando desde o começo, mas não custa repetir. Se você quer que seu site seja levado a sério, disponibilize seu conteúdo num português correto, sem erros de gramática ou digitação. É claro que um erro ou outro pode escapar, afinal, errar é humano, mas se esforce para evitá-los.

10 – Disponibilizar um conteúdo que dependa de plugins

Hoje em dia a grande maioria dos usuários possui todos os plugins mais comuns instalados em seus computadores. Porém, não deixe que seu conteúdo dependa exclusivamente da exibição desses recursos. O visitante pode estar num computador mais antigo, ou ainda em algum computador onde não possa instalar nenhum plugin, e assim o acesso ao seu conteúdo fica comprometido. Sempre que possível, ofereça uma versão em HTML “normal” da sua página.

11 – Falta de atualização

Não deixe que seu visitante se sinta numa cidade fantasma do velho-oeste. Se você publica notícias no site, mantenha a atualização constante. Se o seu conteúdo é sempre o mesmo e não tem muito o que atualizar, dê sempre uma modificada nos detalhes do layout, adicione fotos novas, enfim, deixei seu site movimentado.

12 – Falta de cuidado com a tag <title>

Se você usa editores visuais, tome cuidado para não publicar uma página com títulos como Sem Título, Documento Sem Título ou untitled.html. É feio, dá a impressão de relaxo e descuido, e ainda prejudica seu site nos mecanismos de busca.

13 – Conteúdo sem referência

Quando publicar conteúdo de outro site, não esqueça de dar os devidos créditos ao autor, linkando a origem da informação, se possível. Notícias sem créditos passam uma péssima impressão, e você ainda pode acabar arrumando problemas com o verdadeiro autor da informação.

14 – Navegação complicada

Vivemos em um mundo agitado, onde as pessoas têm pressa. Elas querem que sua página carregue rapidamente, forneça as informações que elas procuram de forma quase instantânea e, caso precisem navegar, não querem se sentir perdidas com um menu “alternativo”. Às vezes apostar no tradicional é a melhor forma de acertar, por isso projete os menus de seu site de forma óbvia e objetiva.

15 – Esta página está em construção

Se você ainda não desenvolveu seu site completamente, não publique páginas “em construção” ou “breve”. GIFs animados então são o fim da picada! Se o conteúdo ainda não está disponível, simplesmente não coloque o link para ele.

Finalizando

A grande dica aqui é conhecer seu público e adequar seu site a ele. Músicas, vídeos e animações, tudo isso pode fazer toda a diferença, mas quando bem aplicado. Entender o seu público alvo, descobrir o que ele espera do seu site e equilibrar seu conteúdo com a aplicação consciente dos recursos que tem em mãos é uma combinação que pode ser a chave do sucesso de seu projeto.

Fonte: http://www.infowester.com/

Autor(a): Erika Sarti, em 16/04/2007.

Erika Sarti é web designer e trabalha como free-lancer desde 2000. É a responsável pelo novo layout do InfoWester, basicamente feito com tableless, um de seus assuntos preferidos. Seu portfólio está em http://www.erikasarti.net.

Anúncios

Slide Menu em CSS

Um efeito bem interessante para um menu em html

Image Hosted by ImageShack.us

HTML

<script type=”text/javascript” language=”javascript” src=”focus_slide.js”></script>

<ul id=”mContainer”>
<li><a href=”#” title=”Item One”>Item One</a></li>
<li><a href=”#” title=”Item Two”>Item Two</a></li>
<li><a href=”#” title=”Item Three”>Item Three</a></li>
<li><a href=”#” title=”Item Four”>Item Four</a></li>
<li><a href=”#” title=”Item Five”>Item Five</a></li>
</ul>

JavaScript(salve em um arquivo com o nome focus_slide.js)

/******************************************************
Focus Slide
version 1.0
last revision: 12.17.2004
steve@slayeroffice.com

Should you improve upon or
modify this code, please let me know
so that I can update the version hosted
at slayeroffice.

PLEASE LEAVE THIS NOTICE INTACT!

******************************************************/

//window.onload = init;

var d=document;        // shortcut reference to the document object
var activeLI = 0;        // the currently “active” list element – value represents its index in the liObj array
var zInterval = null;    // interval variable

var SLIDE_STEP = 8;    // how many pixels to move the sliding div at a time
var SLIDER_WIDTH = 74;    // the width of the sliding div. used to calculate its left based on the width and left of the active LI element

function init() {
// bail out if this is an older browser or Opera which gets the offsets wrong
// the opera issue is fixable by subtracting the container UL’s width from the offsetLefts…but I dont care enough to do it
// this does NOT break opera, it just wont get the sliding thing

if(!document.getElementById || window.opera)return;

// create references to the LI’s
mObj = d.getElementById(“mContainer”);
liObj = mObj.getElementsByTagName(“li”);

// set up the mouse over events
for(i=0;i<liObj.length;i++) {
liObj[i].xid = i;
liObj[i].onmouseover = function() { initSlide(this.xid); }
}

// create the slider object
slideObj = mObj.appendChild(d.createElement(“div”));
slideObj.id = “slider”;

// position the slider over the first LI
x = liObj[activeLI].offsetLeft + (liObj[activeLI].offsetWidth/3 – SLIDER_WIDTH/3)-5;
y = liObj[activeLI].offsetTop-3;
slideObj.style.top = y + “px”;
slideObj.style.left = x + “px”;
}

function initSlide(objIndex) {
// return if the user is mousing over the currently active LI
if(objIndex == activeLI)return;
// clear the interval so we can start it over in a few lines to avoid doubling up on intervals
clearInterval(zInterval);

// set the active list item to the object index argument
activeLI = objIndex;
// figure out the destination for the sliding div element
destinationX = Math.floor(liObj[activeLI].offsetLeft + (liObj[activeLI].offsetWidth/3 – SLIDER_WIDTH/3))-5;
// start the interval
intervalMethod = function() { doSlide(destinationX); }
zInterval = setInterval(intervalMethod,10);
}

function doSlide(dX) {
// get the current left of the sliding div
x = slideObj.offsetLeft;
if(x+SLIDE_STEP<dX) {
// div is less than its destination, move it to the right
x+=SLIDE_STEP;
slideObj.style.left = x + “px”;
} else if (x-SLIDE_STEP>dX) {
// div is more than its destination, move to the left
x-=SLIDE_STEP;
slideObj.style.left = x + “px”;
} else  {
// div is within the boundaries of its destination. put it where its supposed to be
// and clear the interval
slideObj.style.left = dX + “px”;
clearInterval(zInterval);
zInterval = null;
}
}

CSS

#mContainer {
position:relative;
margin:0 auto;
height:25px;
background-color:#F1F1F1;
border-bottom:2px solid #E2E2E2;
text-align:center;
padding:5px 0 0 0;
}

#mContainer li {
position:relative;
display:inline;
margin:0 10px 0 12px;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
padding:0;
z-index:2;
}

#mContainer li a         {text-decoration:none;}
#mContainer li a:link    {color:#999;}
#mContainer li a:visited {color:#333;}
#mContainer li a:hover      {color:#DA0911;}

#slider {
position:absolute;
/*background-color:#CFDCFF;
border:1px solid #78919B;*/
border-bottom:3px solid #DA0911;
width:74px;
height:20px;
padding:0;
z-index:1;
}

Fonte: http://www.infectedfx.net/

Tabelas em Zebra

Você também acha muito trabalhoso ficar colocando cor um linha sim e outra não em uma tabela? Quem sabe esta dica o ajude 😀
Image Hosted by ImageShack.us

HTML

<table align=”center” id=”default” summary=”Ejemplo de tabla”>
<caption>
Autores en InfectedFX.net
</caption>
<thead>
<tr>
<th>Nombre</th>
<th>Ocupación</th>
<th>Website</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan=”3″>Total: 4 Usuarios </td>
</tr>
</tfoot>
<tbody>
<tr>
<td>Infected-FX</td>
<td>Diseñador</td>
<td><a href=”http://www.infectedfx.net”>www</a></td&gt;
</tr>
<tr>
<td>Zetta</td>
<td>Developer</td>
<td><a href=”http://www.zetaweb.net”>www</a></td&gt;
</tr>
<tr>
<td>Zillah</td>
<td>A.I.</td>
<td><a href=”http://www.blogzillah.com”>www</a></td&gt;
</tr>
<tr>
<td>Hecgo</td>
<td>Developer</td>
<td><a href=”http://www.hecgo.com”>www</a></td&gt;
</tr>
</tbody>
</table>

CSS

#default {
border-collapse:collapse;
background-color: #E8E8E8;
width:100%;
}
#default caption{
background-color:#59819F;
border-bottom:3px solid #C2DBEF;
color:#FFF;
padding:10px;
text-transform:uppercase;
}

#default thead th{
background-color:#18394F;
border-bottom:3px solid #59819F;
color:#FFF;
padding:5px;
}

#default tbody tr td {
padding: 3px 8px;
}

#default tfoot tr td{
background-color:#59819F;
color:#FFF;
padding:4px;
text-align:center;
}

/*/////////////// TABLE DEMO GREEN //////////////////*/

#demoGreen {
border-collapse:collapse;
background-color: #E8E8E8;
width:100%;
}
#demoGreen caption{
background-color:#99CC00;
border-bottom:3px solid #669900;
color:#FFF;
padding:10px;
text-transform:uppercase;
}

#demoGreen thead th{
background-color:#333;
border-bottom:3px solid #000;
color:#FFF;
padding:5px;
}

#demoGreen tbody tr td {
padding: 3px 8px;
}

#demoGreen tfoot tr td{
background-color:#666;
color:#FFF;
padding:4px;
text-align:center;
}

/*/////////////// TABLE DEMO BLUE //////////////////*/
#demoBlue {
border-collapse:collapse;
background-color: #E8E8E8;
width:100%;
}
#demoBlue caption{
background-color:#50ADEA;
border-bottom:3px solid #1975D7;
color:#FFF;
padding:10px;
text-transform:uppercase;
}

#demoBlue thead th{
background-color:#F5F5F5;
border-bottom:3px solid #CCC;
color:#666;
padding:5px;
}

#demoBlue tbody tr td {
padding: 3px 8px;
}

#demoBlue tfoot tr td{
background-color:#E7E7E7;
color:#B7B7B7;
padding:4px;
text-align:center;
}

JavaScript

<script type=”text/javascript”>
// this function is needed to work around
// a bug in IE related to element attributes
function hasClass(obj) {
var result = false;
if (obj.getAttributeNode(“class”) != null) {
result = obj.getAttributeNode(“class”).value;
}
return result;
}

function stripe(id) {

// the flag we’ll use to keep track of
// whether the current row is odd or even
var even = false;

// if arguments are provided to specify the colours
// of the even & odd rows, then use the them;
// otherwise use the following defaults:
var evenColor = arguments[1] ? arguments[1] : “#F0F8FF”;
var oddColor = arguments[2] ? arguments[2] : “#C2DBEF”;

// obtain a reference to the desired table
// if no such table exists, abort
var table = document.getElementById(id);
if (! table) { return; }

// by definition, tables can have more than one tbody
// element, so we’ll have to get the list of child
// <tbody>s
var tbodies = table.getElementsByTagName(“tbody”);

// and iterate through them…
for (var h = 0; h < tbodies.length; h++) {

// find all the <tr> elements…
var trs = tbodies[h].getElementsByTagName(“tr”);

// … and iterate through them
for (var i = 0; i < trs.length; i++) {

// avoid rows that have a class attribute
// or backgroundColor style
if (! hasClass(trs[i]) &&
! trs[i].style.backgroundColor) {

// get all the cells in this row…
var tds = trs[i].getElementsByTagName(“td”);

// and iterate through them…
for (var j = 0; j < tds.length; j++) {

var mytd = tds[j];

// avoid cells that have a class attribute
// or backgroundColor style
if (! hasClass(mytd) &&
! mytd.style.backgroundColor) {

mytd.style.backgroundColor =
even ? evenColor : oddColor;

}
}
}
// flip from odd to even, or vice-versa
even = ! even;
}
}
}
</script>

<script type=”text/javascript”>
window.onload = function() {
stripe(‘default’);
stripe(‘demoGreen’, ‘#ECFFAF’, ‘#F3FFCF’);
stripe(‘demoBlue’, ‘#FFFFFF’, ‘#F6F6F6’);
stripe(‘demoRed’, ‘#FFEFEF’, ‘#EFC2C2’);
}
</script>

Exemplos

Fonte: http://www.infectedfx.net/

Pulldown apartir de uma lista

Para quem tem pouco espaço para um menu, uma boa dica é este pulldown
Image Hosted by ImageShack.us

HTML

<a title=”Mi Lista” onclick=”show_list(); return false;”  href=”#”>
<img src=”pulldown.gif” width=”200″  height=”20″ alt=”” />

</a>
<div style=”visibility: hidden;” id=”myList” onmouseover=”show_list()” onmouseout=”hide_list()”>
<ul>
<li> <a title=”InfectedFX” href=”http://infectedfx.net/”>InfectedFX</a&gt; </li>
<li> <a title=”KonceptoRadio” href=”http://konceptoradio.com/”>KonceptoRadio</a&gt; </li>
<li> <a title=”Cinexcepcion” href=”http://cinexcepcion.com/”>Cinexcepci&oacute;n</a&gt; </li>

<li> <a title=”Go2torials” href=”http://go2torials.com/”>Go2torials</a&gt; </li>
<li> <a title=”Spiga” href=”http://spiga.com.mx/”>Spiga</a&gt; </li>
</ul>
<p class=”close”>
<a title=”cerrar…” onclick=”hide_list(); return false;”  href=”#”>cerrar</a>

</p>
</div>
</div>

JavaScript

<script type=”text/javascript”>
function show_list () { document.getElementById(“myList”).style.visibility = “visible”; }
function hide_list () { document.getElementById(“myList”).style.visibility = “hidden”; }
</script>

CSS

<style type=”text/css” media=”screen”>
body {
margin: 0px;
padding: 0px;
background-color: #FFF;
font: 69% Verdana, Arial, Helvetica, sans-serif;
}

a    {outline:none; text-decoration:none;}

/* POSICION */

#pulldown {
margin:10%;
}

#pulldown img{border:none;}

/* LISTA */

#myList {
background-color: #fff;
border: 1px solid #dfdfdf;
display: block;
margin: 1px 0px 0px 0px;
padding: 0;
width: 200px;
}

#myList ul  {
list-style-type: none;
margin: 0;
padding: 0;
}

#myList ul li a {
display: block;
width: 190px;
padding:3px;
margin: 2px auto 4px auto;
border-bottom:1px solid #EEE;
}

#myList ul li a:link,
#myList ul li a:visited{
background-color:#FFFFFF;
color: #a80000;
}
#myList ul li a:hover {
background-color: #F7F7F7;
color: #000000;
}

/* BOTON CERRAR */
.close {margin:0px;}

.close a{
text-align:center;
display:block;
font-weight:bold;
padding:3px 0px;
}

.close a:link,
.close a:visited{
background-color:#EEE;
color:#333;
}

.close a:hover{
background-color:#990000;
color:#FFF;
}
</style>

Exemplo

Fonte: http://www.infectedfx.net/

Slides com JavaScript

Um ótimo recurso, segue abaixo

HTML

<!– CONTENEDOR –>
<div id=”slides_content”>
<!– LISTADO DE ITEMS –>
<ul class=”buttons”>
<li><a id=”current” href=”javascript:void(0)” onclick=”change(0,this);”>Slide 01</a></li><li><a href=”javascript:void(0)” onclick=”change(520,this);”>Slide 02</a></li>
<li><a href=”javascript:void(0)” onclick=”change(1040,this);”>Slide 03</a></li>
<li><a href=”javascript:void(0)” onclick=”change(1560,this);”>Slide 04</a></li>
</ul>

<!– ELEMENTOS –>
<div id=”elementos” style=”width:2100px; margin:0 0 0 0;”>
<!– SLIDE 01 –>

<div class=”slide 1″>
<h2>Title Content Slide 01</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque consequat tincidunt libero. Aenean euismod. Aenean tempus. Praesent purus dui, aliquam congue, aliquam eget, mattis vitae, libero. Integer sagittis magna quis mi. Donec iaculis odio vel purus. Morbi erat. Nam et libero. Proin eleifend elit quis enim. Vivamus sagittis nibh nec tellus. Donec lectus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.</p>
<p>Cras scelerisque mi auctor orci. Nullam laoreet. Sed gravida. Donec tellus arcu, hendrerit eu, fermentum consequat, accumsan at, dui. Sed a ipsum. Praesent sagittis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed eu massa vitae nibh dictum mollis. Aliquam viverra. Suspendisse id enim. Mauris lobortis ante nec tellus. Aliquam interdum nisi vel nisl. Integer congue augue. Sed justo. Donec dui mi, imperdiet non, molestie sit amet, tristique ut, dui. Donec interdum elit ac nisl. Sed vitae lacus sed pede molestie placerat. Aenean faucibus consectetuer pede. </p>
</div>
<!– SLIDE 02 –>
<div class=”slide 2″>

<h2>Title Content Slide 02</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque consequat tincidunt libero. Aenean euismod. Aenean tempus. Praesent purus dui, aliquam congue, aliquam eget, mattis vitae, libero. Integer sagittis magna quis mi. Donec iaculis odio vel purus. Morbi erat. Nam et libero. Proin eleifend elit quis enim. Vivamus sagittis nibh nec tellus. Donec lectus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.</p>
</div>
<!– SLIDE 03 –>
<div class=”slide 3″>
<h2>Title Content Slide 03</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque consequat tincidunt libero. Aenean euismod. Aenean tempus. Praesent purus dui, aliquam congue, aliquam eget, mattis vitae, libero. Integer sagittis magna quis mi. Donec iaculis odio vel purus. Morbi erat. Nam et libero. Proin eleifend elit quis enim. Vivamus sagittis nibh nec tellus. Donec lectus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.</p>

<p>Cras scelerisque mi auctor orci. Nullam laoreet. Sed gravida. Donec tellus arcu, hendrerit eu, fermentum consequat, accumsan at, dui. Sed a ipsum. Praesent sagittis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed eu massa vitae nibh dictum mollis. Aliquam viverra. Suspendisse id enim. Mauris lobortis ante nec tellus. Aliquam interdum nisi vel nisl. Integer congue augue. Sed justo. Donec dui mi, imperdiet non, molestie sit amet, tristique ut, dui. Donec interdum elit ac nisl. Sed vitae lacus sed pede molestie placerat. Aenean faucibus consectetuer pede. </p>
</div>
<!– SLIDE 05 –>
<div class=”slide 4″>
<h2>Title Content Slide 04</h2>
<p>Cras scelerisque mi auctor orci. Nullam laoreet. Sed gravida. Donec tellus arcu, hendrerit eu, fermentum consequat, accumsan at, dui. Sed a ipsum. Praesent sagittis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed eu massa vitae nibh dictum mollis. Aliquam viverra. Suspendisse id enim. Mauris lobortis ante nec tellus. Aliquam interdum nisi vel nisl. Integer congue augue. Sed justo. Donec dui mi, imperdiet non, molestie sit amet, tristique ut, dui. Donec interdum elit ac nisl. Sed vitae lacus sed pede molestie placerat. Aenean faucibus consectetuer pede. </p>
</div>

</div>
<!– TERMINA ELEMENTOS –>
</div>
<!– TERMINA EL CONTENDOR –>

JavaScript

/*//////////////////////////////////////////////////////////
/////////////Codigo original: Azer Koçulu//////////////////
/////////////Modificado: Infected-FX//////////////////////
/////////////////www.infectedfx.net//////////////////////
///////////////////////////////////////////////////////*/

function change(x,item)
{
document.getElementById(“current”).id = “”;
item.id = “current”;
if((x * (-1))<(getElementPosition(“elementos”).left – 10)){
distance = (x + getElementPosition(“elementos”).left) / 5;
start = getElementPosition(“elementos”).left;
for(i=0; i<=distance; i++){
setTimeout(“document.getElementById(\”elementos\”).style.margin = \”0 -” + ((start * (-1)) + (i*5)) + “px\””, i*5);
if(i==distance){
setTimeout(“document.getElementById(\”elementos\”).style.margin = \”0 -” + x + “px\””, i*5);
}
}
}else if((x * (-1))>(getElementPosition(“elementos”).left)){
distance = ((x + getElementPosition(“elementos”).left) / 5) * (-1);
start = getElementPosition(“elementos”).left;
for(i=0; i<=distance; i++){
setTimeout(“document.getElementById(\”elementos\”).style.margin = \”0 -” + ((start * (-1)) – (i*5)) + “px\””, i*5);
if(i==distance)
setTimeout(“document.getElementById(\”elementos\”).style.margin = \”0 -” + x + “px\””, i*5);
}
}
}

function getElementPosition(object){
var position = new Object;
position.left = parseInt(document.getElementById(object).style.marginLeft)
position.top = parseInt(document.getElementById(object).style.marginTop)
return position;
}

CSS

/*///////////////////
///// SLIDES JS /////
///////////////////*/

/* GENERALES*/

body {
font:12px Arial, Helvetica, sans-serif;
color:#818181;
}

a {
outline:none;
text-decoration:none;
}

a:link,
a:visited {color:#006699;}
a:hover {color:#00CCFF;}

.center {text-align:center;}

/* CONTENIDO GLOBAL*/
#slides_content {
width:520px; /* ANCHO DEL CONTENEDOR*/
overflow:hidden;
margin:auto;
}

/* HEADERS */
#slides_content h2 {
font:24px Arial;
letter-spacing:-1px;
font-weight:bold;
margin:5px;
color:#FF6600;
}

/* SLIDE */
#slides_content .slide {
float:left;
width:500px; /* ANCHO DE CADA SLIDE */
height:300px; /* ALTURA DE CADA SLIDE */
padding:10px;
border-top:5px solid #7596B7;
}

/* LISTA DE ITEMS */
.buttons{
text-align:center;
width:500px; /* ANCHO DEL MENU */
clear:both;
display:block;
list-style:none;
white-space: nowrap;
padding:0px;
margin:0px 0px 0px 0px;
}

.buttons li{
display: inline;
list-style-type: none;
}

.buttons li a{
text-align:center;
margin:0px 3px 0px 0px;
padding:8px 14px;
line-height:31px;
}

.buttons li a:link,
.buttons li a:visited{
background-color:#B5CADF; color:#000;
}

.buttons li a:hover{
color:#FFFF00;
background-color:#7596B7;
}

.buttons li a#current{
background-color:#7596B7;
color:#FFF;
}

Exemplo

Fonte: http://www.infectedfx.net/

TENHA UM CSS DIFERENTE PARA CADA HORA DO DIA

6 Folhas de Estilo diferentes

É o que propõe em seu site Katherine Angela Gallia, ela utiliza 6 folhas de estilo diferentes em seu site para determinados horários do dia somente utilizando JavaScript, ela utiliza-se do seguinte código:


<script language="JavaScript">
<!-- Begin
function getCSS()
{
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();

if (thehour > 20)
display = "tree_twilight.css";
else if (thehour > 17)
display = "tree_sunset.css";
else if (thehour > 14)
display = "tree_afternoon.css";
else if (thehour > 11)
display = "tree_noon.css";
else if (thehour > 7)
display = "tree_morning.css";
else if (thehour > 4)
display = "tree_sunrise.css";
else if (thehour > 1)
display = "tree_twilight.css";
else
display = "tree_sunset.css";

var css = '< '; css+='link rel="stylesheet" href=' + display + ' /'; css+='>';

document.write(css);
// End -->
}
</script>
<script language="javascript">getCSS();</script>

Onde:

  • Das 5 ás 8 da manhã: Ela utiliza o tema sunrise.
  • Das 8 da manhã até o Meio-dia: Ela utiliza o tema morning.
  • Do Meio dia ás 3 da tarde: Ela utiliza o tema noon.
  • Das 3 ás 6 da tarde: Ela utiliza o tema afternoon.
  • Das 6 da tarde ás 9 da noite: Ela utiliza o tema sunset.
  • E das 9 da noite ás 5 da manhã: Ela utiliza o tema twilight.

Caso o usuário navegue com o JavaScript desabilitado, ela utiliza o tema sunset:


<noscript>
<link rel="stylesheet" href="tree_sunset.css" type="text/css">
</noscript>

Até me deu vontade de fazer isso aqui no meu blog agora.

Autor: Pedro Rogério
Fonte: http://www.pinceladasdaweb.com.br/

Menu com CSS e Javascript

CSS:

 #MenuCSS_JS{
border: 1px solid #CCC;
width: 170px;
}
#MenuCSS_Js a{
font: bold 11px Verdana;
padding: 2px;
padding-left: 4px;
display: block;
width: 100%;
color: #999;
text-decoration: none;
border-bottom: 1px solid #CCC;
}
#MenuCSS_Js a{
width: auto;
}
#MenuCSS_Js a:hover{
background-color: #E4E4E4;
}
#DescripcionLink{
width: 100%;
height: 4em;
filter:alpha(opacity=0);
-moz-opacity:0;
color:#669900;
font:10px Verdana;
}

Javascript:

 <script type=”text/javascript”>
var OpacidadInicial=0

function MostrarTexto(TextoAMostrar){
if (!document.getElementById)
return
textcontainerobj=document.getElementById(“DescripcionLink”)
browserdetect=textcontainerobj.filters? “ie” : typeof                               textcontainerobj.style.MozOpacity==”string”? “mozilla” : “”
instantset(OpacidadInicial)
document.getElementById(“DescripcionLink”).innerHTML=TextoAMostrar
highlighting=setInterval(“gradualfade(textcontainerobj)”,70)
}

function OcultarTexto(){
LimpiarTiempo()
instantset(OpacidadInicial)
}

function instantset(degree){
if (browserdetect==”mozilla”)
textcontainerobj.style.MozOpacity=degree/100
else if (browserdetect==”ie”)
textcontainerobj.filters.alpha.opacity=degree
else if (document.getElementById && OpacidadInicial==0)
document.getElementById(“DescripcionLink”).innerHTML=””
}
function LimpiarTiempo(){
if (window.highlighting) clearInterval(highlighting)
}

function gradualfade(cur2){
if (browserdetect==”mozilla” && cur2.style.MozOpacity<1)
cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)+0.2, 0.99)
else if (browserdetect==”ie” && cur2.filters.alpha.opacity<100)
cur2.filters.alpha.opacity+=5
else if (window.highlighting)
clearInterval(highlighting)
}

HTML:

<div id=”MenuCSS_Js”>
<a href=”http://www.webintenta.com/AJAX&#8221; onMouseover=”MostrarTexto(‘Tutoriales e información sobre AJAX’)” onMouseout=”OcultarTexto()”>Apuntes AJAX</a>
<a href=”http://www.webintenta.com/Photoshop&#8221; onMouseover=”MostrarTexto(‘Apuntes,trucos, pinceles y tutoriales de Photoshop’)” onMouseout=”OcultarTexto()”>Photoshop</a>
<a href=”http://www.webintenta.com/Javascript&#8221; onMouseover=”MostrarTexto(‘Scripts de código y tutoriales de Javascript para usar en la web 2.0’)” onMouseout=”OcultarTexto()”>Javascript</a>
<a href=”http://www.webintenta.com/CSS&#8221; onMouseover=”MostrarTexto(‘Recursos online, apuntes y códigos CSS’)” onMouseout=”OcultarTexto()”>CSS</a>
<div id=”DescripcionLink”></div>
</div>

Veja o Exemplo

Fonte: http://www.webintenta.com