{"id":5927,"date":"2024-07-15T10:21:20","date_gmt":"2024-07-15T08:21:20","guid":{"rendered":"https:\/\/www.clickstorm.de\/blog\/?p=5927"},"modified":"2024-07-15T10:21:20","modified_gmt":"2024-07-15T08:21:20","slug":"has-selector-css","status":"publish","type":"post","link":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/","title":{"rendered":"Die Macht des :has()-Selectors in CSS: Mehr als nur ein Eltern-Selektor"},"content":{"rendered":"<p>Hey Webentwicklerinnen und Webentwickler! Habt ihr schon vom neuen <strong>:has()-Selector<\/strong> in CSS geh\u00f6rt? Wenn nicht, dann wird es h\u00f6chste Zeit, denn dieser kleine Helfer kann eure Stylesheets revolutionieren. Wir bei clickstorm nutzen <strong>:has()<\/strong> seit einiger Zeit aktiv und sind von dessen Funktionen vollkommen \u00fcberzeugt. In diesem Blogbeitrag werfen wir einen genaueren Blick auf den <strong>:has()-Selector<\/strong>, wie er funktioniert und welche praktischen Anwendungen er bietet. Macht euch bereit, denn das wird spannend!<\/p>\n<h2>Was ist :has()?<\/h2>\n<p>Der<strong> :has()-Selector<\/strong> ist eine sogenannte &#8222;elternbasierte&#8220; Pseudoklasse in CSS. Er erm\u00f6glicht es, ein Element zu stylen, wenn es bestimmte Nachkommenelemente enth\u00e4lt. Das ist besonders n\u00fctzlich, da CSS bisher keine M\u00f6glichkeit bot, Eltern auf Basis von Kindern zu stylen.<\/p>\n<h2>Geschichte und Browserunterst\u00fctzung:<\/h2>\n<p>Der <strong>:has()-Selector<\/strong> wurde als Teil der CSS Selectors Level 4 Spezifikation eingef\u00fchrt. W\u00e4hrend diese Pseudoklasse schon seit einigen Jahren in der Spezifikation existiert, hat sie erst in j\u00fcngerer Zeit umfassende Unterst\u00fctzung in modernen Browsern erhalten. Seit Mitte 2021 wird <strong>:has()<\/strong> in Browsern wie Chrome, Edge und Safari vollst\u00e4ndig unterst\u00fctzt. Firefox unterst\u00fctzt <strong>:has()<\/strong> seit Version 103 offiziell, und seit Dezember 2023 ist der Support in der Version 119 nicht mehr experimentell\u200b (<a href=\"https:\/\/css-tricks.com\/the-css-has-selector\/\">CSS-Tricks<\/a>)\u200b\u200b (<a href=\"https:\/\/caniuse.com\/css-has\">Can I Use<\/a>)\u200b\u200b\u200b.<\/p>\n<h2>Syntax und einfache Beispiele:<\/h2>\n<p>Die grundlegende Syntax von <strong>:has()<\/strong> ist einfach:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">element:has(selector) {\r\n  \/* Styles *\/\r\n}<\/pre>\n<p>Ein einfaches Beispiel w\u00e4re, ein div-Element zu f\u00e4rben, das ein Bild (img) enth\u00e4lt:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">div:has(img) {\r\n  background-color: red;\r\n}<\/pre>\n<p>Jeder div, der ein img-Element enth\u00e4lt, erh\u00e4lt hier einen roten Hintergrund.<\/p>\n<h2>Fortgeschrittene Anwendungsf\u00e4lle:<\/h2>\n<ol>\n<li><strong>Formularvalidierung:<\/strong> Highlighten eines Formulars mit ung\u00fcltigen Eingaben:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">form:has(input:invalid) {\r\n  border: 2px solid red;\r\n}<\/pre>\n<p>diese Regel sorgt daf\u00fcr, dass Formulare mit ung\u00fcltigen Eingaben einen roten Rahmen bekommen.<\/li>\n<li><strong>Interaktive UI-Komponenten:<\/strong> Visuelles Hervorheben eines Akkordeon-Elements, wenn es erweitert ist:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">.accordion:has(.expanded) {\r\n  background-color: lightblue;\r\n}<\/pre>\n<p>Hier wird das Akkordeon blau gef\u00e4rbt, wenn ein Kind-Element die Klasse .expanded hat.<\/li>\n<\/ol>\n<h2>Kombination mit dem :not()-Selector:<\/h2>\n<p>Der :has()-Selector entfaltet seine volle St\u00e4rke in Kombination mit anderen Selektoren, wie dem :not()-Selector. So k\u00f6nnt ihr Elemente stylen, die bestimmte Nachkommen nicht enthalten.<\/p>\n<p><strong>Beispiel:<\/strong> Ein div-Element hervorheben, das kein Bild enth\u00e4lt:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">div:not(:has(img)) {\r\n  background-color: yellow;\r\n}<\/pre>\n<p>In diesem Fall werden alle div-Elemente, die kein img-Element enthalten, gelb gef\u00e4rbt.<\/p>\n<p>Ein weiteres praktisches Beispiel ist das Hervorheben von Listen (ul), die keine Listenelemente (li) enthalten:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">ul:not(:has(li)) {\r\n  border: 2px dashed red;\r\n}<\/pre>\n<p>Hier erhalten leere Listen einen gestrichelten roten Rahmen.<\/p>\n<h2>Performance und Browser-Support:<\/h2>\n<p>Wie bereits erw\u00e4hnt, wird :has() von modernen Browsern wie Chrome, Edge und Safari unterst\u00fctzt. Firefox unterst\u00fctzt :has() seit Dezember 2023 ab Version 119 offiziell. Es ist wichtig, Fallback-Styles oder Polyfills zu verwenden, um die Kompatibilit\u00e4t mit \u00e4lteren Browsern sicherzustellen. Da der Selector komplexere Abfragen erm\u00f6glicht, kann dies zu Performance-Overhead f\u00fchren, besonders bei h\u00e4ufigem Einsatz oder komplexen Abfragen. Allerdings bietet die browserweite Unterst\u00fctzung seit 2023 eine solide Basis f\u00fcr den produktiven Einsatz in modernen Webprojekten\u200b (<a href=\"https:\/\/caniuse.com\/css-has\">Can I Use<\/a>)\u200b\u200b.<\/p>\n<h2>Video-Empfehlung:<\/h2>\n<p>F\u00fcr eine visuelle und detaillierte Erkl\u00e4rung des :has()-Selectors empfehlen wir dieses YouTube-Video, das die Funktion und Anwendungsm\u00f6glichkeiten hervorragend erl\u00e4utert:<\/p>\n<div class=\"privacy-container js-privacy-msg-video\"><img decoding=\"async\" class=\"privacy-text-image\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/plugins\/clickstorm-embed\/images\/comment-alt-exclamation.svg\" alt=\"Info Icon\"><\/p>\n<p class=\"privacy-text\">Dieses Video wird \u00fcber eine externe Plattform (YouTube) gehostet. Das Laden bedarf der Zustimmung unserer <a class=\"privacy-text-link\" href=\"https:\/\/www.clickstorm.de\/blog\/datenschutz\/\" target=\"_blank\">Datenschutzbestimmungen.<\/a><\/p>\n<p><a class=\"btn btn-primary btn-cookie js-cookie-open-modal\" data-cs-cookie-anchor=\"externalMedia\" href=\"#\">Einstellung vornehmen<\/a><\/div>\n<div class=\"iframe\"><iframe class=\"js-iframe-privacy-video\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen src=\"\" data-src=\"https:\/\/www.youtube-nocookie.com\/embed\/K6CWjkDgQnE\"><\/iframe><\/div>\n<h2>Fazit:<\/h2>\n<p>Der :has()-Selector bringt frischen Wind in die Welt des CSS und erm\u00f6glicht neue, spannende M\u00f6glichkeiten zur Gestaltung von Webseiten. Mit :has() k\u00f6nnt ihr effizienter und pr\u00e4ziser stylen, was die Qualit\u00e4t und Wartbarkeit eurer Projekte erheblich verbessert. Probiert es aus und lasst euch von den neuen M\u00f6glichkeiten inspirieren! Wenn du weitere n\u00fctzliche Anwendungsf\u00e4lle von :has() kennst und teilen m\u00f6chtest, schreibe uns gerne ein Kommentar.<\/p>\n<h3>Werde Teil unseres Teams<\/h3>\n<p>Hast du Lust auf spannende TYPO3-Projekte und m\u00f6chtest in einem dynamischen Team arbeiten? Dann bewirb dich bei uns! Wir suchen immer talentierte Entwickler, die unsere Leidenschaft f\u00fcr hochwertige Webentwicklung teilen. Du brauchst keinen Lebenslauf \u2013 kontaktiere uns einfach direkt. Hier kannst du dich bewerben. <a href=\"https:\/\/www.clickstorm.de\/jobs\/\">Hier kannst du dich bewerben<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hey Webentwicklerinnen und Webentwickler! Habt ihr schon vom neuen :has()-Selector in CSS geh\u00f6rt? Wenn nicht, dann wird es h\u00f6chste Zeit, denn dieser kleine Helfer kann eure Stylesheets revolutionieren. Wir bei [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":5928,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[137],"tags":[92,67,77],"class_list":["post-5927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend","tag-css","tag-css3","tag-tutorial"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Die Macht des :has()-Selectors - clickstorm Blog<\/title>\n<meta name=\"description\" content=\"Entdecke den :has()-Selector in CSS! Erfahre, wie er deine Stylesheets verbessert und sie interaktiver macht. Jetzt lesen auf Clickstorm!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Die Macht des :has()-Selectors - clickstorm Blog\" \/>\n<meta property=\"og:description\" content=\"Entdecke den :has()-Selector in CSS! Erfahre, wie er deine Stylesheets verbessert und sie interaktiver macht. Jetzt lesen auf Clickstorm!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/\" \/>\n<meta property=\"og:site_name\" content=\"clickstorm Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/de-de.facebook.com\/clickstorm\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-15T08:21:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2024\/07\/css-has-selector_teaser-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"577\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Erik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@clickstorm_gmbh\" \/>\n<meta name=\"twitter:site\" content=\"@clickstorm_gmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Erik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/\"},\"author\":{\"name\":\"Erik\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#\\\/schema\\\/person\\\/d67cbab03fcbf89c99c2483e4f8ebbfa\"},\"headline\":\"Die Macht des :has()-Selectors in CSS: Mehr als nur ein Eltern-Selektor\",\"datePublished\":\"2024-07-15T08:21:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/\"},\"wordCount\":630,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/css-has-selector_teaser-01.jpg\",\"keywords\":[\"CSS\",\"CSS3\",\"Tutorial\"],\"articleSection\":[\"Frontend\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/\",\"name\":\"Die Macht des :has()-Selectors - clickstorm Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/css-has-selector_teaser-01.jpg\",\"datePublished\":\"2024-07-15T08:21:20+00:00\",\"description\":\"Entdecke den :has()-Selector in CSS! Erfahre, wie er deine Stylesheets verbessert und sie interaktiver macht. Jetzt lesen auf Clickstorm!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/css-has-selector_teaser-01.jpg\",\"contentUrl\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/css-has-selector_teaser-01.jpg\",\"width\":1170,\"height\":577,\"caption\":\"Holzkl\u00f6tze mit den Buchstaben C S S auf einen Tisch\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/has-selector-css\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Die Macht des :has()-Selectors in CSS: Mehr als nur ein Eltern-Selektor\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/\",\"name\":\"clickstorm Blog\",\"description\":\"Neuigkeiten rund um Webentwicklung\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#organization\",\"name\":\"clickstorm GmbH\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/logo.svg\",\"caption\":\"clickstorm GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/de-de.facebook.com\\\/clickstorm\\\/\",\"https:\\\/\\\/x.com\\\/clickstorm_gmbh\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCEaU1eUbug6OiI4uU6vA-cA\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#\\\/schema\\\/person\\\/d67cbab03fcbf89c99c2483e4f8ebbfa\",\"name\":\"Erik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15b8691c0aaba6be8083f53bbc484c13948f20fa3353b7dbe6c5c5b43d75e72f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15b8691c0aaba6be8083f53bbc484c13948f20fa3353b7dbe6c5c5b43d75e72f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15b8691c0aaba6be8083f53bbc484c13948f20fa3353b7dbe6c5c5b43d75e72f?s=96&d=mm&r=g\",\"caption\":\"Erik\"},\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/author\\\/erik\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Die Macht des :has()-Selectors - clickstorm Blog","description":"Entdecke den :has()-Selector in CSS! Erfahre, wie er deine Stylesheets verbessert und sie interaktiver macht. Jetzt lesen auf Clickstorm!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/","og_locale":"de_DE","og_type":"article","og_title":"Die Macht des :has()-Selectors - clickstorm Blog","og_description":"Entdecke den :has()-Selector in CSS! Erfahre, wie er deine Stylesheets verbessert und sie interaktiver macht. Jetzt lesen auf Clickstorm!","og_url":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/","og_site_name":"clickstorm Blog","article_publisher":"https:\/\/de-de.facebook.com\/clickstorm\/","article_published_time":"2024-07-15T08:21:20+00:00","og_image":[{"width":1170,"height":577,"url":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2024\/07\/css-has-selector_teaser-01.jpg","type":"image\/jpeg"}],"author":"Erik","twitter_card":"summary_large_image","twitter_creator":"@clickstorm_gmbh","twitter_site":"@clickstorm_gmbh","twitter_misc":{"Verfasst von":"Erik","Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/#article","isPartOf":{"@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/"},"author":{"name":"Erik","@id":"https:\/\/www.clickstorm.de\/blog\/#\/schema\/person\/d67cbab03fcbf89c99c2483e4f8ebbfa"},"headline":"Die Macht des :has()-Selectors in CSS: Mehr als nur ein Eltern-Selektor","datePublished":"2024-07-15T08:21:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/"},"wordCount":630,"commentCount":0,"publisher":{"@id":"https:\/\/www.clickstorm.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/#primaryimage"},"thumbnailUrl":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2024\/07\/css-has-selector_teaser-01.jpg","keywords":["CSS","CSS3","Tutorial"],"articleSection":["Frontend"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.clickstorm.de\/blog\/has-selector-css\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/","url":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/","name":"Die Macht des :has()-Selectors - clickstorm Blog","isPartOf":{"@id":"https:\/\/www.clickstorm.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/#primaryimage"},"image":{"@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/#primaryimage"},"thumbnailUrl":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2024\/07\/css-has-selector_teaser-01.jpg","datePublished":"2024-07-15T08:21:20+00:00","description":"Entdecke den :has()-Selector in CSS! Erfahre, wie er deine Stylesheets verbessert und sie interaktiver macht. Jetzt lesen auf Clickstorm!","breadcrumb":{"@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.clickstorm.de\/blog\/has-selector-css\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/#primaryimage","url":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2024\/07\/css-has-selector_teaser-01.jpg","contentUrl":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2024\/07\/css-has-selector_teaser-01.jpg","width":1170,"height":577,"caption":"Holzkl\u00f6tze mit den Buchstaben C S S auf einen Tisch"},{"@type":"BreadcrumbList","@id":"https:\/\/www.clickstorm.de\/blog\/has-selector-css\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.clickstorm.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Die Macht des :has()-Selectors in CSS: Mehr als nur ein Eltern-Selektor"}]},{"@type":"WebSite","@id":"https:\/\/www.clickstorm.de\/blog\/#website","url":"https:\/\/www.clickstorm.de\/blog\/","name":"clickstorm Blog","description":"Neuigkeiten rund um Webentwicklung","publisher":{"@id":"https:\/\/www.clickstorm.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.clickstorm.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.clickstorm.de\/blog\/#organization","name":"clickstorm GmbH","url":"https:\/\/www.clickstorm.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.clickstorm.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2017\/11\/logo.svg","contentUrl":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2017\/11\/logo.svg","caption":"clickstorm GmbH"},"image":{"@id":"https:\/\/www.clickstorm.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/de-de.facebook.com\/clickstorm\/","https:\/\/x.com\/clickstorm_gmbh","https:\/\/www.youtube.com\/channel\/UCEaU1eUbug6OiI4uU6vA-cA"]},{"@type":"Person","@id":"https:\/\/www.clickstorm.de\/blog\/#\/schema\/person\/d67cbab03fcbf89c99c2483e4f8ebbfa","name":"Erik","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/15b8691c0aaba6be8083f53bbc484c13948f20fa3353b7dbe6c5c5b43d75e72f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/15b8691c0aaba6be8083f53bbc484c13948f20fa3353b7dbe6c5c5b43d75e72f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15b8691c0aaba6be8083f53bbc484c13948f20fa3353b7dbe6c5c5b43d75e72f?s=96&d=mm&r=g","caption":"Erik"},"url":"https:\/\/www.clickstorm.de\/blog\/author\/erik\/"}]}},"_links":{"self":[{"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/posts\/5927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/comments?post=5927"}],"version-history":[{"count":13,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/posts\/5927\/revisions"}],"predecessor-version":[{"id":5943,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/posts\/5927\/revisions\/5943"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/media\/5928"}],"wp:attachment":[{"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/media?parent=5927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/categories?post=5927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/tags?post=5927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}