Ich habe mich gefragt, ob jemand erklären kann, wie ich 7 gleiche Spalten im Bootstrap erhalten kann. Ich versuche einen Kalender zu erstellen. Dieser Code scheint 5 zu tun:
div class="row">
<div class="col-md-2 col-md-offset-1"></div>
<div class="col-md-2"></div>
<div class="col-md-2"></div>
<div class="col-md-2"></div>
<div class="col-md-2"></div>
</div>
Mein Hauptinhalt hat die folgende Klasse, daher möchte ich, dass die 7 Spalten darin enthalten sind:
col-lg-12
Kann mir jemand erklären, ob dies möglich ist oder ob ich mich stattdessen an gerade Zahlen halten muss?
<title>
von Stackoverflow für diesen Beitrag generierte lautet: "jquery - 7 gleiche Spalten im Bootstrap - Stack Overflow" .Antworten:
Nun, IMO müssen Sie wahrscheinlich
width
die Spalten mithilfe der CSS3-@media
Abfrage überschreiben .Hier ist mein Versuch, ein 7-Spalten-Rastersystem zu erstellen:
<div class="container"> <div class="row seven-cols"> <div class="col-md-1">Col 1</div> <div class="col-md-1">Col 2</div> <div class="col-md-1">Col 3</div> <div class="col-md-1">Col 4</div> <div class="col-md-1">Col 5</div> <div class="col-md-1">Col 6</div> <div class="col-md-1">Col 7</div> </div> </div>
@media (min-width: 768px){ .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { width: 100%; *width: 100%; } } @media (min-width: 992px) { .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { width: 14.285714285714285714285714285714%; *width: 14.285714285714285714285714285714%; } } /** * The following is not really needed in this case * Only to demonstrate the usage of @media for large screens */ @media (min-width: 1200px) { .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { width: 14.285714285714285714285714285714%; *width: 14.285714285714285714285714285714%; } }
Der Wert von
width
kommt von:width = 100% / 7 column-number = 14.285714285714285714285714285714%
ARBEITSDEMO - ( jsbin )
Führen Sie das Code-Snippet aus und klicken Sie auf "Ganze Seite".
Code-Snippet anzeigen
.col-md-1 { background-color: gold; } @media (min-width: 768px){ .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { width: 100%; *width: 100%; } } @media (min-width: 992px) { .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { width: 14.285714285714285714285714285714%; *width: 14.285714285714285714285714285714%; } } @media (min-width: 1200px) { .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { width: 14.285714285714285714285714285714%; *width: 14.285714285714285714285714285714%; } }
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet"/> <div class="container"> <div class="row seven-cols"> <div class="col-md-1">Col 1</div> <div class="col-md-1">Col 2</div> <div class="col-md-1">Col 3</div> <div class="col-md-1">Col 4</div> <div class="col-md-1">Col 5</div> <div class="col-md-1">Col 6</div> <div class="col-md-1">Col 7</div> </div> </div>
Andere Optionen
Sie können auch Ihre eigene 7-Spalten-Version von Twitter Bootstrap erstellen, indem Sie den benutzerdefinierten Builder verwenden (Ändern der
@grid-columns
, ...).Wenn Sie weniger Compiler verwenden, können Sie die weniger Version von Twitter Bootstrap (von Github ) herunterladen und stattdessen die
variables.less
Datei bearbeiten .quelle
@media (max-width: 768px)
Set hinzufügenwidth = 100%
und@media (min-width: 768px)
mit einem verlassenwidth = 50%
.Eine fast gleichwertige , schnelle Lösung. Ohne benutzerdefinierte CSS.
.cell { border: 1px solid black; text-align: center; flex-basis: 33.3333%; flex-grow: 0; flex-shrink: 0; -webkit-box-flex: 0; -webkit-tap-highlight-color: #0000; }
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/> <div class="row"> <div class="col-md-4"> <div class="row"> <div class="col-md-4"></div> <!-- this column empty --> <div class="col-md-4 cell"> 1 </div> <div class="col-md-4 cell"> 2 </div> </div> </div> <div class="col-md-8"> <div class="row"> <div class="col-md-2 cell"> 3 </div> <div class="col-md-2 cell"> 4 </div> <div class="col-md-2 cell"> 5 </div> <div class="col-md-2 cell"> 6 </div> <div class="col-md-2 cell"> 7 </div> <div class="col-md-2"></div> <!-- this column empty --> </div> </div> </div>
quelle
Ein Upgrade auf Bootstrap 4 ist wahrscheinlich eine gute Option.
Kommt mit einer Klasse col für Spalten gleicher Breite
<div class="row"> <div class="col"></div> <div class="col"></div> <div class="col"></div> <div class="col"></div> <div class="col"></div> <div class="col"></div> <div class="col"></div> </div>
https://v4-alpha.getbootstrap.com/layout/grid/#equal-width
Tipps: Wenn Sie Spalten in neuen Zeilen unterbrechen möchten, wenn der Bildschirm kleiner als md ist, fügen Sie dieses Div nach jeder Spalte hinzu:
<div class='w-100 d-md-none'></div>
.w-100 bricht in eine neue Zeile und .d-md-done verbirgt das div auf Bildschirmen, die breiter als md sind
Also würde es geben:
<div class="row"> <div class="col"></div> <div class='w-100 d-md-none'></div> <div class="col"></div> <div class='w-100 d-md-none'></div> <div class="col"></div> <div class='w-100 d-md-none'></div> <div class="col"></div> <div class='w-100 d-md-none'></div> <div class="col"></div> <div class='w-100 d-md-none'></div> <div class="col"></div> <div class='w-100 d-md-none'></div> <div class="col"></div> </div>
quelle
Ich wollte eine genauere Lösung dafür, also habe ich einen speziellen Zeilen- / Spaltenklassensatz erstellt (semantisch an das Konzept eines Kalenders gebunden).
Dies reißt die Art und Weise ab, wie Bootstrap das Basisgitter (in
grid-framework.less
) erstellt. Es behält diexs
,sm
,md
undlg
Klassen für das Raster in verschiedenen Ansichtsfenstern anpassen.Hinweis: Dies beinhaltet nur das Raster-Styling. Sie müssen den Rest noch schreiben, damit er tatsächlich wie ein Kalender aussieht .
Das Markup
<div class="row"> <div class="col-xs-7"> <div class="calendar"> <div class="calendar-row"> <div class="calendar-xs-1">Sunday</div> <div class="calendar-xs-1">Monday</div> <div class="calendar-xs-1">Tuesday</div> <div class="calendar-xs-1">Wednesday</div> <div class="calendar-xs-1">Thursday</div> <div class="calendar-xs-1">Friday</div> <div class="calendar-xs-1">Saturday</div> </div> </div> </div> <div class="col-xs-5"> This container intentionally left blank. </div> </div>
Das
.less
/* * Calendar grid */ @calendar-columns: 7; @calendar-gutter-width: 0px; .make-calendar-columns() { // Common styles for all sizes of calendar columns, widths 1-12 .cal(@index) when (@index = 1) { // initial @item: ~".calendar-xs-@{index}, .calendar-sm-@{index}, .calendar-md-@{index}, .calendar-lg-@{index}"; .cal((@index + 1), @item); } .cal(@index, @list) when (@index =< @calendar-columns) { // general; "=<" isn't a typo @item: ~".calendar-xs-@{index}, .calendar-sm-@{index}, .calendar-md-@{index}, .calendar-lg-@{index}"; .cal((@index + 1), ~"@{list}, @{item}"); } .cal(@index, @list) when (@index > @calendar-columns) { // terminal @{list} { position: relative; // Prevent columns from collapsing when empty min-height: 1px; // Inner gutter via padding padding-left: (@calendar-gutter-width / 2); padding-right: (@calendar-gutter-width / 2); } } .cal(1); // kickstart it } .float-calendar-columns(@class) { .cal(@index) when (@index = 1) { // initial @item: ~".calendar-@{class}-@{index}"; .cal((@index + 1), @item); } .cal(@index, @list) when (@index =< @calendar-columns) { // general @item: ~".calendar-@{class}-@{index}"; .cal((@index + 1), ~"@{list}, @{item}"); } .cal(@index, @list) when (@index > @calendar-columns) { // terminal @{list} { float: left; } } .cal(1); // kickstart it } .calc-calendar-column(@index, @class, @type) when (@type = width) and (@index > 0) { .calendar-@{class}-@{index} { width: percentage((@index / @calendar-columns)); } } .calc-calendar-column(@index, @class, @type) when (@type = push) and (@index > 0) { .calendar-@{class}-push-@{index} { left: percentage((@index / @calendar-columns)); } } .calc-calendar-column(@index, @class, @type) when (@type = push) and (@index = 0) { .calendar-@{class}-push-0 { left: auto; } } .calc-calendar-column(@index, @class, @type) when (@type = pull) and (@index > 0) { .calendar-@{class}-pull-@{index} { right: percentage((@index / @calendar-columns)); } } .calc-calendar-column(@index, @class, @type) when (@type = pull) and (@index = 0) { .calendar-@{class}-pull-0 { right: auto; } } .calc-calendar-column(@index, @class, @type) when (@type = offset) { .calendar-@{class}-offset-@{index} { margin-left: percentage((@index / @calendar-columns)); } } // Basic looping in LESS .loop-calendar-columns(@index, @class, @type) when (@index >= 0) { .calc-calendar-column(@index, @class, @type); // next iteration .loop-calendar-columns((@index - 1), @class, @type); } // Create grid for specific class .make-calendar(@class) { .float-calendar-columns(@class); .loop-calendar-columns(@grid-columns, @class, width); .loop-calendar-columns(@grid-columns, @class, pull); .loop-calendar-columns(@grid-columns, @class, push); .loop-calendar-columns(@grid-columns, @class, offset); } // Row // // Rows contain and clear the floats of your columns. .calendar-row { .make-row(@calendar-gutter-width); } // Columns // // Common styles for small and large grid columns .make-calendar-columns(); // Extra small grid // // Columns, offsets, pushes, and pulls for extra small devices like // smartphones. .make-calendar(xs); // Small grid // // Columns, offsets, pushes, and pulls for the small device range, from phones // to tablets. @media (min-width: @screen-sm-min) { .make-calendar(sm); } // Medium grid // // Columns, offsets, pushes, and pulls for the desktop device range. @media (min-width: @screen-md-min) { .make-calendar(md); } // Large grid // // Columns, offsets, pushes, and pulls for the large desktop device range. @media (min-width: @screen-lg-min) { .make-calendar(lg); }
quelle
Nach der Antwort von Antony Gibbs können Sie einfach die CSS- Klasse Boostrap 4 " col " verwenden:
<div class="row"> <div class="col">Mon</div> <div class="col">Tue</div> <div class="col">Wen</div> <div class="col">Thu</div> <div class="col">Fri</div> <div class="col">Sat</div> <div class="col">Sun</div> </div>
Sie benötigen Bootstrap 4 nicht unbedingt, Sie können die CSS-Deklarationen von BS4 jederzeit einfach in Ihr eigenes Stylesheet kopieren.
/* Equal width */ .col { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } /* Add gutters */ .col { position: relative; width: 100%; min-height: 1px; padding-right: 15px; padding-left: 15px; }
Dies hat den Vorteil, dass Sie nach der Migration BS4-fähig sind, und es besteht auch die Möglichkeit, 5, 7, 9 oder 11 Spalten zu verwenden.
https://getbootstrap.com/docs/4.0/layout/grid/#equal-width
quelle
Ihr Problem hierbei ist, dass Sie eine ungerade Anzahl von Spalten haben und daher keine Symmetrie erreichen können. Da jede Spalte ein Wochentag ist, kann man sagen, dass alle Wochentage die
col-md-2
Klasse haben und die anderen beiden diecol-md-1
Klasse haben.Dieser Ansatz basiert auf der Annahme, dass Samstag und Sonntag weniger Platz benötigen, aber ich weiß nicht, ob dies in Ihr Szenario passt.
<div class="row"> <div class="col-md-2">Mon</div> <div class="col-md-2">Tue</div> <div class="col-md-2">Wen</div> <div class="col-md-2">Thu</div> <div class="col-md-2">Fri</div> <div class="col-md-1">Sat</div> <div class="col-md-1">Sun</div> </div> <div class="row"> <div class="col-md-2">1</div> <div class="col-md-2">2</div> <div class="col-md-2">3</div> <div class="col-md-2">4</div> <div class="col-md-2">5</div> <div class="col-md-1">6</div> <div class="col-md-1">7</div> </div>
Eine Demo ist da
quelle
@Brad Ihre Antwort war brillant und elegant, ich habe sie für diejenigen, die Sass verwenden, leicht modifiziert. Bitte beachten Sie, dass die Kommentare im Code nicht von mir stammen, sondern lediglich aus der Github-Bootstrap-Codebasis stammen. Ich habe sie als Referenz intakt gelassen.
HTML
<div class="row"> <div class="col-xs-12"> <div class="calendar"> <div class="calendar-row header"> <div class="calendar-xs-1">Sunday</div> <div class="calendar-xs-1">Monday</div> <div class="calendar-xs-1">Tuesday</div> <div class="calendar-xs-1">Wednesday</div> <div class="calendar-xs-1">Thursday</div> <div class="calendar-xs-1">Friday</div> <div class="calendar-xs-1">Saturday</div> </div> </div> </div> </div>
SASS
// Calendar grid generation // $calendar-columns: 7; $calendar-gutter-width: $grid-gutter-width; // [converter] This is defined recursively in LESS, but Sass supports real loops @mixin make-calendar-columns() { $list: ''; $i: 1; $list: ".calendar-xs-#{$i}, .calendar-sm-#{$i}, .calendar-md-#{$i}, .calendar-lg-#{$i}"; @for $i from (1 + 1) through $calendar-columns { $list: "#{$list}, .calendar-xs-#{$i}, .calendar-sm-#{$i}, .calendar-md-#{$i}, .calendar-lg-#{$i}"; } #{$list} { position: relative; // Prevent columns from collapsing when empty min-height: 1px; // Inner gutter via padding padding-left: ($calendar-gutter-width / 2); padding-right: ($calendar-gutter-width / 2); } } // [converter] This is defined recursively in LESS, but Sass supports real loops @mixin float-calendar-columns($class) { $list: ''; $i: 1; $list: ".calendar-#{$class}-#{$i}"; @for $i from (1 + 1) through $calendar-columns { $list: "#{$list}, .calendar-#{$class}-#{$i}"; } #{$list} { float: left; } } @mixin calc-calendar-column($index, $class, $type) { @if ($type == width) and ($index > 0) { .calendar-#{$class}-#{$index} { width: percentage(($index / $calendar-columns)); } } @if ($type == push) and ($index > 0) { .calendar-#{$class}-push-#{$index} { left: percentage(($index / $calendar-columns)); } } @if ($type == push) and ($index == 0) { .calendar-#{$class}-push-0 { left: auto; } } @if ($type == pull) and ($index > 0) { .calendar-#{$class}-pull-#{$index} { right: percentage(($index / $calendar-columns)); } } @if ($type == pull) and ($index == 0) { .calendar-#{$class}-pull-0 { right: auto; } } @if ($type == offset) { .calendar-#{$class}-offset-#{$index} { margin-left: percentage(($index / $calendar-columns)); } } } // [converter] This is defined recursively in LESS, but Sass supports real loops @mixin loop-calendar-columns($calendar-columns, $class, $type) { @for $i from 0 through $calendar-columns { @include calc-calendar-column($i, $class, $type); } } // Create grid for specific class @mixin make-calendar($class) { @include float-calendar-columns($class); @include loop-calendar-columns($calendar-columns, $class, width); @include loop-calendar-columns($calendar-columns, $class, pull); @include loop-calendar-columns($calendar-columns, $class, push); @include loop-calendar-columns($calendar-columns, $class, offset); } // Row // // Rows contain and clear the floats of your columns. .row { @include make-row($calendar-gutter-width); } // Columns // // Common styles for small and large grid columns @include make-calendar-columns(); // Extra small grid // // Columns, offsets, pushes, and pulls for extra small devices like // smartphones. @include make-calendar(xs); // Small grid // // Columns, offsets, pushes, and pulls for the small device range, from phones // to tablets. @media (min-width: $screen-sm-min) { @include make-calendar(sm); } // Medium grid // // Columns, offsets, pushes, and pulls for the desktop device range. @media (min-width: $screen-md-min) { @include make-calendar(md); } // Large grid // // Columns, offsets, pushes, and pulls for the large desktop device range. @media (min-width: $screen-lg-min) { @include make-calendar(lg); }
quelle
Ich habe es auf einfache Weise gelöst. Ich habe nur eine Gruppe von Bootstraps mit gerechtfertigten Schaltflächen verwendet, nur 7 begründete Schaltflächen, aber anstelle der eigentlichen Schaltfläche habe ich span im Schaltflächencontainer div verwendet und die unnötigen Klassen neutralisiert. es sieht so aus (es war auch für einen Wochenkalender)
<div class="col-xs-12"> <div class="btn-group btn-group-justified" role="group" aria-label="..."> <div class="btn-group day" role="group"> <div class="btn btn-default nopadding nocurs"> <span class="day">אי</span> <span class="day">26/06</span> <div class="status">פנוי</div> </div> </div> <div class="btn-group day" role="group"> <div class="btn btn-default nopadding nocurs"> <span class="day">בי</span> <span class="day">27/06</span> <div class="status closed">מלה</div> </div> </div> <div class="btn-group day" role="group"> <div class="btn btn-default nopadding nocurs"> <span class="day">גי</span> <span class="day">28/06</span> <div class="status">פנוי</div> </div> </div> <div class="btn-group day" role="group"> <div class="btn btn-default nopadding nocurs"> <span class="day">די</span> <span class="day">29/06</span> <div class="status closed">מלה</div> </div> </div> <div class="btn-group day" role="group"> <div class="btn btn-default nopadding nocurs"> <span class="day">הי</span> <span class="day">30/06</span> <div class="status closed">מלה</div> </div> </div> <div class="btn-group day" role="group"> <div class="btn btn-default nopadding"> <span class="day">שי</span> <span class="day">31/06</span> <div class="status">פנוי</div> </div> </div> </div> </div>
quelle
Nur für den Fall, dass Sie eine 2/7 oder 3/7 Spalte möchten und WENIGER CSS für Ihre Entwicklung verwenden. Referenz: https://gist.github.com/kanakiyajay/15e4fc98248956614643
HTML
<div class="seven-cols"> <div class="col-md-1"></div> <div class="col-md-1"></div> <div class="col-md-3"></div> <div class="col-md-1"></div> <div class="col-md-1"></div> </div>
WENIGER
/* CSS for 7 column responsive -------------------------------------------------- */ @media (min-width: 768px){ .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1, .seven-cols .col-md-2, .seven-cols .col-sm-2, .seven-cols .col-lg-2, .seven-cols .col-md-3, .seven-cols .col-sm-3, .seven-cols .col-lg-3 { width: 100%; *width: 100%; } } @media (min-width: 992px) { .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { width: 100%*(1/7); *width: 100%*(1/7); } .seven-cols .col-md-2, .seven-cols .col-sm-2, .seven-cols .col-lg-2 { width: 100%*(2/7); *width: 100%*(2/7); } .seven-cols .col-md-3, .seven-cols .col-sm-3, .seven-cols .col-lg-3 { width: 100%*(3/7); *width: 100%*(3/7); } }
quelle
Sie müssen ein 12-Spalten-Bootstrap-Layout in 7 gleiche Teile teilen. Wenn Sie das CSS-Layout ändern, treten dieselben Probleme auf, wenn Sie beispielsweise einen Bildschirm mit einem 14-Spalten-Layout in 13 gleiche Teile aufteilen.
Wenn Sie das Spaltenlayout ändern, werden Sie außerdem häufig neu gestaltet. Daher würde ich vorschlagen, dass Sie stattdessen Tabelle verwenden. So was
<div class='container-fuid'> <table class='table'> <!-- add style="table-layout:fixed;" so that table do not vary in width due to text size variations --> <tr> <td>Content</td> <td>Content</td> <td>Content</td> <td>Content</td> <td>Content</td> <td>Content</td> <td>Content</td> <td>Content</td> </tr> </table> </div>
Hat den gleichen Effekt wie die Spalten, ist jedoch von Fall zu Fall schneller, wenn Sie eine beliebige Anzahl gleicher Blöcke benötigen, um programmgesteuert von PHP oder auf andere Weise auf dem Bildschirm gedruckt zu werden.
Wie in einer Prozessablaufanzeige kann das folgende Skript eine Vorstellung davon geben, wie ein Standardbildschirm mit 12 Spalten in beliebig viele Spalten / Anzeigeeinheiten unterteilt werden kann:
$cols = 15; /* arbitary number of columns */ /* generate data array */ $data_array = array(); for($i=0 ; $i<$cols ; $i++){ $data_array[] = 'Value : '.$i ; } /* use the array to get the screen in that many columns */ echo "<div class='container'>"; echo "<table class='table'>"; echo "<tr>"; foreach($data_array as $key => $value){ echo "<td>".$value."</td>"; } echo "</tr>"; echo "</table>"; echo "</div>";
quelle
Wenn Sie nicht 100% der Breite verwenden müssen, können Sie Ihre Spalte in 9 gleiche Teile teilen und nur die darin enthaltenen verwenden:
<div class="row" style="border: solid 1px black; height: 200px;"> <div class="col-md-4"> <div class="row"> <div class="col-md-4 col-md-offset-4" id="Col1" style="border: solid 1px black; height: 200px;"></div> <div class="col-md-4" id="Col2" style="border: solid 1px black; height: 200px;"></div> </div> </div> <div class="col-md-4"> <div class="row"> <div class="col-md-4" id="Col3" style="border: solid 1px black; height: 200px;"></div> <div class="col-md-4" id="Col4" style="border: solid 1px black; height: 200px;"></div> <div class="col-md-4" id="Col5" style="border: solid 1px black; height: 200px;"></div> </div> </div> <div class="col-md-4"> <div class="row"> <div class="col-md-4" id="Col6" style="border: solid 1px black; height: 200px;"></div> <div class="col-md-4" id="Col7" style="border: solid 1px black; height: 200px;"></div> </div> </div> </div>
quelle
Sie verwenden Bootstrap bereits. Wenn Sie mit SCSS vertraut sind, können Sie eines der vorhandenen Mixins von Bootstrap nutzen, um ein benutzerdefiniertes 7-Spalten-Rastersystem mit Klassen zu erstellen, die auf einen bestimmten Container beschränkt sind.
my_custom_app.scss:
//include bootstrap SCSS (for variables and mixins) @import '../node_modules/bootstrap/scss/bootstrap'; //overwrite 2 bootstrap variables $grid-columns: 7; $grid-gutter-width: 4px; //define your custom container #task_week { //call bootstrap's mixin @include make-grid-columns(); }
Wenn Sie my_custom_app.scss kompilieren, generiert das Mixin automatisch alle
col-x
Klassen, die Sie in der resultierenden CSS-Datei benötigen, die ich hier in ihrer Gesamtheit für schwache Nerven aufgenommen habe:#task_week {} #task_week .col-1, #task_week .col-2, #task_week .col-3, #task_week .col-4, #task_week .col-5, #task_week .col-6, #task_week .col-7, #task_week .col-8, #task_week .col-9, #task_week .col-10, #task_week .col-11, #task_week .col-12, #task_week .col, #task_week .col-auto, #task_week .col-sm-1, #task_week .col-sm-2, #task_week .col-sm-3, #task_week .col-sm-4, #task_week .col-sm-5, #task_week .col-sm-6, #task_week .col-sm-7, #task_week .col-sm-8, #task_week .col-sm-9, #task_week .col-sm-10, #task_week .col-sm-11, #task_week .col-sm-12, #task_week .col-sm, #task_week .col-sm-auto, #task_week .col-md-1, #task_week .col-md-2, #task_week .col-md-3, #task_week .col-md-4, #task_week .col-md-5, #task_week .col-md-6, #task_week .col-md-7, #task_week .col-md-8, #task_week .col-md-9, #task_week .col-md-10, #task_week .col-md-11, #task_week .col-md-12, #task_week .col-md, #task_week .col-md-auto, #task_week .col-lg-1, #task_week .col-lg-2, #task_week .col-lg-3, #task_week .col-lg-4, #task_week .col-lg-5, #task_week .col-lg-6, #task_week .col-lg-7, #task_week .col-lg-8, #task_week .col-lg-9, #task_week .col-lg-10, #task_week .col-lg-11, #task_week .col-lg-12, #task_week .col-lg, #task_week .col-lg-auto, #task_week .col-xl-1, #task_week .col-xl-2, #task_week .col-xl-3, #task_week .col-xl-4, #task_week .col-xl-5, #task_week .col-xl-6, #task_week .col-xl-7, #task_week .col-xl-8, #task_week .col-xl-9, #task_week .col-xl-10, #task_week .col-xl-11, #task_week .col-xl-12, #task_week .col-xl, #task_week .col-xl-auto, #task_week .col-1, #task_week .col-2, #task_week .col-3, #task_week .col-4, #task_week .col-5, #task_week .col-6, #task_week .col-7, #task_week .col, #task_week .col-auto, #task_week .col-sm-1, #task_week .col-sm-2, #task_week .col-sm-3, #task_week .col-sm-4, #task_week .col-sm-5, #task_week .col-sm-6, #task_week .col-sm-7, #task_week .col-sm, #task_week .col-sm-auto, #task_week .col-md-1, #task_week .col-md-2, #task_week .col-md-3, #task_week .col-md-4, #task_week .col-md-5, #task_week .col-md-6, #task_week .col-md-7, #task_week .col-md, #task_week .col-md-auto, #task_week .col-lg-1, #task_week .col-lg-2, #task_week .col-lg-3, #task_week .col-lg-4, #task_week .col-lg-5, #task_week .col-lg-6, #task_week .col-lg-7, #task_week .col-lg, #task_week .col-lg-auto, #task_week .col-xl-1, #task_week .col-xl-2, #task_week .col-xl-3, #task_week .col-xl-4, #task_week .col-xl-5, #task_week .col-xl-6, #task_week .col-xl-7, #task_week .col-xl, #task_week .col-xl-auto { position: relative; width: 100%; min-height: 1px; padding-right: 2px; padding-left: 2px; } #task_week .col { flex-basis: 0; flex-grow: 1; max-width: 100%; } #task_week .col-auto { flex: 0 0 auto; width: auto; max-width: none; } #task_week .col-1 { flex: 0 0 14.2857142857%; max-width: 14.2857142857%; } #task_week .col-2 { flex: 0 0 28.5714285714%; max-width: 28.5714285714%; } #task_week .col-3 { flex: 0 0 42.8571428571%; max-width: 42.8571428571%; } #task_week .col-4 { flex: 0 0 57.1428571429%; max-width: 57.1428571429%; } #task_week .col-5 { flex: 0 0 71.4285714286%; max-width: 71.4285714286%; } #task_week .col-6 { flex: 0 0 85.7142857143%; max-width: 85.7142857143%; } #task_week .col-7 { flex: 0 0 100%; max-width: 100%; } #task_week .order-first { order: -1; } #task_week .order-last { order: 8; } #task_week .order-0 { order: 0; } #task_week .order-1 { order: 1; } #task_week .order-2 { order: 2; } #task_week .order-3 { order: 3; } #task_week .order-4 { order: 4; } #task_week .order-5 { order: 5; } #task_week .order-6 { order: 6; } #task_week .order-7 { order: 7; } #task_week .offset-1 { margin-left: 14.2857142857%; } #task_week .offset-2 { margin-left: 28.5714285714%; } #task_week .offset-3 { margin-left: 42.8571428571%; } #task_week .offset-4 { margin-left: 57.1428571429%; } #task_week .offset-5 { margin-left: 71.4285714286%; } #task_week .offset-6 { margin-left: 85.7142857143%; } @media (min-width: 576px) { #task_week .col-sm { flex-basis: 0; flex-grow: 1; max-width: 100%; } #task_week .col-sm-auto { flex: 0 0 auto; width: auto; max-width: none; } #task_week .col-sm-1 { flex: 0 0 14.2857142857%; max-width: 14.2857142857%; } #task_week .col-sm-2 { flex: 0 0 28.5714285714%; max-width: 28.5714285714%; } #task_week .col-sm-3 { flex: 0 0 42.8571428571%; max-width: 42.8571428571%; } #task_week .col-sm-4 { flex: 0 0 57.1428571429%; max-width: 57.1428571429%; } #task_week .col-sm-5 { flex: 0 0 71.4285714286%; max-width: 71.4285714286%; } #task_week .col-sm-6 { flex: 0 0 85.7142857143%; max-width: 85.7142857143%; } #task_week .col-sm-7 { flex: 0 0 100%; max-width: 100%; } #task_week .order-sm-first { order: -1; } #task_week .order-sm-last { order: 8; } #task_week .order-sm-0 { order: 0; } #task_week .order-sm-1 { order: 1; } #task_week .order-sm-2 { order: 2; } #task_week .order-sm-3 { order: 3; } #task_week .order-sm-4 { order: 4; } #task_week .order-sm-5 { order: 5; } #task_week .order-sm-6 { order: 6; } #task_week .order-sm-7 { order: 7; } #task_week .offset-sm-0 { margin-left: 0; } #task_week .offset-sm-1 { margin-left: 14.2857142857%; } #task_week .offset-sm-2 { margin-left: 28.5714285714%; } #task_week .offset-sm-3 { margin-left: 42.8571428571%; } #task_week .offset-sm-4 { margin-left: 57.1428571429%; } #task_week .offset-sm-5 { margin-left: 71.4285714286%; } #task_week .offset-sm-6 { margin-left: 85.7142857143%; } } @media (min-width: 768px) { #task_week .col-md { flex-basis: 0; flex-grow: 1; max-width: 100%; } #task_week .col-md-auto { flex: 0 0 auto; width: auto; max-width: none; } #task_week .col-md-1 { flex: 0 0 14.2857142857%; max-width: 14.2857142857%; } #task_week .col-md-2 { flex: 0 0 28.5714285714%; max-width: 28.5714285714%; } #task_week .col-md-3 { flex: 0 0 42.8571428571%; max-width: 42.8571428571%; } #task_week .col-md-4 { flex: 0 0 57.1428571429%; max-width: 57.1428571429%; } #task_week .col-md-5 { flex: 0 0 71.4285714286%; max-width: 71.4285714286%; } #task_week .col-md-6 { flex: 0 0 85.7142857143%; max-width: 85.7142857143%; } #task_week .col-md-7 { flex: 0 0 100%; max-width: 100%; } #task_week .order-md-first { order: -1; } #task_week .order-md-last { order: 8; } #task_week .order-md-0 { order: 0; } #task_week .order-md-1 { order: 1; } #task_week .order-md-2 { order: 2; } #task_week .order-md-3 { order: 3; } #task_week .order-md-4 { order: 4; } #task_week .order-md-5 { order: 5; } #task_week .order-md-6 { order: 6; } #task_week .order-md-7 { order: 7; } #task_week .offset-md-0 { margin-left: 0; } #task_week .offset-md-1 { margin-left: 14.2857142857%; } #task_week .offset-md-2 { margin-left: 28.5714285714%; } #task_week .offset-md-3 { margin-left: 42.8571428571%; } #task_week .offset-md-4 { margin-left: 57.1428571429%; } #task_week .offset-md-5 { margin-left: 71.4285714286%; } #task_week .offset-md-6 { margin-left: 85.7142857143%; } } @media (min-width: 992px) { #task_week .col-lg { flex-basis: 0; flex-grow: 1; max-width: 100%; } #task_week .col-lg-auto { flex: 0 0 auto; width: auto; max-width: none; } #task_week .col-lg-1 { flex: 0 0 14.2857142857%; max-width: 14.2857142857%; } #task_week .col-lg-2 { flex: 0 0 28.5714285714%; max-width: 28.5714285714%; } #task_week .col-lg-3 { flex: 0 0 42.8571428571%; max-width: 42.8571428571%; } #task_week .col-lg-4 { flex: 0 0 57.1428571429%; max-width: 57.1428571429%; } #task_week .col-lg-5 { flex: 0 0 71.4285714286%; max-width: 71.4285714286%; } #task_week .col-lg-6 { flex: 0 0 85.7142857143%; max-width: 85.7142857143%; } #task_week .col-lg-7 { flex: 0 0 100%; max-width: 100%; } #task_week .order-lg-first { order: -1; } #task_week .order-lg-last { order: 8; } #task_week .order-lg-0 { order: 0; } #task_week .order-lg-1 { order: 1; } #task_week .order-lg-2 { order: 2; } #task_week .order-lg-3 { order: 3; } #task_week .order-lg-4 { order: 4; } #task_week .order-lg-5 { order: 5; } #task_week .order-lg-6 { order: 6; } #task_week .order-lg-7 { order: 7; } #task_week .offset-lg-0 { margin-left: 0; } #task_week .offset-lg-1 { margin-left: 14.2857142857%; } #task_week .offset-lg-2 { margin-left: 28.5714285714%; } #task_week .offset-lg-3 { margin-left: 42.8571428571%; } #task_week .offset-lg-4 { margin-left: 57.1428571429%; } #task_week .offset-lg-5 { margin-left: 71.4285714286%; } #task_week .offset-lg-6 { margin-left: 85.7142857143%; } } @media (min-width: 1200px) { #task_week .col-xl { flex-basis: 0; flex-grow: 1; max-width: 100%; } #task_week .col-xl-auto { flex: 0 0 auto; width: auto; max-width: none; } #task_week .col-xl-1 { flex: 0 0 14.2857142857%; max-width: 14.2857142857%; } #task_week .col-xl-2 { flex: 0 0 28.5714285714%; max-width: 28.5714285714%; } #task_week .col-xl-3 { flex: 0 0 42.8571428571%; max-width: 42.8571428571%; } #task_week .col-xl-4 { flex: 0 0 57.1428571429%; max-width: 57.1428571429%; } #task_week .col-xl-5 { flex: 0 0 71.4285714286%; max-width: 71.4285714286%; } #task_week .col-xl-6 { flex: 0 0 85.7142857143%; max-width: 85.7142857143%; } #task_week .col-xl-7 { flex: 0 0 100%; max-width: 100%; } #task_week .order-xl-first { order: -1; } #task_week .order-xl-last { order: 8; } #task_week .order-xl-0 { order: 0; } #task_week .order-xl-1 { order: 1; } #task_week .order-xl-2 { order: 2; } #task_week .order-xl-3 { order: 3; } #task_week .order-xl-4 { order: 4; } #task_week .order-xl-5 { order: 5; } #task_week .order-xl-6 { order: 6; } #task_week .order-xl-7 { order: 7; } #task_week .offset-xl-0 { margin-left: 0; } #task_week .offset-xl-1 { margin-left: 14.2857142857%; } #task_week .offset-xl-2 { margin-left: 28.5714285714%; } #task_week .offset-xl-3 { margin-left: 42.8571428571%; } #task_week .offset-xl-4 { margin-left: 57.1428571429%; } #task_week .offset-xl-5 { margin-left: 71.4285714286%; } #task_week .offset-xl-6 { margin-left: 85.7142857143%; } } #task_week div { text-align: center; } #task_week div .dow_day { display: block; font-size: 16px; color: #4be4ff; font-weight: normal; } #task_week div .dow_date { font-size: 12px; display: block; margin: 0; margin-bottom: 10px; font-weight: normal; } #task_week .list-group-item, #task_week .list-group-item * { cursor: pointer; } #task_week .list-group-item:hover { background-color: #161919; } #task_week .col:not(:last-child) { border-right: 1px solid #444; margin-bottom: 20px; }
Schließlich definieren Sie in Ihrem HTML-Code einfach Ihre Wrapper-Divs und -Spalten wie das Standardraster mit 12 Spalten:
<div id="task_week"> <div class="row no-gutters"> <div class="col-sm-7 col-lg-1">Monday</div> <div class="col-sm-7 col-lg-1">Tuesday</div> <div class="col-sm-7 col-lg-1">Wednesday</div> <div class="col-sm-7 col-lg-1">Thursday</div> <div class="col-sm-7 col-lg-1">Friday</div> <div class="col-sm-7 col-lg-1">Saturday</div> <div class="col-sm-7 col-lg-1">Sunday</div> </div> </div>
quelle
<div class="col-sm-12"> <div class="row"> <div class="col-xs-5"> <div class="row"> <div class="col-sm-4">01</div> <div class="col-sm-4">02</div> <div class="col-sm-4">03</div> </div> </div> <div class="col-xs-2"> <div class="row"> <div class="col-sm-12">04</div> </div> </div> <div class="col-xs-5"> <div class="row"> <div class="col-sm-4">05</div> <div class="col-sm-4">06</div> <div class="col-sm-4">07</div> </div> </div> </div> </div> </div>
quelle
Mit dem Rastersystem von Bootstrap 3 können Sie Ihre sieben Spalten in ein div einschließen und die Klasse "col-md-offset" verwenden. Zum Beispiel:
<div class="container-fluid"> <div class="row"> <div class="col-md-10 col-md-offset-3"> <div class="col-md-1 text-center"> <p>COLUMN ONE</p> </div> <div class="col-md-1 text-center"> <p>COLUMN TWO</p> </div> <div class="col-md-1 text-center"> <p>COLUMN THREE</p> </div> <div class="col-md-1 text-center"> <p>COLUMN FOUR</p> </div> <div class="col-md-1 text-center"> <p>COLUMN FIVE</p> </div> <div class="col-md-1 text-center"> <p>COLUMN SIX</p> </div> <div class="col-md-1 text-center"> <p>COLUMN SEVEN</p> </div> </div> </div> </div>
Der Nachteil ist, dass Sie auf eine Spaltengröße von 10 beschränkt sind. Wenn Sie möchten, dass Ihre 7 Spalten den gesamten Bildschirm einnehmen, können Sie alternativ Folgendes verwenden:
<div class="row text-center"> <h1>CENTERED TEXT</h1> </div> <div class="row"> <div class="col-md-12"> <div class="col-md-1 text-center" style="margin-right: 3%;margin-left: 3%;"> <p>COLUMN ONE</p> </div> <div class="col-md-1 text-center" style="margin-right: 3%;margin-left: 3%;"> <p>COLUMN TWO</p> </div> <div class="col-md-1 text-center" style="margin-right: 3%;margin-left: 3%;"> <p>COLUMN THREE</p> </div> <div class="col-md-1 text-center" style="margin-right: 3%;margin-left: 3%;"> <p>COLUMN FOUR</p> </div> <div class="col-md-1 text-center" style="margin-right: 3%;margin-left: 3%;"> <p>COLUMN FIVE</p> </div> <div class="col-md-1 text-center" style="margin-right: 3%;margin-left: 3%;"> <p>COLUMN SIX</p> </div> <div class="col-md-1 text-center" style="margin-left: 3%;"> <p>COLUMN SEVEN</p> </div> </div> </div>
Codestift hier: https://codepen.io/dylanprem/pen/BrzKxo?editors=1010
quelle
Update für Bootstrap 4
<div class="container"> <div class="row seven-cols"> <div class="col-md-1">Col 1</div> <div class="col-md-1">Col 2</div> <div class="col-md-1">Col 3</div> <div class="col-md-1">Col 4</div> <div class="col-md-1">Col 5</div> <div class="col-md-1">Col 6</div> <div class="col-md-1">Col 7</div> </div> </div> @media (min-width: 768px){ .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { width: 100%; *width: 100%; } } @media (min-width: 992px) { .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { max-width: 14.285714285714285714285714285714%; flex: 0 0 14.285714285714285714285714285714%; } } @media (min-width: 1200px) { .seven-cols .col-md-1, .seven-cols .col-sm-1, .seven-cols .col-lg-1 { max-width: 14.285714285714285714285714285714%; flex: 0 0 14.285714285714285714285714285714%; } }
quelle
<div class="row"> <div class="col-lg-1">Mon</div> <div class="col-lg-2">Tue</div> <div class="col-lg-2">Wen</div> <div class="col-lg-2">Thu</div> <div class="col-lg-2">Fri</div> <div class="col-lg-2">Sat</div> <div class="col-lg-1">Sun</div> </div>
Wird dies Ihr Problem lösen? Der anfängliche und der letzte Spaltenraum werden reduziert, aber es scheint keinen großen Unterschied zu machen.
quelle