Heim >Web-Frontend >CSS-Tutorial >Wie kann ich die Breite eines CSS-Selektors „:before' mit jQuery dynamisch anpassen?

Wie kann ich die Breite eines CSS-Selektors „:before' mit jQuery dynamisch anpassen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-08 11:01:01792Durchsuche

How to Dynamically Adjust the Width of a CSS `:before` Selector with jQuery?

Dynamische Breitenanpassung von CSS :before-Selektoren mit jQuery

Ziel:Ändern der Breiteneigenschaft von Elementen, die mit dem :before-CSS-Selektor versehen sind, insbesondere, wenn es einer bestimmten Klasse folgt Name.

Szenario: Betrachten Sie das folgende CSS:

.column:before {
    width: 300px;
    float: left;
    content: "";
    height: 430px;
}

.column {
    width: 500px;
    float: right;
    padding: 5px;
    overflow: hidden;
    text-align: justify;
}

Aufgabe: Ändern Sie die width-Eigenschaft des :before-Selektors, der mit dem verknüpft ist .column-Klasse mit jQuery, ohne Auswirkungen auf Elemente ohne :before Regel.

Lösung:

Wie in der gegebenen Antwort erwähnt, unterstützt jQuery nativ keine direkte Änderung von Pseudoklassenregeln. Sie können diese Einschränkung jedoch umgehen, indem Sie dynamisch ein neues Stilelement an den Kopf des Dokuments anhängen:

$('head').append('<style>.column:before {width: 800px !important;}</style>');

Dadurch wird dem :before-Selektor innerhalb der .column-Klasse eine feste Breite von 800 Pixeln zugewiesen. Beachten Sie, dass die !important-Deklaration alle vorhandenen Stile überschreibt.

Alternativ können Sie ein Plugin verwenden, das speziell zum Ändern von CSS-Pseudoklassenregeln entwickelt wurde. Während eine spezifische Plugin-Empfehlung nicht verfügbar ist, sollte eine Websuche nach „jQuery-Pseudoklassenmanipulation“ geeignete Ergebnisse liefern.

Das obige ist der detaillierte Inhalt vonWie kann ich die Breite eines CSS-Selektors „:before' mit jQuery dynamisch anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn