2016-03-11 2 views
1

У меня есть DIV так:Align этикетки к центру и левой позиции в DIV

<div id="mydiv"> 
     <label id="orderName" style="align:center;">Order Name</label> 
     <label id="orderNo" style="align:left;">Order No</label> 
    </div> 

Я пытаюсь:
- выравнивание OrderName по горизонтали и по вертикали центр дел.
- выровнять OrderNo горизонтально слева от div (и по вертикали по центру).

Как я могу это сделать?

---------------------------------- 
    |         | 
    | OrderNo  OrderName   | 
    |         | 
    ---------------------------------- 
+0

'align' не является свойством CSS. Вместо этого используйте 'text-align'. Для вертикального выравнивания используйте свойство 'line-height'. –

ответ

4

После CSS даст свой ожидаемый результат:

div { 
 
    text-align: center; 
 
} 
 
#orderName { 
 
    vertical-align: middle; 
 
} 
 
#orderNo { 
 
    float: left; 
 
}
<div id="mydiv"> 
 
     <label id="orderName" >Order Name</label> 
 
     <label id="orderNo">Order No</label> 
 
    </div>

Решение 2:

Другой путь, используя display:flex. Здесь я добавил height и border для отображения вертикального центра.

И дать margin:0 auto; в центр.

div { 
 
    align-items: center; 
 
    display: flex; 
 
    height: 40px; 
 
    border: 1px solid; 
 
} 
 

 

 
#orderName { 
 
    order: 2; 
 
    margin:0 auto; 
 
}
<div id="mydiv"> 
 
     <label id="orderName" >Order Name</label> 
 
     <label id="orderNo">Order No</label> 
 
    </div>

+0

Ketan> Вертикальное выравнивание по центру не работает. Они выровнены по верхнему краю ... – Jasper

+0

Ketan> Хотя вертикальное выравнивание работает сейчас - но имя заказа начинается только с центрального положения (50%), а не по центру - по горизонтали. – Jasper

+0

@ Jasper check отредактированное решение 2 – ketan

Смежные вопросы