Heim  >  Fragen und Antworten  >  Hauptteil

Gibt es in CSS einen übergeordneten Selektor?

<p>Wie wähle ich das <code><li></code>-Element aus, das das direkte übergeordnete Element des Ankerelements ist? </p> <p>Mein CSS könnte beispielsweise so aussehen: </p> <pre class="brush:php;toolbar:false;">li < Eigentumswert; }</pre> <p>Natürlich ist es möglich, dies mit JavaScript zu erreichen, aber ich hatte auf eine Problemumgehung gehofft, die in CSS Level 2 integriert ist. </p> <p>Das Menü, das ich formatieren möchte, wird von einem CMS generiert, daher kann ich das aktive Element nicht in das <code><li></code>-Element verschieben... (es sei denn, ich gestalte das Menüerstellungsmodul, aber das würde ich lieber nicht machen). </p>
P粉713866425P粉713866425400 Tage vor432

Antworte allen(2)Ich werde antworten

  • P粉141911244

    P粉1419112442023-08-22 00:53:02

    您可以使用:has() CSS 伪类

    但是它在浏览器支持方面有限(目前尚不支持 Firefox)。

    Antwort
    0
  • P粉536532781

    P粉5365327812023-08-22 00:27:06

    目前在CSS中没有一种方式可以选择一个元素的父元素,以便在所有浏览器中都能正常工作。

    Selectors Level 4 Working Draft中包含了一个:has()伪类,它将提供这种功能。它将类似于jQuery的实现,但目前Firefox不支持。

    li:has(> a.active) { /* 应用于li标签的样式 */ }
    

    目前只有Firefox不默认支持该功能

    与此同时,如果您需要选择一个具有完整跨浏览器支持的父元素,您将不得不在Firefox中使用JavaScript。

    Antwort
    0
  • StornierenAntwort