2016-05-10 2 views
2

Не желая прибегать к jQuery, я бы очень хотел поместить выпадающую кнопку в раскрывающееся меню.Индивидуальные меню выбора HTML

У меня есть значок вниз, который работает, нажимая (скрывая) переполнение выделения, а затем заменяя его на div фоновым изображением. Это немного взломанный, но стандартный.

HTML (Minimal)

<div class="styled-select"> 
    <select> 
    <option>Mike</option> 
    <option>Jonathan Frank Long</option> ... etc 
    </select> 
</div> 

CSS (упрощенный)

.styled-select{ 
    overflow: hidden; 
    background:url(input-box-fade.png) no-repeat right transparent; 
    background-position: 100%; 
    background-size:200px; 
    width:300px; 
} 

Мой дизайнер дал мне икону с размытым фоном градиент слишком, однако, когда есть длинный item (например, вариант с длинным выбором), тогда я нашел значок, который сидит BENEATH в тексте.

Есть ли все-таки я могу привести это вперед, чтобы действительно наложить выбор?

См. codepen example. Благодаря

+0

Это немного трудно сказать, вы используете внешние таблицы стилей уменьшенных в коде пере. Когда я удаляю их и меняю отступ на «padding: 5px 65px 5px 8px;' на 'select' css selctor, кажется, я получаю поведение, о котором вы просите: [codepen] (https://codepen.io/ anon/pen/LNapWo) – michaPau

+0

Эй, спасибо за это MichaPau, да извините за внешние. Я надеялся, однако, наложить прозрачный значок поверх текста, а не внизу. Однако добавление полезно, но все же помещает текст сверху. –

+0

Да, я над чтением видимой потребности наложения ... Проблема в том, что если что-то «перевернуло» выбор, он больше не будет доступен для кликов/выбора (и нет удобного способа запуска события _open select_ с javascript, который работает во всех браузерах. Возможно, вам захочется найти альтернативные варианты html input (выберите в вашем случае), которые, вероятно, более легко настраиваются. Или создайте ul-li с помощью списков наведения (например, в меню). – michaPau

ответ

0

Попробуйте:

<label>Please select a long menu item</label> 
<div class=" new"> 
    <select name="series" id="series" tabindex="2" class="form-control " onChange="SetSeriesNumber()"> 
    <option value="" class="select-placeholder" disabled="disabled" selected="selected">Select Sermon Series</option> 
    <option value="252">Brand New Series</option> 
    <option value="119">Certain | Secure | Illuminated: Studies in 1 John</option> 
    <option value="251" selected="selected">God Theory LIVE</option> 
    <option value="115">One Off Sermons</option> 
    <option value="249">This is a cool series</option> 
    <option value="250">This is a test series!</option> 
    <option value="37">Christmas Hits</option> 
    <option value="40">Ephesians: Church, the Manifold Wisdom of God Part 1</option> 
    <option value="39">Exodus: The Great Escape Part 1</option> 
    <option value="38">Faith Works</option> 
    <option value="53">Joseph and The Gospel of Many Colours</option> 
    <option value="253">Series Topic</option> 
    <option value="125">The Bible - Believing, Feeling, Doing</option> 
    <option value="127">The Kingdom of God is Like...</option> 
</select> 
</div> 

CSS:

.new{ 
    background: url(https://test.sermonmanager.net/assets/images/icons/input-box-fade.png) no-repeat right transparent; 
background-position: 100%; 
background-size:200px; 
background-color:#ddd; 
padding: 0; 
margin: 0 0 10px; 
border: 1px solid #ddd; 
width: 300px; 
border-radius: 3px; 
overflow: hidden; 
border-radius: 3px; 
} 
select { 
padding: 5px 38px 5px 8px; 
width: 103%; 
border: none; 
box-shadow: none; 
background-color: transparent; 
background-image: none; 
-webkit-appearance: none; 
    -moz-appearance: none; 
     appearance: none; 
} 
+0

Ум, что это точно должно do? Я копирую и вставляю точно, и все, что вы добавили, было функцией Javascript без кода? –

+0

здесь нет необходимости в javascript, вы можете проверить без JS –

+0

Но все еще не работает? Изображение все еще находится под содержимым –