Eu tenho uma lista e cada item está vinculado, há uma maneira de alternar as cores de fundo para cada item?
<ul>
<li><a href="link">Link 1</a></li>
<li><a href="link">Link 2</a></li>
<li><a href="link">Link 3</a></li>
<li><a href="link">Link 4</a></li>
<li><a href="link">Link 5</a></li>
</ul>
Respostas:
Que tal um adorável CSS3?
fonte
Se você quiser fazer isso puramente em CSS, terá uma classe que atribuirá a cada item alternativo da lista. Por exemplo
Se sua lista for gerada dinamicamente, essa tarefa seria muito mais fácil.
Se você não quiser ter que atualizar manualmente este conteúdo toda vez, você pode usar a biblioteca jQuery e aplicar um estilo alternadamente a cada
<li>
item em sua lista:E seu código jQuery:
fonte
Você pode conseguir isso adicionando classes de estilo alternadas a cada item da lista
E então estilizá-lo como
Você pode automatizar ainda mais esse processo com javascript (exemplo de jQuery abaixo)
fonte
Tente adicionar um par de atributos de classe, digamos 'par' e 'ímpar', a elementos de lista alternados, por exemplo
Em uma seção <style> da página HTML ou em uma folha de estilo vinculada, você definiria essas mesmas classes, especificando as cores de fundo desejadas:
Você pode querer usar uma biblioteca de modelos à medida que suas necessidades evoluem para fornecer maior flexibilidade e reduzir a digitação. Por que digitar todos esses elementos da lista manualmente?
fonte
Uma vez que você usa HTML padrão, você precisará definir uma classe separada para e definir manualmente as linhas para as classes.
fonte
Você pode fazer isso especificando nomes de classes alternados nas linhas. Eu prefiro usar
row0
erow1
, o que significa que você pode adicioná-los facilmente, se a lista estiver sendo construída programaticamente:Outra forma seria usar javascript. jQuery está sendo usado neste exemplo:
Edit: Não sei por que dei exemplos usando linhas da tabela ... substitua
tr
porli
etable
porul
e isso se aplica ao seu exemplofonte
Se você usar a solução jQuery, ela funcionará no IE8:
jQuery
CSS
Se você usar a solução CSS, ela não funcionará no IE8:
fonte
Isso é definido como cor de fundo em li par e ímpar:
fonte
Você pode codificar a sequência da seguinte maneira:
fonte