Se eu tiver a seguinte div:
<div class="sectionA" id="content">
Lorem Ipsum...
</div>
Existe uma maneira de definir um estilo que expresse a idéia "Uma div com id='content'
AND class='myClass'
"?
Ou você simplesmente segue um caminho ou outro como em
<div class="content-sectionA">
Lorem Ipsum...
</div>
Ou
<div id="content-sectionA">
Lorem Ipsum...
</div>
css
css-selectors
Larsenal
fonte
fonte
img#Inbox
Nesse caso, você pode ter um ícone em sua página normalmente definido como 50% de opacidade. No entanto, quando o usuário tem uma mensagem, você deseja que ela seja definida como 100% de opacidade, e o back-end indica isso adicionando umaactive
classe ao elemento. Nesse cenário, faz sentido ter um seletor que combine ID e nome da classe.code
<p id = Produto_1 classe = Produto> Produto 1 </p> <p id = Produto_2 classe = Produto> Produto 2 </p>code
Isso permite o estilo geral de todos os produtos, mas também o estilo individual de produtos específicos?Respostas:
Na sua folha de estilo:
Editar: Isso também pode ajudar:
e, por seu exemplo:
Editar, 4 anos depois: como é muito antigo e as pessoas continuam encontrando: não use o tagNames nos seus seletores.
#content.myClass
é mais rápido do quediv#content.myClass
porque o tagName adiciona uma etapa de filtragem que você não precisa. Use tagNames nos seletores apenas onde for necessário!fonte
div.class#id
deve ser equivalente, embora menos recomendado; use partes mais exclusivas do seletor primeiro.Existem diferenças entre
#header .callout
e#header.callout
em css.Aqui está o "inglês simples" de
#header .callout
:Selecione todos os elementos com o nome da classe
callout
que são descendentes do elemento com um ID deheader
.E
#header.callout
significa:Selecione o elemento que possui um ID
header
e também um nome de classecallout
.Você pode ler mais aqui truques css
fonte
Não há nada de errado em combinar um id e uma classe em um elemento, mas você não precisa identificá-lo por ambos para uma regra. Se você realmente quer, pode fazer:
Você não precisa da
div
frente do ID, como outros sugeriram.Em geral, as regras CSS específicas para esse elemento devem ser definidas com o ID, e elas terão um peso maior do que as da classe. As regras especificadas pela classe seriam propriedades que se aplicam a vários itens que você não deseja alterar em vários locais sempre que precisar ajustar.
Isso se resume a isso:
Faz sentido?
fonte
Bem, geralmente você não precisa classificar um elemento especificado por id, porque id é sempre único, mas se você realmente precisar, o seguinte deve funcionar:
fonte
Você pode combinar ID e Classe em CSS, mas os IDs devem ser exclusivos, portanto, a adição de uma classe a um seletor de CSS a qualificaria em excesso.
fonte
use:
tag.id ; tag#class
nas variáveis de tag em seu css.fonte
Os IDs devem ter um documento único, portanto você não deve selecionar com base em ambos. Você pode atribuir um elemento a várias classes embora com
class="class1 class2"
fonte
Eu acho que você está errado. IDs versus classe não é uma questão de especificidade; eles têm usos lógicos completamente diferentes.
Os IDs devem ser usados para identificar partes específicas de uma página: o cabeçalho, a barra de navegação, o artigo principal, a atribuição do autor, o rodapé.
As classes devem ser usadas para aplicar estilos à página. Digamos que você tenha um site de revista geral. Cada página do site terá os mesmos elementos - cabeçalho, navegação, artigo principal, barra lateral, rodapé. Mas sua revista tem seções diferentes - economia, esportes, entretenimento. Você deseja que as três seções tenham aparência diferente - economia conservadora e quadrada, ação esportiva, entretenimento brilhante e jovem.
Você usa classes para isso. Você não precisa criar vários IDs - # artigo de economia e # artigo de esporte e # artigo de entretenimento. Isso não faz sentido. Em vez disso, você definiria três classes, economia, esportes e entretenimento, depois definiria os IDs #nav, #article e #footer para cada um.
fonte
Não funcionará quando o doctype for html 4.01 ...
fonte