Entfernen Sie mehrere zusätzliche Break-Tags mit CSS

8

Ich habe dieses HTML mit mehreren <br> -Tags.

%Vor%

Ich möchte höchstens einzelne und doppelte Pausen behalten (neue Zeile und neuer Absatz) und ich möchte alle zusätzlichen <br> ignorieren. Also maximal 2 <br> nacheinander. Also,

%Vor%

würde

werden %Vor%

Wie kann ich das mit CSS machen?

Ich möchte alle <br> Elemente auswählen, die mindestens 2 unmittelbare vorherige <br> Geschwister

haben

EDIT: für ein bisschen mehr Kontext ist das HTML auf einer externen Website, ich versuche das Lesen mit Firefox / stylish zu verbessern, also nur mit CSS

    
oluc 06.09.2012, 07:18
quelle

2 Antworten

5

Wenn Sie :nth-child selector verwenden, können Sie dies leicht erreichen.

CSS:

%Vor%

SEE DEMO

    
A.K 06.09.2012 07:32
quelle
2

Während <br> -Tags in den meisten Browsern nicht anders formatiert werden können , Sie können sie ausblenden:

%Vor%

Ссылка (danke @ A.K)

Das Problem dabei ist, dass mit dem Markup <br><br><br>hello<br> auch das finale <br> übereinstimmt, weil Textknoten nicht als Geschwister gezählt werden. Sie können dies beheben, indem Sie das Markup folgendermaßen aktualisieren:

%Vor%

Natürlich können Sie diese Elemente auch mit jQuery entfernen, wenn Sie möchten:

%Vor%

(Ich fürchte, ich habe die Geduld verloren, als ich versuchte, eine reine JavaScript-Lösung auszuarbeiten)

    
Robin Winslow 06.09.2012 07:32
quelle

Tags und Links