Vor weniger als einem Jahr veröffentlichte Trent Walton Content Choreography, in dem er sich über einige der Schwierigkeiten und Einschränkungen von responsiven Layouts beklagte.
Manchmal scheint es, als würde die gesamte Website-Architektur und -Planung über Bord geworfen, wenn sich der Inhalt neu anordnet.
Man muss zugeben, dass sehr viele responsive Designs am Ende so aussehen:
- Alles in eine Spalte quetschen
- Die Sidebar(s) nach unten verschieben
*hust* diese Seite macht das *hust*
Trent erwähnte, dass es vielleicht ein besserer Ansatz wäre, Inhalte zu „interdigitieren“.

Das heißt, Inhalte auf durchdachtere oder nützlichere Weise zu einer einzigen Spalte zusammenzufügen.
Ein praktisches Beispiel: Anzeigen-Faltung
Betrachten Sie ein Layout bei einem großen Browserfenster. Zwei Spalten. Artikel in einer breiten Spalte links, Anzeigen in einer schmalen Spalte rechts.

Bei schmaleren Browserfenstergrößen wechseln wir zu einer einzigen Spalte. Dieses Layout wird wahrscheinlich mit Floats realisiert, der bis heute gängigsten Layoutmethode. Leider bedeutet das wahrscheinlich, beide Spalten auf 100% Breite zu setzen und ihre Quellreihenfolge bestimmen zu lassen, welche oben liegt. Das heißt: alle Anzeigen nach unten verschieben. Wahrscheinlich nicht ideal. Wahrscheinlich wäre es besser, die Anzeigen in den Inhalt zu *falten*.

Aber wie?
Wahrscheinlich gibt es eine Reihe von Möglichkeiten, dies zu tun. Mit JavaScript könnten Sie die Fensterbreite messen und Elemente im DOM verschieben. Das erscheint mir aufwändig, aber die Browserunterstützung wäre gut. Ich würde mich lieber auf CSS verlassen, dafür ist CSS (wohl) da. Das Grid Layout mag einige Möglichkeiten bieten, aber für dieses Tutorial nehmen wir das brandneue CSS Regions, ein Beitrag von Adobe.
HTML
<section class="main-content">
<article> ... </article>
<div class="ad-region-1">
<!-- empty, ads flow into here as needed -->
</div>
<article> ... </article>
<div class="ad-region-2">
<!-- empty, ads flow into here as needed -->
</div>
<article> ... </article>
<div class="ad-region-3">
<!-- empty, ads flow into here as needed -->
</div>
</section>
<aside>
<!-- Fallback content in this flow region, probably clone #ad-source -->
</aside>
<!-- Source of flowing content, essentially hidden as an element -->
<div id="ad-source">
<a href="#"><img src="ads/1.jpg"></a>
<a href="#"><img src="ads/2.jpg"></a>
<a href="#"><img src="ads/3.jpg"></a>
<a href="#"><img src="ads/4.png"></a>
</div>
Beachten Sie, dass der „Inhalt“ (unsere Anzeigen) in einem <div> am unteren Rand der Seite untergebracht ist. Sobald wir die CSS-Regionen eingerichtet haben, wird das Element im Wesentlichen versteckt und der Inhalt darin wird in die Regionen fließen, die wir ihm zuweisen.
CSS
Wir beginnen damit, dem div#ad-source, das den Inhalt hält, zu sagen, dass es seinen Inhalt in einen „benannten Fluss“ einfügen soll
#ad-source {
-webkit-flow-into: ads;
-ms-flow-into: ads;
}
Ich verwende hier nur zwei Vendor-Präfixes, da das im Moment die einzige Unterstützung ist. Ich würde empfehlen, die ungeprefixte Version *nicht* zu verwenden, da sich diese Dinge bei der endgültigen Implementierung ändern könnten.
‚ads‘ ist ein beliebiger Name, den wir uns ausgedacht haben. Es könnte alles sein, wie das Benennen einer CSS-Animation.
Nun richten wir Regionen ein, in die dieser Inhalt fließen soll. Zuerst in den Aside, dann in die interdigitierte Divs zwischen den Artikeln.
aside, [class^='ad-region'] {
-webkit-flow-from: ads;
-ms-flow-from: ads;
}
In unserem Fall sind bei breiten Browserfensterbreiten die Asides groß genug, um sie alle aufzunehmen. Bei schmaleren Breiten verstecken wir die Asides über Media Queries und zwingen den Inhalt, in die Divs zu fließen.
[class^='ad-region'] {
display: none;
height: 155px;
width: 100%; /* Weird that this is required */
}
@media (max-width: 800px) {
[class^='ad-region'] {
display: block;
}
[class^='ad-region']:last-child {
height: 300px; /* I wish height auto worked */
}
aside {
display: none;
}
}
Semantik
Alsooo ja, wir haben einige leere Elemente, mit denen wir herumspielen. Nicht sehr semantisch. Ich bin mir auch nicht sicher, was das für die Barrierefreiheit bedeutet. Ich weiß nur, dass sich der DOM nicht verändert. Der gesamte Inhalt, egal wo er „fließt“, ist immer noch innerhalb der „Quelle“ (des Elements mit der flow-into-Eigenschaft).
Die Sache ist jedoch: **Regionen sind layoutstil-unabhängig**. Wir verwenden in diesem Beispiel immer noch Floats für das Layout, aber der verwendete Layoutstil spielt eigentlich keine Rolle. Regionen, die mit CSS Grids kombiniert werden, könnten viel mächtiger und semantischer sein (ich weiß es einfach nicht).
Browser-Unterstützung
CSS Regions wird in **Chrome 16 bis 20** ausgeliefert, dann unter der Flagge „Enable CSS Regions“ in 21-22 und jetzt unter der Flagge „Enable experimental WebKit features“ in Chrome 23+. Es funktioniert in **Safari 5.2** (verfügbar als Dev oder WebKit Nightly). Angeblich funktioniert es auch in IE 10, aber ich konnte es nicht zum Laufen bringen.
Demo & Download
Zu Ihrer Freude
Demo ansehen Dateien herunterladen
Bitte beachten Sie die oben genannte Browserunterstützung, sie ist sehr begrenzt.
Beachten Sie auch, dass bei einigen ziemlich breiten Browserfensterbreiten die Anzeigen im Aside abgeschnitten werden. Ich lasse es so, um zu veranschaulichen, wie Regionen nicht automatisch in der Höhe wachsen, Sie müssen sich selbst darum kümmern.
Browsererkennung
Dieses HTML und CSS wäre in einem Browser, der CSS-Regionen nicht unterstützt, ziemlich mies. Es gäbe diesen Block von Anzeigen zufällig am Ende der Seite. Stattdessen habe ich ein wenig JavaScript eingebaut (basierend auf diesem), um es zu testen und Klassen zum html-Element hinzuzufügen, die die Unterstützung widerspiegeln.
// Generic Testing Function
var supports = (function() {
var div = document.createElement('div'),
vendors = 'Khtml Ms O Moz Webkit'.split(' '),
len = vendors.length;
return function(prop) {
if (prop in div.style) return true;
prop = prop.replace(/^[a-z]/, function(val) {
return val.toUpperCase();
});
while (len--) {
if (vendors[len] + prop in div.style) {
return true;
}
}
return false;
};
})();
// Test
if ( supports('flowInto') ) {
$("html").addClass('cssregions');
} else {
$("html").addClass('no-cssregions');
}
Damit können wir Dinge tun, wie diese, um sicherzustellen, dass der Fallback in Ordnung ist.
#ad-source {
display: none;
}
.cssregions #ad-source {
display: block;
-webkit-flow-into: ads;
-ms-flow-into: ads;
}
Und auch den Inhalt des div#ad-source in den Aside kopieren, damit die Anzeigen dort zumindest bei den breitesten Browserfensterbreiten erscheinen.
- Navigieren Sie über die Adressleiste zu chrome://flags
- Wenn Sie Chrome 21 oder 22 verwenden, suchen Sie nach der Flagge „Enable CSS Regions“ und aktivieren Sie sie.
- Wenn Sie Chrome 23 oder neuer verwenden, suchen Sie nach der Flagge „Enable experimental WebKit features“ und aktivieren Sie sie.
- Starten Sie Ihren Browser neu, indem Sie unten links auf die Schaltfläche „Jetzt neu starten“ klicken.
Wenn Sie diesen Test zu Modernizr hinzufügen möchten, würden Sie Folgendes tun:
Modernizr.addTest('regions', Modernizr.testAllProps('flow-into'));
Hoffentlich wird das in zukünftigen Versionen als Option hinzugefügt.
Dinge, die besser sein könnten
- Ich wünschte, ich könnte Inhalte basierend darauf stylen, in welchen Container sie fließen. Das könnte problematisch sein, da ein anderer Stil in einem anderen Container zu einem Reflow führen könnte, der ihn aus diesem Container zurückdrängt und zu endlosen Schleifen führt, aber vielleicht gibt es dafür eine Lösung.
- Ich wünschte, Block-Level-Elemente würden Block-Level-Elemente bleiben, auch mit der
flow-from-Eigenschaft. Es ist seltsam, dass man ihnenwidth: 100%zuweisen muss. - Ich wünschte,
height: auto;würde bei der Region mit dem letzten geflossenen Inhalt funktionieren. Ich verstehe, dass die meisten Flussregionen das nicht können, da sie sich sonst einfach ausdehnen würden, um den gesamten Inhalt aufzunehmen und den Fluss nicht fortsetzen, aber die letzte Region sollte wissen, was sie übrig hat und sich natürlich ausdehnen können. - Ich wünschte, man könnte
flow-fromundflow-intoauf dasselbe Element anwenden. Auf diese Weise könnte ein semantisches Element die Quelle sein und nur wenn es schrumpft oder verschwindet, würden die anderen Regionen gefüllt.
Ich mag Websites, die alles in eine Spalte schieben, überhaupt nicht.
Mit dem Desktop-Layout (auf Mobilgeräten) kann ich einfach seitwärts scrollen, um zur Seitenavigation zu gelangen.
Mit „responsiv“ ist der Zoom kaputt und die Navigation ist weit weg, mit nur 100%-igem Scrollen verfügbar.
Bitte tun Sie nichts für Mobilgeräte! Ich mag Zoom!
Da stimme ich dir nicht ganz zu. Wenn Zoom auf mobilen Layouts deaktiviert ist, bedeutet das, dass der Designer die maximale Skalierung auf 1,0 gesetzt hat, was aus vielen Gründen schlecht ist, nicht zuletzt aus Gründen der Barrierefreiheit. Das Einzige, was es anscheinend behebt, ist die Geräteausrichtung.
Meine Website ist zum Beispiel vollständig responsiv, aber Text und alles andere kann immer noch gezoomt werden, weil ich denke, dass es wichtiger ist, zugänglich zu sein, als einem Benutzer das Drehen seines iPads zu ermöglichen. Schließlich können sie schnell herauszoomen und es ist behoben.
Ich stimme jedoch Ihrem Punkt zur Navigation zu. Vielleicht eine feste Navigationsleiste oder ein Ankerlink, der Sie zurück zum Anfang bringt, wäre etwas, das man sich ansehen könnte. Ich bin mir bewusst, dass iOS-Geräte dies für Sie tun, wenn Sie auf den Titelbereich oben tippen.
Das ist sehr aktuell für mich, da ich überlege, wie ich zwei Inhaltsspalten für ein kommendes Projekt zusammenführen werde.
Wie Sie richtig bemerken, fehlt es derzeit an Browserunterstützung für diese Methode, aber es ist eine, die man im Auge behalten sollte.
Die einzige Alternative, die mir derzeit einfällt, ist die dynamische Änderung von HTML mit jQuery bei verschiedenen Gerätebreiten. Insbesondere das Verschieben der Elemente von zwei Spalten in eine und dann die chronologische Sortierung. Eine reine CSS-Lösung wäre vorzuziehen.
Guter Beitrag!
Hallo Chris, mir gefällt der Artikel. Was Bildschirmleser angeht – da das DOM nicht neu geordnet wird, ist es wahrscheinlich gut, dass die Anzeigen ganz unten stehen?
Eine weitere Lösung könnte sein, die Anzeigen an beiden Stellen zu platzieren (Sidebar UND zwischen den Artikeln) und sie je nach Fensterbreite ein- oder auszublenden!
Das ist eine ziemlich geniale Umgehungslösung.
Ich stimme zu! Kluge Idee, aber es könnte ein Problem für Google sein, da es Ihre Inhalte mit Anzeigen bedeckt sehen könnte!
Ich kann mich irren, aber das ist nur mein Gefühl.
Bei Google Ads bin ich mir ziemlich sicher, dass Sie die Anzeigen nicht „verstecken“ dürfen. In den Nutzungsbedingungen steht das glaube ich.
Ich bevorzuge diese Lösung eigentlich. Und ich würde mir keine Sorgen machen, dass Google „eine Menge Anzeigen sieht“, denn die gesamte enthaltende Div erscheint gar nicht im resultierenden HTML (glaube ich). Somit wird Google nur ein Set von Anzeigen sehen.
Das größte Problem bei der Anzeigenschaltung und dem Ein-/Ausblenden ist die Analyse. Wenn Tools wie Omniture und Analytics zur Verfolgung von Anzeigen verwendet werden, ist eine versteckte Anzeige auf einer Seite sehr schlecht. Die meisten Tracking-Programme werden diese Anzeige als unterdurchschnittlich kennzeichnen, und sie sind noch nicht intelligent genug, um zwischen versteckten und sichtbaren Anzeigen zu unterscheiden.
Toller Beitrag, Chris! Ich persönlich bin sehr gespannt auf die Zukunft – eine breitere Implementierung davon, als reines CSS, wäre eine großartige Ergänzung für Websites mit Zweispalten-Setup.
Tolle Seite – es ist cool, das auszuprobieren. Aber das Content Folding funktioniert auf meinem Browser nicht zu 100%, weil die Bilder ausgeblendet werden, wenn die Seitenbreite kleiner als (vielleicht) 800px ist. Viele Grüße aus Deutschland
Ich habe versucht, dieses Problem schon früher anzugehen und habe mich schließlich für eine Kombination aus `float: left` und `float: right` Deklarationen entschieden.
http://jsfiddle.net/GL9sM/3/embedded/result/
Der Nachteil dieser Methode ist, dass ein Container nur so weit nach oben im Seitenlayout gehen kann, wie die Oberkante seines direkten Vorgängers reicht.
Ich mag die Zukunftsmöglichkeiten von Regionen, aber die Unterstützung ist einfach nicht da. Scheint nicht die Art von Ding zu sein, die als Fallback polyfilled werden sollte. Machen Sie es gleich von Anfang an in JavaScript.
Für WordPress… ich mag die Idee, eine Anzeige in die loop.php (oder content.php oder was auch immer) einzufügen und einen Artikel und eine Anzeige zu paaren. Dann lassen Sie die Dinge zu einer einzelnen Spalte fließen, wenn die Breite zu schmal wird. Es ist die „Anzeige am unteren Rand“-Lösung, aber pro Artikel. Und wir können es jetzt tun. Die beiden pro Artikel könnten auch funktionieren. Ich denke, ich werde es dieses Wochenende mit dem Theme eines Kunden versuchen… mal sehen, ob es ihm gefällt. Es sind keine Anzeigen, sondern Testimonials. Ich denke, es könnte gut funktionieren!
übrigens… „interdigitieren“ gibt 15 Punkte bei Scrabble.
Um Joe's Idee zu erweitern, können Sie Ihr Anzeigen-Faltungsbeispiel mit Floats und einer Media Query nachbilden: http://jsfiddle.net/ympKa/embedded/result/
Schön! Das ist genau die HTML-Struktur, die ich im „Loop“ in WordPress bearbeiten möchte, um sie auszugeben.
Danke! Diese Lösung ist es, zu der ich schließlich gelangt bin: die Kombination aus `float: right/left` Deklarationen und Media Queries, um bei Erreichen eines Schwellenwerts zu einer einzelnen Spalte zu springen. Ich bin nur kein Fan von der Lücke, die zwischen den Anzeigencontainern entsteht, wenn die Höhe des ersten Artikels größer ist als die Höhe der ersten beiden Anzeigen. Ich habe keine Lösung dafür gefunden… Gedanken wären willkommen!
WOW.
Das ist fantastisch! Danke fürs Teilen!
Wenn ich meinen Bildschirm verkleinere, verschwinden die Anzeigen einfach. Das ist AWESOME!!!!
Ich wünschte, es wäre so einfach, Anzeigen im Fernsehen loszuwerden : )
Niemand möchte seinen Fernseher schrumpfen :)
Wie üblich, großartig
WTF?! oO
Chris Coyier, der Held von CSS!
Ihre Kommentarvorschau ist ein perfektes Beispiel dafür, wie man die Aufmerksamkeit auf Dinge lenkt, die unwichtig sind. Sicher, es ist ein netter kleiner Trick, aber er verlangsamt die Eingabe des Benutzers auf Schneckentempo.
Bezüglich des Artikels…
1.) Die meisten Ihrer Zuschauer sind Nerds, deren Bildschirmauflösung groß genug ist, um zwei Spalten unterzubringen.
2.) Die meisten Ihrer Zuschauer sind Nerds, die Ad Block Plus laufen haben.
3.) Die meisten Leute sitzen nicht da und verkleinern das Browserfenster, um zu sehen, was passiert.
Übersehe ich hier etwas? Alle drei Ihrer Punkte sind ungültig. Der Hauptzweck dieses Artikels (wie auch fast aller Artikel auf dieser Website) ist es, Techniken mit anderen Entwicklern zu teilen, die sie in ihren eigenen Projekten verwenden können; er ist nicht speziell für css-tricks.com zugeschnitten.
Sehr geehrter Jimmy, bezüglich dieses Artikels, er ist nicht für die Browser von Nerds gedacht. :) Er ist für uns, die wir für Kunden bauen, die eine Vielzahl von Bildschirmgrößen haben (nicht weil sie sie verkleinern). Wir, die wir Kunden haben, die keine Anzeigen blockieren…
Es ist ein Experiment an einer kreativen Lösung zur Anpassung an Bildschirmauflösungen – zusammen mit dem Spiel mit der Quellreihenfolge usw. Es ist keine perfekte Lösung (gibt es noch keine), aber ich persönlich begrüße die Experimente und den Austausch. Danke Chris!
(Ich bin mir nicht sicher, was mit Ihrem Browser bei der Kommentarvorschau passiert, aber ich werde in Chrome nicht verlangsamt.)
Schönes Wochenende! :)
Vielen Dank,
Ich wusste nichts von „flow-into“ einem div
Ich verstehe das Caret und die Klammern in „[class^=’ad-region’]“ nicht. Kann mir jemand die Notation erklären und wie sie verwendet wird?
Wählen Sie alle Elemente aus, deren Klassenattribut mit
ad-regionbeginnt. Das bedeutet:ad-region-1.ad-region-2,ad-region-3,ad-region-wow.Danke. Ergibt jetzt Sinn; aus irgendeinem Grund wollte es vorher nicht einleuchten.
CSS-Regionen scheinen der perfekte Weg zu sein, um die Semantik meiner Meinung nach zu brechen.
Für dieses spezielle Beispiel, d.h. Anzeigen (da sie generell eine feste Höhe haben), würde ich empfehlen, sie im Markup zu verschachteln und dann absolute Positionierung zu verwenden, um sie auf der Seitenleiste zu verschieben, wenn sie auf breiteren Geräten sind.
Dies ist im Grunde die Lösung, zu der ich für ein kürzlich abgeschlossenes Projekt kam – es funktionierte einigermaßen gut, kann aber für Websites mit zahlreichen/komplexen Vorlagen etwas problematisch sein.
Guter Artikel, ich liebe es, neue Ideen zur Bewältigung dieses Problems zu sehen.
Aus kommerzieller Sicht
Es wird schwierig sein, die Größenänderung von Anzeigen wie dieser einem Kunden zu rechtfertigen. Wenn Sie einem Kunden einen 300x250er Adblock verkaufen, muss dieser bei allen responsiven Folds/Layouts 300x250 bleiben. Diesen Zoom-Option einem Geschäftsinvestor zu verkaufen, erfordert erhebliche Verkaufsfähigkeiten.
Ich denke, Leaderboards wären das größte Problem. Die einzige Lösung, die ich sehe, ist, die gesamte Anzeige durch eine Version mit anderen Abmessungen bei niedrigeren Auflösungen zu ersetzen.
_jin
Danke für das Tutorial :)
Wirklich schöne Umgehungslösung.
Peter Avey
Ich habe kein großes Problem mit den Platzhalter-Divs in Bezug auf Bildschirmleser. Sie können sie natürlich mit JavaScript einfügen, aber das W3C besagt (HTML4-Spezifikation; konnte nichts in der HTML5-Spezifikation finden)
„Wir raten Autoren von leeren P-Elementen ab. User Agents sollten leere P-Elemente ignorieren.“
Tags sollen Kontext für Inhalte liefern. Nach dieser Logik stelle ich mir vor, dass ein leeres Tag wie ein Satz ohne Worte ist.
Ich stimme Matthew Balaam zu.
Trotzdem, danke für dieses Tutorial!!
Das sind gute Sachen. Und das Beispiel funktioniert genauso gut für Calls-to-Action wie für Anzeigen.
Ooh, das gefällt mir! Funktioniert gut in Chrome 17.
Die Anzeigen erscheinen aber weder in IE8 noch in Firefox.
Sehr cool! Danke für diese CSS3 Tricks.
Hallo – toller Artikel! Ich bin Group Product Manager für das Web Platform Team bei Adobe und wollte Ihnen ein kurzes Update zu den Dingen geben, die Sie sich mit CSS Regions besser wünschen würden, da sie bereits in Arbeit sind :)
-Styling: Wir haben einen Plan, dies zu unterstützen und hoffen sogar, ein Update auf dem CSS Face-2-Face Working Group Meeting im Mai zu teilen. Behalten Sie unseren Blog (blogs.adobe.com/webplatform) für Updates zur Implementierung und Syntax für Styling-Regionen im Auge.
-Block-Level-Elemente & Setzen von width auf 100%: Dies ist tatsächlich ein Fehler in der Implementierung – für Blöcke im normalen Fluss sollte width:auto für die regulären Blöcke auf 100% berechnet werden. Für Blöcke, die eine Schrumpfpackung erfordern, haben wir gerade einen Implementierungsansatz für diesen Fall vereinbart. Bleiben Sie dran für diese Fixes, die in den nächsten Wochen kommen werden.
-Setzen von height:auto: Dies ist ebenfalls etwas, woran wir derzeit arbeiten und werden nach dem F2F WG-Meeting im Mai ein Update veröffentlichen. Auch hier werden wir nach dem Mai ein Update in unserem Blog posten. Sie können hier etwas mehr über den vorgeschlagenen Ansatz lesen: http://wiki.csswg.org/spec/css3-regions/auto-height
-flow-from und flow-into auf dasselbe Element: Nach einigen internen Diskussionen haben die Ingenieure bestätigt, dass dies tatsächlich funktionieren sollte, da die Spezifikation und die Implementierung dies zulassen. Es ist für die kommenden Wochen geplant.
Tolle Neuigkeiten, danke für das Update.
Glücklicherweise ist Chrome so gut aktualisiert, dass wir uns dort keine Sorgen über ältere problematische Implementierungen machen müssen.
Es ist jedoch in Safari 5.2 enthalten, das leider eine ziemlich lange Lebensdauer haben könnte. Ach, na ja.
Ich werde dies in einem bevorstehenden WebDev-Kurs ausprobieren. Sieht nach einer großartigen Lösung aus.
Ich war mir nicht sicher, ob es eine legitime Verwendung von CSS-Regionen geben könnte – all diese Demos von absolut positionierten Containern auf Bildern – aber das ist ziemlich cool. Es gibt ein gutes Abstraktionsniveau zwischen Inhalt und Präsentation, aber die leeren DOM-Knoten werden viele Puristen erschauern lassen – hat jemand getestet, ob Reflow mit Pseudo-Elementen funktioniert?
Ja, ja können sie…
Danke, wie immer
Ich stimme Matthew Balaam einfach zu. Trotzdem, danke für dieses Tutorial!!
Ein sehr guter Punkt. Ich stelle mir auch vor, dass diejenigen, die Anzeigen auf unseren Websites haben, nicht begeistert sind, dass diese immer vom Premium-Platz oben in der Seitenleiste nach unten geschoben werden, sobald es eng wird, also ist das ziemlich süß.
Sehr clevere und perfekte Lösung für responsives Design. Ich liebe CSS Region. Jetzt warte ich auf die Browserunterstützung ;D
Entschuldigung, aber ich habe eine Frage zur Implementierung von beidem. Nehmen wir an, Sie haben eine Website mit einer Spalte von Nachrichtenfeeds auf der rechten Seite, aber die Nachrichtenfeeds sind mehr als das, was sich auf der mittleren Seite befindet. Nun, gibt es eine Möglichkeit, einige der Nachrichtenfeeds automatisch unter die mittlere Seite zu verschieben, bis Sie mehr Text zur mittleren Seite hinzufügen, dann würden die Nachrichtenfeeds wieder auf die rechte Spalte zurückkehren? CSS natürlich.
Hallo, es ist in der Tat wunderbar. Aber ich habe Probleme, es in Abschnitte innerhalb von Bootstrap Tabs zu integrieren. Es funktioniert für den aktiven Tab, aber nach dem Klicken auf einen anderen Tab ist es nicht gelungen. Jede Hilfe wäre sehr willkommen!