Подтвердить что ты не робот

CSS: левый, центральный и правый выравнивать текст на одной линии

Мне нужно левое, центральное и правое выравнивание текста в той же строке. У меня есть следующий текст:

  • Выравнивание влево: 1/10
  • Центр: 02:27
  • Right Align: 100%

Я написал следующий код, который работает для текста выравнивания влево и вправо, но не работает правильно для центрального текста.

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;
}
4b9b3361

Ответ 1

Попробуйте это

ОБНОВЛЕНО

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;
}​

Продемонстрируйте код здесь: http://jsfiddle.net/wSd32/1/ Надеюсь это поможет!

Ответ 2

Волшебный способ HTML5, который работает оперативно, - использовать 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;
}

Демо:

http://jsfiddle.net/sep4kf6a/1/

Вы обнаружите, что это позволяет избежать неудобной упаковки коробки, которая происходит с поплавками на маленьком экране.

Ответ 3

Возможно, это работает:

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

Ответ 4

Вариант большого решения JCBiggar - пропустить ширину и выравнивание текста для .alignright, но просто поплавать вправо. Преимущество этого заключается в том, что он устраняет беспокойство, что внутренние элементы задают поля или прокладки, делая 33.33% * 3 превышать 100% ширину содержащего элемента. Желаемое размещение .ignignright может быть сделано намного проще.

Затем CSS будет выглядеть следующим образом:

.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;
}​

Это работало хорошо для меня, когда у меня были элементы, которые требовали paddings из установленных сумм (и не могли быть представлены в процентах) - как показано выше в CSS.

Ответ 5

И теперь новый, совершенно другой подход.

.same-line {
    height: 10px; /*childrens it 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 Left</div>
    <div class="on-the-center" >this Centrer bla bla bla</div>
    <div class="on-the-right" >it Right</div>
  </div>