CSS-Selektor: fast leer?

8

Ich bin mir bewusst, dass die Pseudo-Klasse :empty alle Elemente ohne Kinder auswählt, aber ich möchte nur Elemente mit Textknoten als untergeordnete Elemente auswählen.

Ich habe einen unteren Rand an meinen Hyperlinks, die eine andere Farbe als der Text haben, aber das ist ein Problem, weil die verlinkten Bilder auch diese Unterstreichung erhalten.

Ich habe a *:not(*){ border-bottom-width: 0; } versucht, dies zu beheben, aber es hat nicht funktioniert. Gibt es eine Möglichkeit, a -Tags mit nur Textknoten für Kinder auszuwählen?

    
ITS Alaska 26.02.2013, 00:35
quelle

6 Antworten

0

Am Ende habe ich nur jQuery benutzt. Ich glaube nicht, dass es gerade mit CSS möglich ist.

%Vor%     
ITS Alaska 26.02.2013, 18:53
quelle
1

Wenn ich Ihr Problem richtig verstanden habe, versuchen Sie, Ihre verlinkten Bilder nicht unterstrichen zu lassen. Wenn ja, warum nicht etwas wie: a img { text-decoration:none } ?

Bearbeiten: Wenn die Links auf img-Tags nicht unterstrichen werden sollen, wenden Sie eine Klasse auf diese Links mit text-decoration:none

an     
Matt Whitehead 26.02.2013 00:50
quelle
1

NEUE ANTWORT:

Wenn Sie einen Rahmen unter dem Bild, aber nicht den Text möchten, tun Sie dies:

%Vor%

Wenn Sie das Gegenteil wollen (Rahmen unter dem Text, aber nicht das Bild), tun Sie dies:

%Vor%

ALTE ANTWORT:

Wenn es sich nur um ein Problem mit Bildern handelt, die in Tags eingebettet sind, versuchen Sie Folgendes:

%Vor%     
Erik Nielsen 26.02.2013 00:51
quelle
1

Anstatt einen verrückten Selektor zu verwenden, verstecken Sie den Rand mit einem negativen Rand:

%Vor%

Demo

    
bookcasey 26.02.2013 01:06
quelle
0

Wenn das ONLY CHILD von <a> kein img ...

ist %Vor%     
Ali Bassam 26.02.2013 01:03
quelle
0

Dies kann nicht ausgeführt werden, da die border -Eigenschaft außerhalb der obersten Box Ihres Ankers angewendet und gerendert wird. Effektiv wäre die einzige Möglichkeit, einen solchen Effekt mit einem Rahmen zu erzielen, das Negieren der Eigenschaft. Manchmal kann es visuell akzeptabel sein, einen unteren Rand in einer Hintergrundfarbe zu verwenden, um ihn über dem deines Ankers zu überlagern - eine unzuverlässige Praxis, die man nicht mag. Vielleicht könnte der Effekt mit Filtern simuliert werden, aber ich würde nicht darauf zählen, dass er über Browser ausreichend gut unterstützt wird.

Was ich vorschlage, geht zurück zur text-decoration -Eigenschaft *, während ich immer noch eine andere, unabhängige Unterstreichungsfarbe behalte '- insgesamt ein netter Ansatz, aber nicht ohne den Overhead eines zusätzlichen Elements:

%Vor%

Ссылка

    
o.v. 26.02.2013 03:53
quelle

Tags und Links