2014-02-14 1 views
2

Кажется, что это было бы так просто, но это дало мне немного неприятностей. Я уже пытался использовать this method, и он не работает, как вы можете видеть здесь: http://jsfiddle.net/ENuLz/. Плавающая метка, и вход кажется шагом в правильном направлении, но я все еще не могу понять.Как вертикально центрировать метку на вводе диапазона

jsfiddle код:

<div> 
    <label for="myslider">Slider:</label> 
    <input type="range" id="myslider" min="1" max="100" /> 
</div> 

CSS:

div { 
    display: table-cell; 
    vertical-align: middle; 
    height: 50px; 
    border: 1px solid red; 
} 

Решение:http://jsfiddle.net/ENuLz/17/

^Это, кажется, работает в последних версиях Chrome, Firefox и IE.

ответ

4

Вот код центрировать элементы по вертикали

div { 
    display: table-cell; 
    vertical-align: middle; 
    height: 50px; 
    border: 1px solid red; 
} 

div label 
{ 
    vertical-align:middle; 

} 

#myslider 
{ 
    vertical-align:middle; 

} 

jsFiddle: http://jsfiddle.net/ENuLz/16/

+0

Это выглядит великолепно в хром и firefox, но не великий в ie. Однако не могу выиграть их. –

+0

Это помогло мне в решении, которое я только что добавил к моему первоначальному вопросу. Благодаря! –

+0

@RobbyAllsopp Не стоит беспокоиться –

0

Я добавил этот CSS к метке, содержащейся в вашем DIV:

div label { 
    display:block; 
    width:100%; 
    text-align:center; 
} 

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

FIDDLE

+0

К сожалению мое название не было ясно. Я хочу вертикально центрировать их, а не горизонтально выше или ниже. –

+0

@Lexicon имеет хорошее решение. – steinmas

0

Добавить

label {  
    display: block; 
} 
+0

Извините, мой заголовок не ясен. Я хочу вертикально центрировать их, а не горизонтально выше или ниже. –

+0

Вы можете добавить margin-top для обоих элементов, я бы рекомендовал использовать инструменты для разработчиков, чтобы вы могли быстро настроить до тех пор, пока пиксель не станет идеальным. – ioseph

1

Вот вертикальное выравнивание:

В HTML:

<div> 
    <label for="myslider">Slider:</label> 
    <input type="range" min="1" max="100" /> 
</div> 

В CSS:

div { 
    display: table-cell; 
    vertical-align: middle; 
    height: 50px; 
    border: 1px solid red; 
} 
.lblFloat 
{ 
    float:left; 
} 

http://jsfiddle.net/ENuLz/4/

+0

Да, это то, что я получил, когда я их плыл, но он по-прежнему на самом деле не сосредоточен на мне. Если вы добавите границу на ярлык, вы можете увидеть, что она не находится по центру в div: jsfiddle.net/ENuLz/14/, и она не сосредоточена, если вы удалите float: jsfiddle.net/ENuLz/15/ –

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