Bootstrap 3 .col-xs-offset- * funktioniert nicht?


80

Ich benutze Bootstrap 3 Grid System hat es bisher geliebt und alles hat gut funktioniert, ich versuche col-xs-offset-1 zu verwenden und funktioniert nicht, obwohl .col-sm-offset-1 funktioniert. Was vermisse ich hier?

<div class="col-xs-2 col-xs-offset-1">col</div>

http://jsfiddle.net/petran/zMcs5/2/


1
@Vixed Die Antwort ist nicht veraltet, da sich die Frage eindeutig auf Bootstrap v3 bezieht. Siehe aktuellen Master . Für -xsin v4 fallen gelassen werden, finden Sie diese .
Tao

Ich weiß, dass du Recht hast, aber im
Moment hat

@Vixed Ich zögere es, eine v4-Antwort auf eine v3-Frage hinzuzufügen. Stattdessen habe ich diese Antwort bearbeitet , da es sich um eine v4-Frage zu col-xs-*Klassen handelt.
Tao

Antworten:


99

Edit: wie von Bootstrap 3.1 .col-xs-offset-* vorhanden ist , siehe Bootstrap :: Rasteroptionen


.col-xs-offset-*existiert nicht. Offset- und Spaltenreihenfolge gelten nur für kleine und mehr. (NUR .col-sm-offset-*, .col-md-offset-*und .col-lg-offset-*)

Siehe die offizielle Dokumentation: bootstrap :: grid options


12
Ich bin nicht sicher, ob dieser Link jetzt durch eine neuere Dokumentation ersetzt wird, aber es heißt, dass Offsets für jede Gerätegröße verfügbar sind. Es funktioniert jedoch immer noch nicht, also wird es
wahrscheinlich

2
".col-xs-offset- *" Scheint jetzt gut zu funktionieren.
Senthil

6
.col-xs-offset-*existiert in Bootstrap 3
Dio

26

Alternativ können Sie ein leeres Div für den xs-Offset hinzufügen (dies würde es Ihnen ersparen, den Inhalt an mehr als einer Stelle verwalten zu müssen).

<div class="col-xs-1 visible-xs"></div><div class="col-xs-2">col</div>

Die Bootstrap-Entwickler scheinen sich zu weigern, diese xs- ofsets und Push / Pull-Klassen hinzuzufügen, siehe hier: https://github.com/twbs/bootstrap/issues/9689


12

Sie können den Versatz nur für xs-Geräte festlegen, indem Sie die höheren Pixel mit dem Versatz 0 negieren. Wie so,

class="col-xs-offset-1 col-md-offset-0"

6

Ein Vorschlag, wann Sie einen Versatz machen möchten, aber bei besonders kleinen Breiten nicht in der Lage sind:

Verwenden Sie .hidden-xsund .visible-xs, um eine Version Ihres HTML-Blocks für besonders kleine Breiten und eine für alles andere zu erstellen (wobei Sie weiterhin einen Offset verwenden können).

Beispiel:

<div class="hero container">
  <div class="row">
    <div class="hidden-xs col-sm-8 col-sm-offset-2 col-md-4 col-md-offset-4 text-center">
      <h2>This is a banner at the top of my site. It shows in everything except XS</h2>
      <p>Here are some supporting details about my banner.</p>
    </div>
    <div class="visible-xs col-xs-12">
      <h2 class="pull-right">This is my banner at XS width.</h2>
      <p class="pull-right">This is my supporting content at XS width.</p>
    </div>
  </div>
</div>

6

col-md-offset-4 funktioniert nicht, wenn Sie den Rand manuell auf dasselbe Element anwenden. Zum Beispiel

Im obigen Code wird der Offset nicht angewendet. Stattdessen wird ein Rand von 0 auto angewendet


3

Das war wirklich frustrierend, also habe ich einen Kern geschrieben, den man sich schnappen kann col-offset-xs-*. Mir ist auch aufgefallen, dass Bootstrap SASS Repo Bower, das diese Woche installiert wurde, nicht enthalten war, col-offset-sm-0so dass es auch shimmed ist, aber in vielen Fällen redundant sein wird.

Bootstrap 3 xs versetzte Unterlegscheibe


2
  /*

  Include this after bootstrap.css

  Add a class of 'col-xs-offset-*' and 
  if you want to disable the offset at a larger size add in 'col-*-offset-0'

  Examples:
  All display sizes (xs,sm,md,lg) have an offset of 1
  <div class="col-xs-11 col-xs-offset-1 col-sm-3">

  xs has an offset of 1
  <div class="col-xs-11 col-xs-offset-1 col-sm-offset-0 col-sm-3">

  xs and sm have an offset of 1
  <div class="col-xs-11 col-xs-offset-1 col-md-offset-0 col-sm-3">

  xs, sm and md will have an offset of 1
  <div class="col-xs-11 col-xs-offset-1 col-lg-offset-0 col-sm-3">

*/

.col-xs-offset-12 {
    margin-left: 100%;
}
.col-xs-offset-11 {
    margin-left: 91.66666666666666%;
}
.col-xs-offset-10 {
    margin-left: 83.33333333333334%;
}
.col-xs-offset-9 {
    margin-left: 75%;
}
.col-xs-offset-8 {
    margin-left: 66.66666666666666%;
}
.col-xs-offset-7 {
    margin-left: 58.333333333333336%;
}
.col-xs-offset-6 {
    margin-left: 50%;
}
.col-xs-offset-5 {
    margin-left: 41.66666666666667%;
}
.col-xs-offset-4 {
    margin-left: 33.33333333333333%;
}
.col-xs-offset-3 {
    margin-left: 25%;
}
.col-xs-offset-2 {
    margin-left: 16.666666666666664%;
}
.col-xs-offset-1 {
    margin-left: 8.333333333333332%;
}
.col-xs-offset-0 {
    margin-left: 0;
}

/* Ensure that all of the zero offsets are available - recent SASS version did not include .col-sm-offset-0 */
@media (min-width: 768px) {
    .col-sm-offset-0,
    .col-md-offset-0,
    .col-lg-offset-0 {
        margin-left: 0;
    }
}

https://gist.github.com/dylanvalade/7362739


1

Es funktioniert nicht, weil col-xs-offset-*es in der Medienabfrage erwähnt wird. wenn Sie es verwenden möchten, müssen Sie alle schweigen von den Offset (zB: class="col-xs-offset-3 col-sm-offset-2 col-md-offset-1 col-lg-offset-0")

Dies ist jedoch nicht richtig, sollten sie col-xs-offset-*in der Medienabfrage erwähnen


1

// es funktioniert in Bootstrap 4, es gab einige Änderungen in der Dokumentation. Wir brauchen kein Präfix col-, nur offset-lg-3, z

<div class="row">
   <div class="offset-lg-3 col-lg-6"> Some content...
   </div>
</div>

// hier doc: http://v4-alpha.getbootstrap.com/layout/grid/#example-offsetting-columns


Ich glaube, das OP fragt nach dem xsOffset, nicht nach Offsets im Allgemeinen. Ich kann in den Dokumenten nichts über einen xs-Offset finden und ihn auch nicht durch Hinzufügen von xs-Offset-Klassen im DOM auslösen. Hoffentlich irre ich mich, aber ich kann es nicht herausfinden.
Jason Fry

@ JasonFry Lol ist mir egal, aber welches Problem habe ich allgemeines Lösungsproblem beschrieben :)
Vasyl Gutnyk

1

Das im jsfiddle-Link verwendete Bootstrap-CSS hat kein CSS für col-xs-offset- *, weshalb das CSS nicht angewendet wird. Verweisen Sie auf die neueste Bootstrap-CSS.


1

Ab Boostrap 4.x ist col-xs-6 jetzt nur noch col-6

offset-xs-6 ist jetzt nur offset-6 .

Schon ausprobiert, funktioniert auf jeden Fall.


0

Das Problem ist, dass Sie die .name-Klasse anstelle der nameclass einfügen


0

Anstatt col-md-offset-4 zu verwenden, verwenden Sie stattdessen offset-md-4. Sie müssen col nicht mehr verwenden, wenn Sie versetzen. Verwenden Sie in Ihrem Fall Offset-xs-1, und dies funktioniert. Stellen Sie sicher, dass Sie den Ordner bootstrap.css wie folgt in Ihrem HTML-Code aufgerufen haben.


Alle diese Antworten sind falsch und ich kann Ihnen die beste Antwort für jeden versprechen, der dieses Problem hat.
Dante

0

Nach dem neuesten Bootstrap v3.3.7 ist xs-Offseting zulässig. Siehe die Dokumentation hier Bootstrap Offseting . So können Sie verwenden

<div class="col-xs-2 col-xs-offset-1">.col-xs-2 .col-xs-offset-1</div>

0

Nur für den Fall, dass jemand den gleichen Fehler macht, den ich vor dem Stolpern auf dieser Seite gemacht habe, CSSdh das Hinzufügen von Rücksetzregeln (wie das sehr beliebte Zurücksetzen von Eric Meyer, das auf Millionen von Websites verwendet wird), nachdem Bootstrap hinzugefügt wurde .

Vielleicht sollte ich auch darauf hinweisen, dass ein solches Zurücksetzen mit Bootstrap nicht erforderlich ist, da Bootsrap tatsächlich das Zurücksetzen von normalize.css v3.0.2 implementiert .


-3

Entfernen Sie den Punkt vor Ihrer Klasse, damit er folgendermaßen aussieht:

<div class="col-xs-2 col-xs-offset-1">col</div>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.