2009-04-27 5 views
1

Puis-je obtenir une feuille de style pour détecter une balise personnalisée sur un élément de page? Je voudrais ajouter une fonctionnalité dans un stylehseet qui peut détecter un attribut disabled = "disabled" sur un bouton de lien et le griser.Puis-je obtenir une feuille de style pour détecter une balise personnalisée sur un élément de page?

[UPDATE]

excellentes suggestions. Cela a effectivement résolu les boutons désactivés n'apparaissant pas comme grisés dans Firefox et Google Chrome. Ce qui suit est ce que j'ai mis dans la feuille de style et maintenant tous mes boutons de lien s'affichent correctement.

a[disabled]{ 
    color:Grey !important; 
text-decoration:none !important; 
    } 
+0

Je pense que vous voulez dire "attribut", pas "tag". –

+0

Ouais, ce serait correct. – Middletone

Répondre

1

Vous pouvez utiliser le sélecteur CSS2 (si le navigateur le prend en charge) pour afficher la base de style sur la propriété de l'étiquette. Mais j'ai trouvé un problème quand j'utilise la propriété "disabled" dans IE8.Par défaut, la balise d'affichage IE8 est désactivée en gris (la feuille de style ne peut pas la changer).

À partir du code suivant, FF3 affiche le lien hypertexte vert. Mais IE8 afficher un lien hypertexte gris.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" > 
<html> 
<head> 

<title>Ask a Question - Stack Overflow</title> 
<style> 
a[disabled="true"] 
{ 
    color:Green !important; 
} 
</style> 
</head> 

<body> 
<a href="www.microsoft.com" disabled="true">Microsoft Site</a> 
</body> 
</html> 
+0

+1 pour mentionner que cela est disponible dans la spécification CSS 2.0. – Cerebrus

1

Je suis sûr que vous pouvez faire ce qui suit (ici, je l'ai supposé que votre élément "linkbutton" est un élément "d'entrée"):

input[disabled="disabled"] { 
    // Styling 
} 

Steve

2

Je suppose que vous voulez dire un attribut personnalisé? La règle CSS pour cela serait (en supposant que votre bouton est un élément input):

input[disabled="disabled"] { 
    /* ... */ 
} 

Cependant, cela ne fonctionnera pas dans IE6. Votre meilleur pari est probablement ajouter une classe au bouton (par exemple class="button-disabled"), puis le style comme ceci:

input.button-disabled { 
    /* ... */ 
} 
1

Vous pouvez faire avec sélecteurs css, mais il ne fonctionnera pas dans certains navigateurs. D'ailleurs, je ne recommanderais pas de le faire de toute façon. Pourquoi ne pas simplement ajouter un désactivé classe au linkbutton?

Questions connexes