Ermitteln, ob ein div mehr als eine Zeile hat

8

Wie kann ich feststellen, ob ein div mehr als eine Zeile hat? Ich meine so:

%Vor%

Ich möchte den Inhalt hinsichtlich der Anzahl der Zeilen (1 oder mehr) formatieren

    
Kiss Koppány 06.04.2014, 21:37
quelle

3 Antworten

2

Wenn Sie JavaScript / JQuery verwenden möchten, können Sie die Höhe des div überprüfen und prüfen, ob es größer ist als bei nur einer Textzeile. Natürlich ist das nicht sehr fehlerfrei, aber ich weiß es nicht anders.

    
EagleV_Attnam 06.04.2014, 21:47
quelle
7

Ich würde das nicht so sehr eine Lösung nennen, als dass es zu einer Lösung führen könnte. Ich dachte, deine Frage sei interessant. Also habe ich beschlossen, ein bisschen mit CSS herumzuspielen.

Das ist, was mir eingefallen ist.

Er verwendet die aktuelle Breite des internen span (angegeben durch inline-block display), um die Einzugbreite zu bestimmen. Wir verwenden calc() , um den Einzug 100% minus der Elternbreite von 200px zu machen, dem unser letzter Einzug hinzugefügt wurde ( 30px ).

Es funktioniert am besten, wenn der einzeilige Inhalt nicht annähernd die volle Breite des Containers erreicht.

Schnelle Anmerkungen:

  1. Ich habe einige Fehlerfälle bemerkt, die darauf zurückzuführen sind, dass der einzeilige Inhalt fast die gesamte Breite des Containers erreicht hat. (Die Entfernung von der Gesamtbreite, die zu fehlerhaften Darstellungen führt, variiert zwischen den Browsern, die in Chrome 33, Firefox 25 und Internet Explorer 11 getestet wurden)
  2. Es verwendet calc() ( Unterstützungsliste )
  3. Es verwendet :before pseudoklasse ( Unterstützungsliste )
  4. Es erfordert die Verwendung eines internen Elements inline-block , um die Inhaltsbreite zu verfolgen.
  5. Das Elternelement muss eine bekannte Breite haben.
  6. Dies betrifft nur die Einrückung, die die OP-Staaten in den Kommentaren ihres Posts erreichen wollen.

HTML-Code:

%Vor%

CSS-Code:

%Vor%     
SombreErmine 06.04.2014 23:15
quelle
1

Ich bin mir nicht sicher, ob Sie das mit CSS handhaben könnten, aber Sie sollten in der Lage sein, dies zu tun. Ich muss zugeben, dass mein JQuery nicht großartig ist und ich gerade dabei bin, es zu lernen, also nimm es mit einer Prise Salz. Sie können die Höhe der Eigenschaft verwenden, um die Höhe des Bereichs zu ermitteln und die erforderlichen Stile basierend auf der Höhe des Bereichs hinzuzufügen.

%Vor%     
ramesh 06.04.2014 21:59
quelle

Tags und Links