una texto separar salto propiedades parrafos para pagina lineas linea insertar horizontales grosor etiquetas elemento ejemplos como html css forms google-chrome flexbox

html - texto - Elementos de alineación de Chrome: línea de base para elementos seleccionados y de entrada



propiedades hr (2)

Es por align-items: baseline; . En su lugar use align-items: center;

Aquí está el codepen actualizado

form, fieldset { display: flex; flex-direction: column; } label { display: flex; align-items: center; flex-direction: row; justify-content: flex-start; padding: .3rem 0; flex-wrap: wrap; } fieldset span { text-align: right; padding: 0 1rem 0 0; } input, select, textarea { padding: .5rem; }

<form> <fieldset> <label> <span>Label</span> <input type="text" /> </label> <label> <span>Label</span> <select> <option value="" selected="" disabled=""></option> <option value="Mr">Mr</option> <option value="Dr">Dr</option> <option value="Miss">Miss</option> <option value="Mrs">Mrs</option> <option value="Ms">Ms</option> <option value="Ms">Mx</option> <option value="Other">Other</option> </select> </label> </fieldset> </form>

Creé un formulario usando flex box y funciona muy bien en Firefox, Edge e IE11.

Desafortunadamente, en Chrome, el texto de los tramos no se alinea de forma consistente. Está bien si está seguido de una selección, pero cuando está seguido de una entrada, el texto aparece para alinearse en la parte inferior en lugar de la línea de base.

Estoy utilizando la línea de base en lugar del centro para tener en cuenta los tamaños de fuente potencialmente diferentes.

Diseño incorrecto en Chrome

Correcto diseño en FF

He simplificado mi código y publicado en http://codepen.io/rachelreveley/pen/jrmbJP

form, fieldset { display: flex; flex-direction: column; } label { display: flex; align-items: baseline; flex-direction: row; justify-content: flex-start; padding: .3rem 0; flex-wrap: wrap; } fieldset span { text-align: right; padding: 0 1rem 0 0; } input, select, textarea { padding: .5rem; }

<form> <fieldset> <label> <span>Label</span> <input type="text" /> </label> <label> <span>Label</span> <select> <option value="" selected="" disabled=""></option> <option value="Mr">Mr</option> <option value="Dr">Dr</option> <option value="Miss">Miss</option> <option value="Mrs">Mrs</option> <option value="Ms">Ms</option> <option value="Ms">Mx</option> <option value="Other">Other</option> </select> </label> </fieldset> </form>


placeholder=" " agregar placeholder=" " a sus entradas y se alinearán perfectamente.