Eu tenho essas divs com as quais estou estilizando .tocolor
, mas também preciso do identificador exclusivo 1,2,3,4 etc., então estou adicionando-o como outra classe tocolor-1
.
<div class="tocolor tocolor-1"> tocolor 1 </div>
<div class="tocolor tocolor-2"> tocolor 2 </div>
<div class="tocolor tocolor-3"> tocolor 3 </div>
<div class="tocolor tocolor-4"> tocolor 4 </div>
.tocolor{
background: red;
}
Existe uma maneira de ter apenas 1 aula tocolor-*
. Tentei usar um curinga *
como neste css, mas não funcionou.
.tocolor-*{
background: red;
}
css
css-selectors
wildcard
Twitter
fonte
fonte
Respostas:
O que você precisa é chamado de seletor de atributos. Um exemplo, usando sua estrutura html, é o seguinte:
No lugar de
div
você pode adicionar qualquer elemento ou removê-lo completamente, e no lugar declass
você pode adicionar qualquer atributo do elemento especificado.[class^="tocolor-"]
- começa com "tocolor-".[class*=" tocolor-"]
- contém a substring "tocolor-" ocorrendo diretamente após um caractere de espaço.Demonstração: http://jsfiddle.net/K3693/1/
Mais informações sobre seletores de atributos CSS, você pode encontrar aqui e aqui . E do MDN Docs MDN Docs
fonte
div[class*="foo"][class="bar"]
?class="foo tocolor-red"
partidas, mas nãoclass="foo fromtocolor-red-blue"
Sim, você pode isso.
Isso selecionará todos os IDs que começam com
'term-'
.Quanto ao motivo de não fazer isso, vejo onde seria preferível selecionar dessa maneira; quanto ao estilo, eu não faria isso sozinho, mas é possível.
fonte
ID
adendo baseado, não apenas porclass
.Uma solução alternativa:
div[class|='tocolor']
corresponderá aos valores do atributo "class" que começam com "tocolor-", incluindo "tocolor-1", "tocolor-2" etc.Cuidado para que isso não corresponda
Referência: https://www.w3.org/TR/css3-selectors/#attribute-representation
fonte
class
atributo começar com outra classe que não começatocolor
.foo*
, você fariaQLabel[objectName|='foo'] { ... }
Se você não precisar do identificador exclusivo para obter mais estilo das divs e estiver usando o HTML5, tente usar Atributos de dados personalizados. Leia aqui ou tente uma pesquisa no google por
HTML5 Custom Data Attributes
fonte