CSS: Izquierda, Centro y Derecha Alinean el texto en la Misma Línea


Necesito alinear a la izquierda, al centro y a la derecha el texto en la misma línea. Tengo el siguiente texto:

  • Alineación izquierda: 1/10
  • Centro: 02: 27
  • Alineación derecha: 100%

Escribí el siguiente código que funciona para la alineación izquierda y derecha del texto, pero no funciona correctamente para el texto central.

HTML

<div id="textbox">
<p class="alignleft">1/10</p>
<p class="aligncenter">02:27</p>
<p class="alignright">100%</p>
</div>
<div style="clear: both;"></div>

CSS

.alignleft {
    float: left;
}
.aligncenter {
    float: left;
}
.alignright {
    float: right;
}
 29
Author: user1822824, 2012-12-04

5 answers

Prueba esto

ACTUALIZADO

HTML

 <div id="textbox">
 <p class="alignleft">1/10</p>
 <p class="aligncenter">02:27</p>
 <p class="alignright">100%</p>
 </div>
 <div style="clear: both;"></div>​

CSS

.alignleft {
  float: left;
  width:33.33333%;
  text-align:left;
}
.aligncenter {
  float: left;
  width:33.33333%;
  text-align:center;
}
.alignright {
 float: left;
 width:33.33333%;
 text-align:right;
}​

Demo el código aquí: http://jsfiddle.net/wSd32/1 / Espero que esto ayude!

 33
Author: JCBiggar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-04 00:26:45

La forma mágica de HTML5 que funciona responsablemente es usar flex:

<div id="textbox">
<p class="alignleft">1/10</p>
<p class="aligncenter">02:27</p>
<p class="alignright">100%</p>
</div>
<div style="clear: both;"></div>

CSS

#textbox {
    display: flex;
    justify-content: space-between;
}

Demo:

Http://jsfiddle.net/sep4kf6a/1 /

Encontrará que evita la envoltura incómoda de la caja que se produce con los flotadores en una pantalla pequeña.

 5
Author: Pod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-29 17:07:38

Tal vez esto funcione:

p{width:33%;float:left;}
.alignleft{text-align:left;}
.aligncenter {text-align:center;}
.alignright {text-align:right;}
 3
Author: daniel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-04 00:15:31

Una variación de la gran solución de JCBiggar es omitir el ancho y la alineación de texto para .alignright, sino simplemente para flotar hacia la derecha. La ventaja de esto es que elimina la preocupación de que los elementos internos tengan márgenes establecidos o rellenos, haciendo que el 33.33% * 3 exceda el ancho del 100% del elemento contenedor. La colocación deseada de .alignright se puede efectuar de forma mucho más sencilla.

El CSS sería entonces:

.alignleft {
  float: left;
  width:33.33333%;
  text-align:left;
  padding-left: 10px;
}
.aligncenter {
  float: left;
  width:33.33333%;
  text-align:center;
}
.alignright {
  float: right;
  padding-right: 10px;
}​

Esto funcionó bien para mí cuando tenía elementos que requerían rellenos de cantidades establecidas (y no se pueden representar como porcentajes), como se muestra arriba en el CSS.

 2
Author: DRosenfeld,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-26 14:54:51

Y ahora un enfoque fresco, bastante diferente.

.same-line {
    height: 10px; /*childrens it's all absolute position, so must set height*/
    position: relative;
}
.same-line div{
    display: inline-block;
    position: absolute;
}
.on-the-left{
 left:0px;
}
.on-the-center{
    left: 0%;
    right: 0%;
    text-align: center;
}
.on-the-right{
   right: 0px;
}
<div class="same-line">
    <div class="on-the-left" >it's Left</div>
    <div class="on-the-center" >this Centrer bla bla bla</div>
    <div class="on-the-right" >it's Right</div>
  </div>
 1
Author: Adam111p,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-17 11:03:44