Ich habe eine Div (#wrapper) mit 2 Divs, die nebeneinander stehen.
Ich möchte, dass das rechte Div vertikal ausgerichtet ist. Ich habe versucht, vertikal auszurichten: Mitte auf meinem Haupt-Wrapper, aber es funktioniert nicht. Es macht mich verrückt!
Hoffe jemand kann helfen.
HTML:
<div id="wrapper">
<div id="left-div">
<ul>
<li>One</li>
<li>Two</li>
</ul>
</div>
<div id="right-div">
Here some text...
</div>
</div>
CSS:
#wrapper{
width:400px;
float:left;
height:auto;
border:1px solid purple;}
#left-div{
width:40px;
border:1px solid blue;
float:left;}
#right-div{
width:350px;
border:1px solid red;
float:left;}
ul{
list-style-type: none;
padding:0;
margin:0;}
inline-block
Lässt es sich wie eine Inline verhaltenimg
, für die dasalign
Attribut festgelegt ist)Sie können dies ganz einfach mit Anzeigetabelle und Anzeigetabellenzelle tun.
EDIT: Eigentlich schnell auf CSS Desk für Sie herumgespielt - http://cssdesk.com/RXghg
EINE ANDERE BEARBEITUNG: Verwenden Sie Flexbox. Dies wird funktionieren, ist aber ziemlich veraltet - http://www.cssdesk.com/davf5
quelle
Mir ist klar, dass dies eine alte Frage ist, aber ich dachte, es wäre nützlich, eine Lösung für das Problem der vertikalen Ausrichtung des Schwimmers zu veröffentlichen.
Durch Erstellen eines Wrappers um den Inhalt, den Sie schweben lassen möchten, können Sie dann die Pseudoselektoren :: after oder :: before verwenden, um Ihren Inhalt innerhalb des Wrappers vertikal auszurichten. Sie können die Größe dieses Inhalts beliebig anpassen, ohne dass dies die Ausrichtung beeinträchtigt. Der einzige Haken ist, dass die Hülle 100% der Höhe ihres Behälters füllen muss .
http://jsfiddle.net/jmdrury/J53SJ/
HTML
CSS
quelle
centered
Klasse gelöscht und viele redundante Dinge aus diesem CSS entfernt haben, funktioniert die vertikale Ausrichtung immer noch einwandfrei, mit nur (Entschuldigung für den Verlust der Formatierung! ...):div { border:1px solid red; height:100px; } .floater { float:right; height:100%; } h1 { vertical-align:middle; } .container:after, .floater:after, .centered:after { height:100%; content:''; font-size:0; vertical-align:middle; display:inline-block; }
Eine mögliche Lösung besteht darin, einen Wrapper
div
flex
mit Elementen zu erstellen,center
die gemäß https://spin.atomicobject.com/2016/06/18/vertically-center-floated-elements-flexbox/ ausgerichtet sind .quelle
Ich gebe mein Bestes, um die Verwendung von Schwimmern zu vermeiden ... aber - bei Bedarf richte ich mich mit den folgenden Linien vertikal zur Mitte aus:
quelle
Der einzige Nachteil meiner Modifikationen ist, dass Sie eine festgelegte Div-Höhe haben ... Ich weiß nicht, ob das ein Problem für Sie ist oder nicht.
http://cssdesk.com/kyPhC
quelle