Considérez les css et html suivants.Empêcher CSS récursif: effet de survol
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Hover Test</title>
<style>
div {
min-height: 20px;
margin:20px;
border: 1px solid #000;
background-color: #fff;
}
div:hover {
background-color: #000;
}
</style>
</head>
<body>
<div>
<div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
</div>
</div>
<div>
<div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
</div>
</div>
</body>
</html>
L'effet résultant est qu'il montre l'effet de survol sur tous les nœuds de la souris, indépendamment des nœuds enfants.
L'effet pour lequel je me bloque est de montrer l'effet de survol sur seulement les nœuds directement sur la souris. Cela ne montre pas l'effet de survol sur un élément lorsque la souris est sur un nœud enfant.
Existe-t-il un moyen de le faire seul dans CSS?
Sinon je suppose que je pourrais toujours utiliser onmouseover un onmouseout gestionnaires d'événements et en utilisant un .hover de classe ou similaire css. Butt je trouverais de préférence une solution qui ne mute pas le nœud dom affecté et qui est facilement styleable avec CSS.
Je suis curieux: qu'est-ce que ' Xml version =" 1.0 "encoding =" UTF-8 "?>' Devant un document XHTML – mauris
@thephpdeveloper: documents XHTML 1.0/1.1 servis comme application/xhtml + xml' nécessite la validation de la déclaration XML. Cependant, si vous les utilisez en tant que 'text/html', la déclaration XML n'est pas nécessaire. Il est préférable de le laisser à l'écart sinon IE (au moins je pense que IE6) ira en mode bizarreries. – BoltClock