El cuerpo de mi documento html consta de 3 elementos, un botón, un formulario y un lienzo. Quiero que el botón y el formulario estén alineados a la derecha y que el lienzo permanezca alineado a la izquierda. El problema es que cuando trato de alinear los dos primeros elementos, ¿ya no se siguen entre sí y, en cambio, están uno al lado del otro horizontalmente ?, aquí está el código que tengo hasta ahora, quiero que el formulario siga directamente después del botón a la derecha sin espacio en el medio.
#cTask {
background-color: lightgreen;
}
#button {
position: relative;
float: right;
}
#addEventForm {
position: relative;
float: right;
border: 2px solid #003B62;
font-family: verdana;
background-color: #B5CFE0;
padding-left: 10px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript" src="timeline.js"></script>
<link rel="stylesheet" href="master.css" type="text/css" media="screen" />
</head>
<body bgcolor="000" TEXT="FFFFFF">
<div id="button">
<button onclick="showForm()" type="button" id="cTask">
Create Task
</button>
</div>
<div id="addEventForm">
<form>
<p><label>Customer name: <input></label></p>
<p><label>Telephone: <input type=tel></label></p>
<p><label>E-mail address: <input type=email></label></p>
</form>
</div>
<div>
<canvas id="myBoard" width="1000" height="600">
<p>Your browser doesn't support canvas.</p>
</canvas>
</div>
</body>
</html>

margin-left: auto;pero no funcionó, lo que me sorprendió porque el elemento que estoy tratando de alinear a la derecha es relativo.Los flotadores están bien, pero son problemáticos con ie6 y 7.
Preferiría usar
margin-left:auto; margin-right:0;en el div interno.fuente
0es válido, sin embargo, también lo es 0px ... argumenta tu punto para que aprendamos algo.display: block;Viejas respuestas. Una actualización: use flexbox, ahora funciona prácticamente en todos los navegadores.
Y puedes ser aún más elegante, simplemente:
Y más elegante:
fuente
Otras respuestas para esta pregunta no son tan buenas ya que
float:rightpueden salir de un div principal (desbordamiento: oculto para el padre a veces puede ayudar) ymargin-left: auto, margin-right: 0para mí no funcionó en divs anidados complejos (no investigué por qué).He descubierto que para ciertos elementos
text-align: rightfunciona, suponiendo que esto funcione cuando el elemento y el padre son ambosinlineoinline-block.Nota: la
text-alignpropiedad CSS describe cómo se alinea el contenido en línea como el texto en su elemento de bloque primario.text-alignno controla la alineación de los elementos del bloque en sí, solo su contenido en línea.Un ejemplo:
Aquí hay un JS Fiddle .
fuente
Quieres decir así? http://jsfiddle.net/6PyrK/1
Puede agregar los atributos de
float:rightyclear:both;al formulario y al botónfuente
Si tiene varios divs que desea alinear uno al lado del otro en el extremo derecho del div principal, configúrelo
text-align: right;en el div principal.fuente
Puede usar
flexboxconflex-growpara empujar el último elemento hacia la derecha.fuente
Si no tiene que soportar IE9 y más abajo, puede usar flexbox para resolver esto: codepen
También hay algunos errores con IE10 y 11 ( soporte de flexbox ), pero no están presentes en este ejemplo
Puede alinear verticalmente el
<button>y el<form>envolviéndolos en un contenedor conflex-direction: column. El orden de origen de los elementos será el orden en que se muestran de arriba a abajo, así que los reordené.A continuación, puede alinear horizontalmente el contenedor de formularios y botones con el lienzo envolviéndolos en un contenedor con
flex-direction: row. Nuevamente, el orden de origen de los elementos será el orden en que se muestran de izquierda a derecha, así que los reordené.Además, esto requeriría que quite todo
positionyfloatreglas de estilo a partir del código relacionado en la pregunta.Aquí hay una versión recortada del HTML en el codepen vinculado anteriormente.
Y aquí está el CSS relevante
fuente
La respuesta simple está aquí:
fuente
Simplemente puede usar padding-left: 60% (por ej.) Para alinear su contenido a la derecha y envolver simultáneamente el contenido en un contenedor receptivo (en mi caso, necesitaba la barra de navegación) para garantizar que funcione en todos los ejemplos.
fuente
Si está utilizando bootstrap, entonces:
fuente
<div class="text-right"></div>.Sé que esta es una publicación antigua, pero ¿no podrías usarla?
<div id=xyz align="right">correctamente?Simplemente puede reemplazar a la derecha con izquierda, centro y justificar.
Trabajó en mi sitio :)
fuente
alignatributo ahora está en desuso .