Layna: Pseudoelemente inline definieren?

Hallo!
Weniger ein akutes Problem als starke Neugierde treibt mich zu dieser Frage:
kann ich bei:
<div>Teil 1</div>
<div style="background-color: red;">Teil 2</div>
<div>Teil 3</div>
in den style auch :before und :after nutzen? Also, sozusagen in der Style-definition des mittleren divs angaben für das vorherige und nahfolgende machen?
Ich weiß, sowas gehört ausgelagert, aber ich wüsste es trotzdem gerne ^^.

Danke,
    Layna

  1. Also, sozusagen in der Style-definition des mittleren divs angaben für das vorherige und nahfolgende machen?

    nein. :befor und :after bezieht sich nicht auf benachbarte Elemente sondern nur auf den Inhalt (hier: "Teil 2") des Elements selbst.

  2. Hallo,

    Weniger ein akutes Problem als starke Neugierde treibt mich zu dieser Frage:

    Das ist praktisch, denn ein akutes Problem kann man derzeit mit folgendem nicht lösen. Im Rahmen der CSS 3 Entwicklung gibt es einen fast schon seit sechs Jahren nicht mehr aktualisierten Entwurf, der die in style-Attributen erlaubte Syntax erweitert; dann kann man auch Pseudoelemente im Style-Attribut definieren:

    ~~~html <q style="{ font-style: italic; }
                ::before { content: '»'; }
                ::after  { content: '«, sagte Tim.';
                           font-style: normal; }
                ::after::first-letter { font-style: italic; }"
        cite="Tim Tepaße"
      >Doof, das geht ja gar nicht.</q>

      
    Und nun die doofe Nachricht: Das klappt derzeit in keinen Browser – es ist nicht sonderlich aktuell.  
      
      
    
    > <div>Teil 1</div>  
    > <div style="background-color: red;">Teil 2</div>  
    > <div>Teil 3</div>  
    > in den style auch :before und :after nutzen? Also, sozusagen in der Style-definition des mittleren divs angaben für das vorherige und nahfolgende machen?  
      
    Kann das sein, dass Du da etwas missverstehst? Mit ::before und ::after fügt man neue Boxen ins Dokument ein, man greift nicht auf andere HTML Elemente zu.  
      
    Tim
    
    1. @@Tim Tepaße:

      Im Rahmen der CSS 3 Entwicklung gibt es einen fast schon seit sechs Jahren nicht mehr aktualisierten Entwurf, der die in style-Attributen erlaubte Syntax erweitert; dann kann man auch Pseudoelemente im Style-Attribut definieren: […]
      Und nun die doofe Nachricht: Das klappt derzeit in keinen Browser – es ist nicht sonderlich aktuell.

      So doof find ich die Nachricht gar nicht. Die Inline-Notation von Styles in 'style'-Attributen ist viel dööfer.

      Live long and prosper,
      Gunnar

      --
      „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
      1. Hallo Gunnar,

        So doof find ich die Nachricht gar nicht. Die Inline-Notation von Styles in 'style'-Attributen ist viel dööfer.

        Klar ist es schlechter Stil, dennoch sollte wenn dann, dann bitte alle Möglichkeiten unterstützt werden. Schön in diesem Entwurf finde ich die Möglichkeit des Importierens von Stylesheets mit begrenzten Gültigkeitsbereich:

        ~~~html <article style="@import url(fremdstylesheet.css);">
          <!-- Hier kommen begrenzte Styleinformationen zum Tragen -->
          </article>

          
        Anwendungsfälle dafür wären z.B. Forenpostings oder Aggregatoren von Feeds, die als Ausgabe wieder HTML haben.  
          
          
        Tim