Dr. Web Logo. Untertext: Seit 1997.
  • Beste Agenturen
  • Agentur-Standorte von A bis Z 🌇
  • Magazin
  • Newsletter 📩
  • Login
  • Agentur bewerben ✅
  • Kontakt
  • Werben 🎉
  • Sponsored Post
  • Jobs
Menü
  • Beste Agenturen
  • Agentur-Standorte von A bis Z 🌇
  • Magazin
  • Newsletter 📩
  • Login
  • Agentur bewerben ✅
  • Kontakt
  • Werben 🎉
  • Sponsored Post
  • Jobs
  • Werben
  • Gastbeitrag
  • Sponsored Post
  • Kontakt
  • Login
  • Newsletter
Suche
  • Beste Agenturen
  • Agentur-Standorte
      Beste Agenturen Augsburg Altstadt von oben.

      Augsburg

      Blick auf die Mittlere Brücke in Basel bei Sonnenaufgang.

      Basel

      Berlin bei Nacht, Blick von oben Richtung Fernsehturm.

      Berlin

      Das Ruhrstadion in Bochum von oben, bei Sonnenuntergang.

      Bochum

      Bonn von oben, mit Blick auf den Rhein.

      Bonn

      Blick auf die Uferpromenade in Bremen bei Sonnenuntergang..

      Bremen

      Dortmund von oben Panoramafoto.

      Dortmund

      Blick auf die Elbufer-Promenade Dresdens sowie Frauenkirche und Zwinger.

      Dresden

      Duisburg Innenhafen bei Sonnenuntergang.

      Duisburg

      Düsseldorf von oben mit Blick auf den Fernsehturm.

      Düsseldorf

      Die Skyline von Essen von oben.

      Essen

      Blick von oben auf das Bankenviertel in Frankfurt am Main.

      Frankfurt am Main

      Freiburg Innenstadt vom Münster aus fotografiert mit Blick Richtung Schlossberg und Sonnenuntergang..

      Freiburg im Breisgau

      Hamburg bei Nacht, Blick auf die Speicherstadt.

      Hamburg

      Blick auf das Neue Rathaus, Hannover.

      Hannover

      Agenturen in Innsbruck von oben mit Blick auf die Alpen.

      Innsbruck

      Karlsruhe von oben

      Karlsruhe

      Sonnenuntergang in Köln mit Blick auf den Dom. Im Vordergrund die Hohenzollernbrücke.

      Köln

      Leipzig Innenstadt bei Sonnenuntergang und von oben.

      Leipzig

      München bei Fön mit Blick in die bayerischen Alpen.

      München

      Nürnberg Altstadt Stadtmauer von oben

      Nürnberg

      Blick auf das Flussufer der Innenstadt von Regensburg bei Nacht.

      Regensburg

      Agenturen Salzburg: Blick auf die Altstadt und die Hohensalzburg.

      Salzburg

      Stuttgart von oben.

      Stuttgart

      Wien von oben. Blick auf den Stephansdom.

      Wien

      Zürich von oben.

      Zürich

  • Magazin
    • Content Marketing
    • CSS
    • E-Commerce
    • E-Mail-Marketing
    • Freelancer
    • Fotografie
    • HTML
    • Online-Marketing
    • Responsive Design
    • SEO
    • UX Design
    • Webdesign
    • Website erstellen
    • WordPress
    • Dr. Web Autoren
  • Jobs
Menü
  • Magazin
    • Content Marketing
    • CSS
    • E-Commerce
    • E-Mail-Marketing
    • Freelancer
    • Fotografie
    • HTML
    • Online-Marketing
    • Responsive Design
    • SEO
    • UX Design
    • Webdesign
    • Website erstellen
    • WordPress
    • Dr. Web Autoren
  • Jobs
Agentur eintragen →
Dr. Web Logo. Untertext: Seit 1997.
  • Beste Agenturen
  • Agentur-Standorte
      Beste Agenturen Augsburg Altstadt von oben.

      Augsburg

      Blick auf die Mittlere Brücke in Basel bei Sonnenaufgang.

      Basel

      Berlin bei Nacht, Blick von oben Richtung Fernsehturm.

      Berlin

      Das Ruhrstadion in Bochum von oben, bei Sonnenuntergang.

      Bochum

      Bonn von oben, mit Blick auf den Rhein.

      Bonn

      Blick auf die Uferpromenade in Bremen bei Sonnenuntergang..

      Bremen

      Dortmund von oben Panoramafoto.

      Dortmund

      Blick auf die Elbufer-Promenade Dresdens sowie Frauenkirche und Zwinger.

      Dresden

      Duisburg Innenhafen bei Sonnenuntergang.

      Duisburg

      Düsseldorf von oben mit Blick auf den Fernsehturm.

      Düsseldorf

      Die Skyline von Essen von oben.

      Essen

      Blick von oben auf das Bankenviertel in Frankfurt am Main.

      Frankfurt am Main

      Freiburg Innenstadt vom Münster aus fotografiert mit Blick Richtung Schlossberg und Sonnenuntergang..

      Freiburg im Breisgau

      Hamburg bei Nacht, Blick auf die Speicherstadt.

      Hamburg

      Blick auf das Neue Rathaus, Hannover.

      Hannover

      Agenturen in Innsbruck von oben mit Blick auf die Alpen.

      Innsbruck

      Karlsruhe von oben

      Karlsruhe

      Sonnenuntergang in Köln mit Blick auf den Dom. Im Vordergrund die Hohenzollernbrücke.

      Köln

      Leipzig Innenstadt bei Sonnenuntergang und von oben.

      Leipzig

      München bei Fön mit Blick in die bayerischen Alpen.

      München

      Nürnberg Altstadt Stadtmauer von oben

      Nürnberg

      Blick auf das Flussufer der Innenstadt von Regensburg bei Nacht.

      Regensburg

      Agenturen Salzburg: Blick auf die Altstadt und die Hohensalzburg.

      Salzburg

      Stuttgart von oben.

      Stuttgart

      Wien von oben. Blick auf den Stephansdom.

      Wien

      Zürich von oben.

      Zürich

Agentur eintragen →
Dr. Web » CSS » Lining.js: Textzeilen verändern per CSS-Selektor

Lining.js: Textzeilen verändern per CSS-Selektor

Sozial sein
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp
Share on email
  • 4 Kommentare
Lesedauer: 4 Minuten
  • von Denis Potschien
  • 5. Juni 2015
Bookmarke mich
Share on pocket

Online Solutions Group

Chris Hortsch Webdesign

esTethik.media GmbH

ARIT Services GmbH

iPower AG

TYPO3 & Shopware Agentur München - 3m5.

Dank der zahlreich zur Verfügung stehenden CSS-Selektoren kann man per Stylesheets auf fast jedes einzelne HTML-Element innerhalb eines Dokumentes zugreifen. Und dank des Pseudoelementes ::first-line hat man sogar innerhalb eines Textes die Möglichkeit, CSS-Eigenschaften nur auf die erste Zeile anzuwenden – unabhängig davon, ob die Zeile automatisch umgebrochen oder durch manuellen Zeilenumbruch herbeigeführt wird. Da es neben ::first-line aber keine weiteren Selektoren gibt, um auf die zweite, dritte oder letzte Zeile eines Textes zuzugreifen, kann man sich diese noch fehlenden CSS-Selektoren mit der JavaScript-Bibliothek Lining.js nachrüsten.

.line[last] statt ::last-line

Analog zu den Selektoren ::last-child und ::nth-child(), mit denen auf das letzte oder ein anderes beliebige Kindelement zugegriffen werden kann, stellt Lining.js ein ähnliches Verhalten für Textzeilen zur Verfügung. Statt der nicht vorhandenen Selektoren ::last-line und ::nth-line(n) werden die Zeilen über die Klassen .line[last] und .line[index="n"] angesprochen.

liningjs

Ist die JavaScript-Datei im Dokument eingebunden, müssen zunächst die Textelemente, auf die Lining.js angewendet werden soll, mit dem Data-Attribut data-lining ausgezeichnet werden. Einen Wert benötigt das Attribut nicht.

<p data-lining>
  Lorem ipsum …
</p>

Anschließend können über diese Klassen einzelne Zeilen innerhalb eines Textes individuell per CSS ausgezeichnet werden.

p .line[last] {
  color: red;
}

p .line[index="2"] {
 font-weight: bold;
}

liningjs-beispiel1
.line[last] und .line[index="2"] auf einen Text angewendet

Im Beispiel wird die jeweils letzte Zeile eines <p>-Elementes rot gefärbt, während die jeweils zweite Zeile fett dargestellt wird. Obwohl es das Pseudoelement ::first-line gibt, existiert mit .line[first] auch eine Variante für Lining.js. Hier bleibt Ihnen freigestellt, für welche Variante Sie sich entscheiden.

Auch für die Pseudoelemente ::nth-of-type() und ::nth-last-of-type() gibt es mit .line:nth-of-type() und .line:nth-last-of-type() entsprechende Möglichkeiten für Textzeilen.

p .line:nth-of-type(2n) {
  color: green;
}

liningjs-beispiel2
Alternative Zeilen mit .line:nth-of-type(2n)

Im Beispiel wird dank .line:nth-of-type(2n) jede zweite Zeile eines Textes grün angezeigt. Mit dem Selektor .line:nth-last-of-type(2n) erhält man ebenfalls Zugriff auf jede zweite Zeile. Die Zählung beginnt jedoch mit der letzten Zeile statt mit der ersten.

Als letztes gibt es noch den einfachen Selektor .line. Mit diesem kann man CSS-Eigenschaften auf jede Zeile eines Textes anwenden. Dieser Selektor ist dann interessant, wenn man beispielsweise nach jeder Zeile eine Linie zeichnen möchte.

p .line {
  border-bottom: 1px solid blue;
}

liningjs-beispiel3

Linie unterhalb jeder Zeile mit .line

Das Beispiel sorgt dafür, dass nach jeder Zeile eine blaue Linie dargestellt wird. Ohne Lining.js hätte man nur Zugriff auf das <p>-Element als Ganzes und könnte nur den Absatz mit einer Linie versehen.

Standardaussehen definieren

Da nicht jeder Browser Lining.js unterstützt, gibt es zusätzlich die Möglichkeit, das Standardaussehen von Texten unterschiedlich zu definieren. So kann das Aussehen bei Unterstützung von Lining.js anders aussehen als bei Nicht-Unterstützung.

p {
  font-style: italic;
}

.nolining p {
  font-style: normal;
}

Im Beispiel werden zunächst alle <p>-Elemente mit kursiver Schrift ausgezeichnet. Über die Klasse nolining wird dann ein abgewandeltes Aussehen definiert, falls der Browser Lining.js nicht unterstützt.

Lining.js und responsives Layout

Die Zeilen eines Textes werden per Lining.js beim Laden der Seite einmalig festgelegt. Verschieben sich die Zeilen, weil das Browserfenster breiter oder schmaler gemacht wird, bleibt die ursprüngliche Zeileneinteilung und das damit verbundene Aussehen beibehalten. Will man jedoch, dass die Zeilen bei veränderter Größe des Fensters neu eingeteilt werden, muss den jeweiligen Texten das zusätzliche Data-Attribut data-auto-resize zugewiesen werden.

<p data-lining data-autoresize>
  Lorem ipsum …
</p>

Ändert man dann das Browserfenster, sorgt Lining.js dafür, dass die veränderte Zeileneinteilung bei den Pseudoelementen – zum Beispiel .line[index="3"] – berücksichtigt wird.

Lining.js nur auf bestimmte Zeilen anwenden

Technisch funktioniert Lining.js so, dass jede Zeile eines Textes mit dem Element <text-line> umschlossen wird. Diese Umwandlung kann gerade bei langen Texten durchaus ein Weilchen dauern. Will man Lining.js gar nicht auf den gesamten Text anwenden, kann man die Umwandlung in einzelne Zeilen auf einen bestimmten Textbereich begrenzen. Mit den Data-Attributen data-from und data-to geben wir einen Bereich an, der in einzelne Zeilen umgewandelt werden soll.

<p data-lining data-from="5">
  Lorem ipsum …
</p>

Im Beispiel werden nur die fünfte und alle folgenden Zeilen des Absatzes berücksichtigt. Entsprechend lassen sich die Selektoren auch nur auf diesen Bereich anwenden.

Animierte Effekte zum Ein- und Ausblenden

Neben der eigentlichen Möglichkeit, auf einzelne Textzeilen zuzugreifen, gibt es eine ergänzende JavaScript-Bibliothek, mit der wir animierte Effekte auf die Zeilen anwenden. So lassen sich Texte Zeile für Zeile auf unterschiedliche Weise ein- und ausblenden. Die Datei lining.effects.js muss dafür mit eingebunden werden. Anschließend stehen einem die Ein- und Ausblendeffekte zur Verfügung. Sie werden über das Data-Attribut data-effect angesprochen.

<p data-lining data-effect="rolling">
  Lorem ipsum …
</p>

liningjs-beispiel4

Einblendeffekt rolling

Im Beispiel wenden wir den Effekt rolling auf einen Text an. Dabei werden die einzelnen Zeilen von der ersten Zeile beginnend nach unten geklappt. Insgesamt stehen sieben verschiedene Einblendeffekte zur Verfügung – vom einfachen Fade-in und Slide-in bis hin zum komplexen metroRotateIn, bei dem die Zeilen per 3D-Drehung und Fade-in eingeblendet werden.

Fazit

Lining.js ist ein sehr gut durchdachtes und umfangreiches Werkzeug, das eine individuelle Gestaltung von Texten beziehungsweisen dessen Zeilen ermöglicht. Die schicken Animationseffekte runden den Funktionsumfang der Bibliothek gut ab. Zusätzlich zur Auszeichnung per Data-Attribute ist auch eine ausschließliche Konfiguration per JavaScript möglich.

Lining.js läuft in allen gängigen Versionen von Chrome, Safari und Opera. Kleiner Wermutstropfen: Der Internet Explorer wird derzeit gar nicht unterstützt. Die Bibliothek steht wie viele dieser Art unter der MIT-Lizenz kostenlos zur Verfügung.

Dank einer guten Dokumentation und einigen Beispielen ist der Einstieg in Lining.js einfach.

(dpe)

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Denis Potschien

Denis Potschien

Denis Potschien ist seit 2005 freiberuflich als Kommunikationsdesigner tätig, seit Anfang 2010 im Kreativkonsulat in Iserlohn, einem Büro für Gestaltung und Kommunikation. Dort betreut er kleine und mittelständische Unternehmen ebenso wie kommunale Körperschaften und Organisationen aus Südwestfalen und dem Ruhrgebiet. Als Webdesigner und -entwickler gehören HTML5 und CSS3 zu seinen Kernthemen, weshalb er dazu 2013 ein Buch geschrieben hat. „Pure HTML5 und CSS3“ richtet sich an alle, die Vorkenntnisse haben, sich aber bisher mit HTML5 und CSS3 nicht oder nur am Rande beschäftigt haben.

Agenturpartner

BIZ Digital Marketing

Nürtingen

Glamourpixel Fotodesign

Gelsenkirchen

PRIMA LINE

Berlin

Webagentur klickbeben

Innsbruck

Jocado

Leipzig

Alle Agenturpartner

Jobs

Inside Sales Manager

Karlsruhe

SEO Junior für Suchmaschinen­optimierung

Salzburg

Online Marketing Manager

Innsbruck

Junior Media Manager

München

WordPress Developer – Vollzeit

Remote

Zum richtigen Job

Newsletter

Tipps, Tricks, Ratgeber. Unser Newsletter: Jeden Dienstag frisch gedruckt in Deinem Mail-Postfach.

Lust auf mehr? Wir empfehlen folgende Artikel:

Webdesign: Die Basics guter Informations­architektur

Lineare Informationsarchitektur bezeichnet eine Konstruktion, in der es stets nur einen vordefinierten Weg zum Ziel gibt. Nutzer in linearen Systemen arbeiten Aufgaben entlang der vorgegebenen Pfade ab und können nur so und nicht anders zum Ziel zu gelangen. Diese Vorgehensweise ist aus Sicht des Designers nicht uninteressant.

 →   

Webdesign-Agentur gründen: 10 Tipps, wie der Start gelingt

Eine Webdesign-Agentur zu gründen ist keine einfache Aufgabe, denn du musst eine ganze Reihe Fähigkeiten mitbringen, um erfolgreich im harten Markt bestehen zu können.

 →   

Webdesign Trends 2022: Das erwartet uns

Animation, Interaktion und Immersion: Das neue Jahr bringt zahlreiche Trends im Webdesign mit sich und entwickelt einzelne Bereiche weiter. Bereits jetzt ist klar – in Sachen Webdesign-Trends hat das Jahr 2022 einiges zu bieten.

 →   

4 Antworten zu „Lining.js: Textzeilen verändern per CSS-Selektor“
— was ist Deine Meinung?

  1. Uwe sagt:
    5. Juni 2015 um 10:36 Uhr

    Mir stellt sich die Frage nach dem „Warum“.

    Warum um alles in der Welt sollte ich jede zweite Zeile grün machen wollen? Worin liegt da der Nutzen?

    Oder anders herum:

    Welche _konkreten_ Praxisbeispiele gibt es, die nicht bloße Spielerei sind, sondern dem Leser einen echten Nutzen bieten?

    Antworten
    1. Dieter Petereit sagt:
      5. Juni 2015 um 11:01 Uhr

      Jede zweite Zeile grün machen, ist vielleicht nicht der Küller. Aber den Text zeilenweise scrollen zu lassen und andere Optionen des Scripts sind schon offensichtlicher nutzwertig.

      Antworten
      1. Uwe sagt:
        5. Juni 2015 um 11:15 Uhr

        OK. Danke schön!

        Antworten
      2. Uwe sagt:
        5. Juni 2015 um 11:16 Uhr

        Die Demo http://zencode.in/lining.js/#demo-5 ist auch ganz nett.

        Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Dr. Web Logo weiss.

Pionier für Digitale Transformation. Seit 1997. ✅  Wissen, Tipps, Ratgeber, Dienstleister: Wir bringen wir die digitale Transformation von Unternehmen praxisnah voran.

Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp
Share on email

Wissen finden

  • Dr. Web Autoren
  • Amazon SEO
  • Content Marketing
  • CMS
  • CSS
  • Digitalisierung
  • E-Commerce
  • Freelancer
  • Jobs & Karriere
  • Online-Marketing
  • SEO
  • UX Design
  • Webdesign
  • Website erstellen
  • WordPress
  • WooCommerce
Menü
  • Dr. Web Autoren
  • Amazon SEO
  • Content Marketing
  • CMS
  • CSS
  • Digitalisierung
  • E-Commerce
  • Freelancer
  • Jobs & Karriere
  • Online-Marketing
  • SEO
  • UX Design
  • Webdesign
  • Website erstellen
  • WordPress
  • WooCommerce

Rechtliches

  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Nach oben ↑
Menü
  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Nach oben ↑

Für Agenturen & Unternehmer

  • Als Agentur eintragen
  • Beste Agenturen finden
  • Städte: von A bis Z.
  • Agenturen in Augsburg
  • Agenturen in Basel
  • Agenturen in Berlin
  • Agenturen in Bochum
  • Agenturen in Bonn
  • Agenturen in Bremen
  • Agenturen in Dortmund
  • Agenturen in Dresden
  • Agenturen in Duisburg
  • Agenturen in Düsseldorf
  • Agenturen in Essen
  • Agenturen in Frankfurt am Main
  • Agenturen in Freiburg
  • Agenturen in Hamburg
  • Agenturen in Hannover
  • Agenturen in Innsbruck
  • Agenturen in Karlsruhe
  • Agenturen in Köln
  • Agenturen in Leipzig
  • Agenturen in München
  • Agenturen in Münster
  • Agenturen in Nürnberg
  • Agenturen in Offenbach am Main
  • Agenturen in Regensburg
  • Agenturen in Salzburg
  • Agenturen in Stuttgart
  • Agenturen in Wien
  • Agenturen in Zürich
  • Digitalagentur finden
  • Webdesign-Agentur finden
  • Werbeagentur finden
Menü
  • Als Agentur eintragen
  • Beste Agenturen finden
  • Städte: von A bis Z.
  • Agenturen in Augsburg
  • Agenturen in Basel
  • Agenturen in Berlin
  • Agenturen in Bochum
  • Agenturen in Bonn
  • Agenturen in Bremen
  • Agenturen in Dortmund
  • Agenturen in Dresden
  • Agenturen in Duisburg
  • Agenturen in Düsseldorf
  • Agenturen in Essen
  • Agenturen in Frankfurt am Main
  • Agenturen in Freiburg
  • Agenturen in Hamburg
  • Agenturen in Hannover
  • Agenturen in Innsbruck
  • Agenturen in Karlsruhe
  • Agenturen in Köln
  • Agenturen in Leipzig
  • Agenturen in München
  • Agenturen in Münster
  • Agenturen in Nürnberg
  • Agenturen in Offenbach am Main
  • Agenturen in Regensburg
  • Agenturen in Salzburg
  • Agenturen in Stuttgart
  • Agenturen in Wien
  • Agenturen in Zürich
  • Digitalagentur finden
  • Webdesign-Agentur finden
  • Werbeagentur finden
Das große Dr. Web Icon-Set: 970+ Icons, im SVG-Format​

Lade Dir jetzt das Icon-Set
kostenlos herunter ↓

Über 970 Dr. Web-Icons, kostenlos.
Danke nein, ist nichts für mich.
Invalid email address
Vielen Dank! Bitte schau noch in Dein Postfach und bestätige die Anmeldung.