Das Beste, was Sie rein CSS tun können, ist dies:
.classname:hover ~ .classname {
background-color: yellow;
}
Aber diese hebt nur alle Geschwister mit einer Klasse hervor classname
nach th Das schwebende Element.
Sie müssen JavaScript verwenden, um alle Elemente hervorzuheben;
var elms = document.getElementsByClassName("classname");
var n = elms.length;
function changeColor(color) {
for(var i = 0; i < n; i ++) {
elms[i].style.backgroundColor = color;
}
}
for(var i = 0; i < n; i ++) {
elms[i].onmouseover = function() {
changeColor("yellow");
};
elms[i].onmouseout = function() {
changeColor("white");
};
}
Wenn Sie mehrere Klassen haben und dies verallgemeinern wollen, verwenden Sie so etwas wie dieses:
var classes = ["one", "two", "three"]; //list of your classes
var elms = {};
var n = {}, nclasses = classes.length;
function changeColor(classname, color) {
var curN = n[classname];
for(var i = 0; i < curN; i ++) {
elms[classname][i].style.backgroundColor = color;
}
}
for(var k = 0; k < nclasses; k ++) {
var curClass = classes[k];
elms[curClass] = document.getElementsByClassName(curClass);
n[curClass] = elms[curClass].length;
var curN = n[curClass];
for(var i = 0; i < curN; i ++) {
elms[curClass][i].onmouseover = function() {
changeColor(this.className, "yellow");
};
elms[curClass][i].onmouseout = function() {
changeColor(this.className, "white");
};
}
};
Sie müssen Javascript verwenden .. –
CSS ist in erster Linie ein Elternteil -> Kind-Beziehung. Es gibt Geschwister-Selektoren (http://css-tricks.com/child-and-sibling-selectors/), aber dies funktioniert nur, wenn die Elemente auf der gleichen Ebene sind, müssen wir Ihre Einrichtung sehen. – TheZ
Die verschachtelten Absatz-Tags können sich in diesem Setup nicht nur mit CSS gegenseitig auslösen. Das würde Javascript erfordern. – TheZ