usuario1355300
¿Cómo puedo usar el vertical-align
tanto como float
en el div
¿propiedades? los vertical-align
funciona bien si no uso el float
. Pero si uso el flotador, entonces no funciona. Es importante para mí usar el float:right
para la última div.
Estoy tratando de seguir, si elimina el flotador de todos los div, entonces funcionaría bien:
<div class="wrap">
<div class="left">First div, float left, has more text.</div>
<div class="left2">Second div, float left </div>
<div class="right">Third div, float right</div>
</div>
CSS:
.wrap{
width: 500px;
overflow:hidden;
background: pink;
}
.left {
width: 150px;
margin-right: 10px;
background: yellow;
float:left;
vertical-align: middle;
display:inline-block
}
.left2 {
width: 150px;
margin-right: 10px;
background: aqua;
float:left;
vertical-align: middle;
display:inline-block
}
.right{
width: 150px;
background: orange;
float:right;
vertical-align: middle;
display:inline-block
}
Necesita establecer la altura de la línea.
<div style="border: 1px solid red;">
<span style="font-size: 38px; vertical-align:middle; float:left; line-height: 38px">Hejsan</span>
<span style="font-size: 13px; vertical-align:middle; float:right; line-height: 38px">svejsan</span>
<div style="clear: both;"></div>
-
si configuras
line-height
con el mismo valor para todos los elementosvertical-align
es inútil (jsfiddle.net/VBR5J/448)– Éderson T. Szlachta
11 mayo 2015 a las 14:17
-
no funciona para
<button>
elementos. En vez de<span>
es un<button>
.– Verde
1 de septiembre de 2015 a las 7:26
-
Esta respuesta es incorrecta. vertical-align pertenece al CONTENEDOR (el
div
) no los elementos individuales. La solución correcta, capaz de alinear verticalmente elementos flotantes, es poner ambosvertical-align
yline-height
en el CONTENEDOR:<div style="border: 1px solid red; vertical-align:middle; line-height: 38px;">
. RETIRARvertical-align:middle; line-height: 38px;
de los estilos de tramo.– El fabricante de herramientas Steve
14 de mayo de 2016 a las 0:08
-
Acabo de descubrir que lo que sugiero funciona para los tramos flotantes en el violín de la respuesta, pero no para algunos elementos (falló para una entrada de radio flotante).
– El fabricante de herramientas Steve
14 de mayo de 2016 a las 0:18
-
@ToolmakerSteve está mal, y esta respuesta está mal. La alineación vertical solo se aplica a elementos en línea, bloques en línea o celdas de tabla (este último es simplemente extraño). Agregar un ‘flotante’ convierte a un elemento en un elemento de bloque. Aún así, usar la altura de línea (e ignorar la alineación vertical) puede ser una solución.
– commonpike
21 de marzo de 2018 a las 14:56
Ahsan Khurshid
Editado:
los alineación vertical La propiedad CSS especifica la alineación vertical de un elemento en línea, bloque en línea o celda de tabla.
Lea este artículo para Comprender la alineación vertical
-
se aplica a
inline-block
elementos también.– Rolf
22 oct 2017 a las 12:20
-
Actualizado. He extrañado eso. Gracias por mencionar
– Ahsan Khurshid
7 de noviembre de 2017 a las 5:56
-
esto no es una respuesta
– Serzhan Ajmetov
6 de marzo de 2020 a las 1:57
gabriel
De hecho, la alineación vertical no funciona con elementos flotantes. Eso es porque float levanta el elemento del flujo normal del documento. Es posible que desee utilizar otras técnicas de alineación vertical, como las que se basan en transformación, visualización: tabla, posicionamiento absoluto, altura de línea, js (quizás como último recurso) o incluso la tabla html simple (quizás la primera opción si el contenido es en realidad tabular). Descubrirá que hay un acalorado debate sobre este tema.
Sin embargo, así es como puedes alinear verticalmente TUS 3 divisiones:
.wrap{
width: 500px;
overflow:hidden;
background: pink;
}
.left {
width: 150px;
margin-right: 10px;
background: yellow;
display:inline-block;
vertical-align: middle;
}
.left2 {
width: 150px;
margin-right: 10px;
background: aqua;
display:inline-block;
vertical-align: middle;
}
.right{
width: 150px;
background: orange;
display:inline-block;
vertical-align: middle;
}
No estoy seguro de por qué necesitaba ancho fijo, pantalla: bloque en línea y flotante.
-
¿Podría agregar algún código a su respuesta para mostrar cómo lograr la solución?
– abarisona
7 abr 2015 a las 10:09
-
Además, la “respuesta correcta” es tan fácil de descifrar… me hace preguntarme cómo demonios la votaron 19 personas.
– gabriel
10 de abril de 2015 a las 12:07
-
la pregunta decía “necesita el flotador: justo en el último elemento”, por lo que es posible que necesite que el último elemento esté en el lado derecho del contenedor. ¿Cómo lograr ese objetivo en tu respuesta?
– usuario4269941
10 de agosto de 2016 a las 2:07
-
Buena respuesta, y además tan clara! Solo falta la opción Flexbox.
– Luillyfe
13 mayo 2017 a las 22:22
-
Esta solución no muestra el último elemento alineado a la derecha. Ver: jsfiddle.net/eprky4q1
– Skrol29
31 de marzo a las 6:52