Я использую JQuery 1.11. Я пытаюсь создать стилизованное меню выбора, которое автоматически настраивает его ширину на основе ширины самого большого элемента. У меня естьКак сохранить текст в одной строке в Firefox?
<div class="profileField">
Birthday<br/>
<select id="user_dob_2i" name="user[dob(2i)]">
<option value="">Select Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</div>
, а затем я использую следующий CSS
.select {
cursor: pointer;
display: inline-block;
position: relative;
font-size: 16px;
color: #fff;
width: 220px;
height: 42px;
}
.select-styled {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: gray;
padding: 11px 12px;
-webkit-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
}
.select-styled:after {
content: "";
width: 0;
height: 0;
border: 7px solid transparent;
border-color: #fff transparent transparent transparent;
position: absolute;
top: 16px;
right: 10px;
}
.select-styled:hover {
background-color: #7b7b7b;
}
.select-styled:active, .select-styled.active {
background-color: #737373;
}
.select-styled:active:after, .select-styled.active:after {
top: 9px;
border-color: transparent transparent #fff transparent;
}
.select-options {
display: none;
position: absolute;
top: 100%;
right: 0;
left: 0;
z-index: 999;
margin: 0;
padding: 0;
list-style: none;
background-color: #737373;
overflow: scroll;
}
.select-options li {
margin: 0;
padding: 12px 0;
text-indent: 15px;
border-top: 1px solid #676767;
-webkit-transition: all 0.15s ease-in;
transition: all 0.15s ease-in;
}
.select-options li:hover {
color: gray;
background: #fff;
}
.select-options li[rel="hide"] {
display: none;
}
ul.select-options {
max-height: 15em;
overflow-y: scroll;
overflow-x: hidden;
}
Однако то, что я не могу понять, как сохранить весь текст опции по умолчанию в одной строке. Если вы посмотрите на мой JSFiddle - http://jsfiddle.net/m5bxbx6d/1/, вы заметите, что «Выбрать месяц» истекает в две строки на Mac Firefox. В Chrome и Safari текст находится на одной строке. Как сделать все это на одной линии для Firefox?
Я не хочу жестко кодировать ширину, потому что я хочу, чтобы этот код был достаточно общим для применения к любому меню, которое я хочу создать.
Я не использую Mac, но делает ли это увеличение шириной? 'select {width: 300px}' – ConorReidd
Я уточнил свой вопрос. Я не хочу жестко кодировать ширину, потому что этот код shoudl может применяться к меню, которые содержат разные параметры. Тот, который я использовал в Fiddle, является лишь примером, но у них не все одинаковые варианты. –
О, динамическая ширина, установленная на нем, различна, возможно, просто нужен другой способ получить ширину. – Huangism