Was ist der beste Weg, um mit Twitter's Bootstrap vertikale Leerzeichen hinzuzufügen?
Angenommen, ich erstelle eine Landing Page und möchte über und unter einer bestimmten Schaltfläche ein kleines Leerzeichen (100 Pixel) einfügen. Natürlich könnte ich für diese bestimmte Schaltfläche eine bestimmte Klasse erstellen. Aber ich würde denken, dass Bootstrap sollte eine DRY Art des Hinzufügens in vertikale Leerzeichen.
In Bootstrap 4 gibt es Spacing Utilites .
Zitieren die Dokumentation für die verwendete Notation :
Abstandsdienstprogramme, die für alle Haltepunkte (von
xs
bisxl
) gelten, enthalten keine Abkürzung für Haltepunkte. Dies liegt daran, dass diese Klassen abmin-width: 0
Angewendet werden und daher nicht an eine Medienabfrage gebunden sind. Die verbleibenden Haltepunkte enthalten jedoch eine Haltepunktabkürzung.Die Klassen werden im Format
{property}{sides}-{size}
Fürxs
und{property}{sides}-{breakpoint}-{size}
Fürsm
,md
,lg
und benanntxl
.Dabei ist property einer von:
m
- für Klassen, diemargin
setzenp
- für Klassen, diepadding
setzenWo Seiten ist einer von:
t
- für Klassen, diemargin-top
oderpadding-top
setzenb
- für Klassen, diemargin-bottom
oderpadding-bottom
setzenl
- für Klassen, diemargin-left
oderpadding-left
setzenr
- für Klassen, diemargin-right
oderpadding-right
setzenx
- für Klassen, die sowohl*-left
als auch*-right
setzeny
- für Klassen, die sowohl*-top
als auch*-bottom
setzen- leer - für Klassen, die auf allen 4 Seiten des Elements ein
margin
oderpadding
setzenWobei Größe einer von:
0
- für Klassen, die den Rand oder das Auffüllen durch Setzen auf0
Beseitigen1
- (standardmäßig) für Klassen, diemargin
oderpadding
auf$spacer * .25
Setzen2
- (standardmäßig) für Klassen, diemargin
oderpadding
auf$spacer * .5
Setzen3
- (standardmäßig) für Klassen, diemargin
oderpadding
auf$spacer
Setzen4
- (standardmäßig) für Klassen, diemargin
oderpadding
auf$spacer * 1.5
Setzen5
- (standardmäßig) für Klassen, diemargin
oderpadding
auf$spacer * 3
Setzen
Wenn Sie also über und unter einem Element zusätzlichen vertikalen Abstand haben möchten, verwenden Sie die Klasse my-5
.
In v2 ist für so viel vertikalen Raum nichts integriert, daher sollten Sie sich an eine benutzerdefinierte Klasse halten. Für kleinere Höhen werfe ich normalerweise nur ein <div class="control-group">
um einen Knopf.
Das Einwickeln funktioniert, aber wenn Sie nur ein Leerzeichen möchten, mag ich:
<div class="col-xs-12" style="height:50px;"></div>
Es tut mir leid, hier ein altes Grab zu graben, aber warum nicht einfach so?
<div class="form-group">
</div>
Es wird ein Leerzeichen in der Höhe eines normalen Formularelements eingefügt.
Es scheint, dass ungefähr 1 Zeile auf einem Formular ungefähr 50 Pixel groß ist (47 Pixel auf meinem Element, das ich gerade inspiziert habe). Dies ist eine horizontale Form, mit Beschriftung links 2col und Eingabe rechts 10col. Deine Pixel können also variieren.
Da meins im Grunde genommen 50px ist, würde ich einen Abstandhalter von 50px ohne Ränder oder Polsterung erstellen.
.spacer { margin:0; padding:0; height:50px; }
<div class="spacer"></div>
Ich weiß, dass dies alt ist, aber ich bin hierher gekommen, um das Gleiche zu suchen. Ich habe festgestellt, dass Bootstrap hat den Hilfe-Block, sehr praktisch für diese Situationen:
<div class="help-block"></div>
Für Version 3 scheint es keinen "Bootstrap" Weg zu geben, um dies ordentlich zu erreichen.
Ein panel
, ein well
und ein form-group
Alle haben einen vertikalen Abstand.
Eine formalere Lösung für vertikale Abstände ist offenbar auf der Roadmap für bootstrap v4
https://github.com/twbs/bootstrap/issues/4286#issuecomment-3633155https://github.com/twbs/bootstrap/issues/13532
Ich habe lediglich eine div-Klasse mit verschiedenen Höhen erstellt, d.h.
<div class="divider-10"></div>
Das CSS ist:
.divider-10 {
width:100%;
min-height:1px;
margin-top:10px;
margin-bottom:10px;
display:inline-block;
position:relative;
}
Erstellen Sie einfach eine Teilerklasse für alle Höhen, die benötigt werden.
Mein Trick. Nicht elegant, aber es funktioniert:
<p> </p>
Benutz einfach <br/>
. Ich war hier auf der Suche nach der Antwort auf diese Frage und fühlte mich dann irgendwie albern, weil ich nicht daran gedacht hatte, einen einfachen Zeilenumbruch zu verwenden, wie es der Benutzer JayKilleen in einem Kommentar vorgeschlagen hatte.
Ich habe versucht, <div class="control-group">
Zu verwenden, aber mein Layout wurde nicht geändert. Es wurde kein vertikaler Raum hinzugefügt. Die Lösung, die für mich funktioniert hat, war:
<ol style="visibility:hidden;"></ol>
Wenn Sie dadurch nicht genug vertikalen Platz haben, können Sie schrittweise mehr erreichen, indem Sie verschachtelte <li> </li>
- Tags hinzufügen.
Ich weiß, das ist alt und es gibt bereits einige gute Lösungen, aber eine einfache Lösung, die für mich funktioniert hat
<style>
.divider{
margin: 0cm 0cm .5cm 0cm;
}
</style>
und dann
<div class="divider"></div>
<form>
<fieldset class="form-group"><input type="text" class="form-control" placeholder="Input"/></fieldset>
<fieldset class="form-group"><button class="btn btn-primary"/>Button</fieldset>
</form>
http://v4-alpha.getbootstrap.com/components/forms/#form-controls