2014-02-08 3 views
2

у меня есть <select> элемент:Центрирование текста в `<option>` элементов (Webkit & IE)

<select> 
    <option>Option 1</option> 
    <option>Option 2</option> 
    <option>Option 3</option> 
</select> 

И дать ему ширину и в центре его:

select { 
    width: 400px; 
    text-align: center; 
} 

центрирующего происходит только в Firefox, а не Webkit или IE. (Fiddle)

Как настроить параметры в Webkit и Internet Explorer?

+2

Вы просто пытаетесь выровнять то, что он выбран, или все о f варианты? Вы можете использовать 'select # budget {text-indent: 115px; } 'для первого. Вы можете немного изменить значение, чтобы получить желаемый эффект центрирования. И хэдз-ап, центральные HTML-теги устарели в HTML 4.01 и не поддерживаются в HTML 5. – RDrazard

+1

Я пытаюсь сосредоточиться на выбранных и всех параметрах. – user3286482

+0

Ну, я не могу придумать многого, кроме дополнений и текстового отступа. Будет ли это работать на вас? – bjb568

ответ

2

В моих знаниях я предлагаю вам создать свой собственный элемент, подобный элементу, вместо того, чтобы пытаться центрировать кнопку выбора в качестве обходного пути. Вы можете сделать это с помощью javascript (jQuery здесь, вы все равно можете это сделать, используя чистый javascript, который будет более быстрым).

HTML:

<div class="dropdown"> 
    <div class="dropdown-title">Dropdown menu</div> 

    <div class="dropdown-menu"> 
     <div class="option">Option 1</div> 
     <div class="option">Option 2</div> 
    </div> 

    <input type="hidden" class="dropdown-select" /> 
</div> 

CSS:

.dropdown-title { 
    padding: 5px; 
    border: 1px solid black; 
} 
.dropdown-menu { 
    display: none; 
} 
.option { 
    border: 1px solid grey; 
    text-align: center; 
    padding: 3px; 
} 

ЯШ:

$('.dropdown-title').on('click', function() { 
    $(this).next('.dropdown-menu').toggle(); 
}); 
$('.option').on('click', function() { 
    $(this).closest('.dropdown-menu').hide(); 
    $(this).parents('.dropdown').find('.dropdown-title').html($(this).html()); 
    $(this).parents('.dropdown').find('.dropdown-select').val($(this).html()); 
}); 

Использование JQuery в этом случае: http://jsfiddle.net/U44Yr/

+0

Зачем изобретать колесо? У браузера уже есть это. – bjb568

+2

Потому что вы не можете сосредоточиться, не используя трюки. Конечно, вы можете отпечатать текст или добавить пробелы, но не центрируете. Если он этого захочет, это единственное решение. Я не говорю, что это лучший способ для всех случаев;)! – Codel

+0

«Я не могу понять»! == «Давайте замедляем нашу страницу с помощью jQuery» – bjb568

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