2015-01-21 10 views
5

Ich sehe Bootstrap nicht die Höhe der Spalten in der Zeile zu beheben. Zum Beispiel: Bild 1: 1, es wird in der Spalte reagieren, aber die Position des Bildes ist an der Spitze der Reihe.Twitter Bootstrap 3 - vertikale Ausrichtung Spalten in einer Reihe [Mitte]

Wenn ich Text in heading Tag habe, haben es Standardränder, die den Text unten schiebt. Also wird das Bild an die Spitze gebunden und der Text wird etwas unterhalb der Spitze sein.

Was ist, wenn ich die Spalten normalisieren und in der Mitte ausrichten muss?

Meine Fragen sind:

  • Gibt es eine native Bootstrap Art und Weise die Spalten auszurichten?
  • Wenn es diese Art der Ausrichtung nicht unterstützt, was "Hack" kann ich verwenden? Ich habe einige "Hacks" versucht, aber sie beeinflussen die Basis-Bootstrap-Funktionalität.

Was genau muss ich tun:

Sorry, aber es ist schwer, es in einem jsfiddle zu machen, ist es enthält Angular Richtlinien und Vorlagen. Nur zum Beispiel:

Ich habe eine Richtlinie, die diese erzeugt:

Not aligned

Ich brauche das Bild in der Mitte tun ausrichten, oder zumindest an dem heading vertikalen Start zu sein. Zum Beispiel: enter image description here

Ich habe diese jsfiddle gemacht, wenn Sie experimentieren wollen. Ich akzeptiere nur Erklärungen ohne Code.

Ich kann es mit einigen "gehackten" CSS beheben, aber ich möchte wissen, wie ich das richtig machen kann.

+0

Soweit ich gehört habe, da in Bootstrap keine native 'vertical-align' Einstellung ist, haben Sie benutzerdefinierte CSS verwenden. Es gibt tatsächlich viele Antworten auf diese Frage ... Ich habe 6 SO Antworten gefunden, indem ich einfach "Bootstrap middle align" gesucht habe. –

+0

Ich sehe das ist üblich. Wie ich schon sagte, habe ich ein paar benutzerdefinierte CSS versucht, aber es beeinflusst die Positionierung des Bootstrap-Elements überhaupt.Wenn du den guten Weg kennst, der richtig funktioniert und die anderen Funktionen nicht beeinflusst, könntest du mir nur den Link zeigen, wo ich darüber lesen kann? – Ifch0o1

+1

Ich kenne keine bestimmte Methode, und ich habe heute keine Zeit, um an Ihrem Beispiel zu experimentieren (die Arbeit ist fast vorbei.) Wenn es bis morgen nicht beantwortet wurde, werde ich mich näher damit befassen in der Tiefe. Das tut mir leid. –

Antwort

16

Ein Ansatz ist translateY auf dem img Element wie folgt zu verwenden:

.v-center { 
    position: relative; 
    transform: translateY(50%); 
} 

Sie werden auch in einem col-*-2 ..

Demo das Bild setzen wollen:http://bootply.com/tVyuhaFoww

+0

Danke für die gute Antwort. Die 'transform'-Eigenschaft wird in den meisten Fällen gut funktionieren. Ich bin so müde und ich werde jetzt schlafen. Morgen werde ich es eingehend prüfen. Wenn es keine bessere Antwort gibt, akzeptiere ich das. ** Ich mag es wirklich. ** – Ifch0o1

+0

@ ish2f4f Sie müssen nicht die Bearbeitungszusammenfassung in den Post legen. – approxiblue

+0

yeah ich dachte - @approxiblue es gab mir einen min Zeichenfehler, obwohl nicht sicher, was der richtige Weg, um es dann war. esp, da die Änderung wichtig schien, obwohl es nur ein Zeichen änderte – steviejay

2

Eine andere Möglichkeit, das Bild am Anfang des ersten Absatzes auszurichten, besteht darin, das Design in zwei Zeilen zu teilen. Die erste Zeile enthält den Header und die zweite Zeile enthält das Bild, Absätze und Links. Dies ähnelt sehr Ihrem zweiten Bild oben, wenn es so aussieht, wie Sie es wollen.

http://jsfiddle.net/404vska2/

<div class="row"> 
    <div class="col-xs-10 col-xs-push-2"> 
    <h4 class="ng-binding">Monaco make Bernardo Silva move permanent</h4> 
    </div> 
</div> 
<div class="row"> 
    <img src="http://s12.postimg.org/gt71dlbd5/1421893782_flat_world_cup_icon_512_Socker_1.png" alt="" class="col-xs-2"> 
    <div class="col-xs-10"> 
    <p class="ng-binding">Bernardo Silva's loan move from SL Benfica to AS Monaco FC has been made permanent, with the 20-year-old settling in well since his summer switch to France.</p> 
    <span class="rss-news-date ng-binding">Jan 21, 2015</span> 
    <p><a ng-href="http://www.uefa.com/uefachampionsleague/news/newsid=2204161.html?rss=2204161+Monaco+make+Bernardo+Silva+move+permanent" href="http://www.uefa.com/uefachampionsleague/news/newsid=2204161.html?rss=2204161+Monaco+make+Bernardo+Silva+move+permanent">Lean more</a> </p> 
    </div> 
</div> 
+0

Danke für die Antwort. Dies kann in einigen verschiedenen Fällen verwendet werden. Ich stimme zu, dass die Verwendung des Grid-Systems besser ist als die Verwendung von benutzerdefiniertem CSS. Nur in meinem Fall hat dies einen Nachteil - Wenn die Überschrift mehr als einen Linientext hat, wird das Bild nach unten gezogen. Die Gleichheit mit den anderen Geschwisterelementen wird verloren gehen. Dies wird jedoch in einigen anderen Fällen perfekt funktionieren. Ich mag die Idee. – Ifch0o1