1348 Stimmen

Wie schreibt man ein:hover in Inline-CSS?

Ich habe einen Fall, in dem ich Inline-CSS-Code schreiben muss, und ich möchte einen Hover-Stil auf einen Anker anwenden.

Wie kann ich die a:hover in Inline-CSS innerhalb des HTML-Style-Attributs?

Sie können z. B. keine CSS-Klassen in HTML-E-Mails verwenden.

31 Stimmen

Auch die Einbettung von HTML in Blogging-Anwendungen erfordert häufig die ausschließliche Verwendung von Inline-Styles. Vor allem, wenn Sie die HTML-Datei über einen Drittanbieter-Client einbetten und keinen Zugriff auf die Themes des Benutzers haben.

11 Stimmen

Es gibt einen vorgeschlagenen CSS-Standard dafür; keine Ahnung, welche Art von Browser-Unterstützung es haben könnte (Hinweis: sie könnten die benutzerdefinierten Tags wie -moz, etc. verwenden): w3.org/TR/2002/WD-css-style-attr-20020515

1 Stimmen

9voto

Das können Sie tun. Aber nicht in Inline-Styles. Sie können verwenden onmouseover y onmouseout Veranstaltungen:

<div style="background: #333; padding: 10px; cursor: pointer"
   onmouseover="this.style.backgroundColor='#555';" onmouseout="this.style.backgroundColor='#333';">
      Hover on me!
</div>

7voto

Joel Punkte 18917
<style>a:hover { }</style>
<a href="http://stackoverflow.com/">Go Home</a>

Hover ist eine Pseudoklasse und kann daher nicht mit einem Stilattribut angewendet werden. Sie ist Teil des Selektors.

2 Stimmen

@Derek, falls noch von Interesse / für alle anderen Leser: "~/" (Tilde-Schrägstrich) ist ein serverseitiger Verweis auf den Anwendungsstamm in asp.net-Webanwendungen. (Die Anwendung Root kann natürlich ein Unterordner sein). Seine Verwendung hier wäre nicht korrekt gewesen, daher wurde die Antwort bearbeitet, seit Sie die Frage gestellt haben (vermute ich).

5voto

Vineel Shah Punkte 780

Ihren Kommentaren zufolge senden Sie ohnehin eine JavaScript-Datei. Machen Sie den Rollover in JavaScript. jQuery 's $.hover() Methode macht es einfach, wie jeder andere JavaScript-Wrapper auch. Es ist auch nicht allzu schwer in direktem JavaScript.

0 Stimmen

Dies ist zwar ein Workaround, aber es scheint eine sehr gute Antwort für mich und die beste Antwort, wenn es wirklich nicht möglich ist, inline hover zu schreiben

5voto

m_vitaly Punkte 11618

Es gibt keine Möglichkeit, dies zu tun. Sie haben die Möglichkeit, einen JavaScript- oder CSS-Block zu verwenden.

Vielleicht gibt es eine JavaScript-Bibliothek, die ein proprietäres Stilattribut in einen Stilblock umwandelt. Aber dann ist der Code nicht standardkonform.

4voto

Liz Punkte 41

Ich habe mir gerade eine andere Lösung ausgedacht.

Mein Problem: Ich habe ein <a> Tag um einige Folien/Hauptinhalt-Viewer sowie <a> Tags in der Fußzeile. Ich möchte, dass sie im IE an dieselbe Stelle gesetzt werden, so dass der gesamte Absatz unterstrichen wird onHover obwohl sie keine Links sind: Die Folie als Ganzes ist ein Link. Der IE kennt den Unterschied nicht. Ich habe auch einige tatsächliche Links in meiner Fußzeile, die unterstrichen und farblich verändert werden müssen onHover . Ich dachte, ich müsste die Stile in die Fußzeilen-Tags einfügen, um die Farbe zu ändern, aber die obigen Hinweise deuten darauf hin, dass dies unmöglich ist.

Lösung: Ich gab den Fußzeilen-Links zwei verschiedene Klassen, und mein Problem war gelöst. Ich war in der Lage, die onHover Farbwechsel in einer Klasse, lassen Sie die Folien onHover keine Farbänderung/Unterstreichung haben und trotzdem die externen HREFS in der Fußzeile und den Folien gleichzeitig haben können!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X