2017-02-14 24 views
0

Я хотел бы изменить стандартную стрелку на кнопке с параметрами значка svg. Первое изображение - это то, как оно выглядит сейчас, а второе - как я хотел бы, чтобы он выглядел. Я хотел бы нарисовать фактический значок на кнопке, а не стиль опций, которые будут отображаться под ним после щелчка.Как изменить стрелку на теге <select>?

Image of how it appears now Image of how I would like it to appear

HTML/жидкость:

<select name="id" id="ProductSelect" class="product-single__variants"> 
    {% for variant in product.variants %} 
    {% if variant.available %} 
     <option {% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %} data-sku="{{ variant.sku }}" value="{{ variant.id }}">{{ variant.title }} - {{ variant.price | money_with_currency }}</option> 
    {% else %} 
     <option disabled="disabled"> 
     {{ variant.title }} - {{ 'products.product.sold_out' | t }} 
     </option> 
    {% endif %} 
    {% endfor %} 
</select> 

SVG файла:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 64.57"><title>Asset 2</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M4,36.28H66.34L44.89,57.74a4,4,0,1,0,5.66,5.66L78.83,35.11h0a4,4,0,0,0,.5-.61c.07-.1.11-.21.17-.31a3.85,3.85,0,0,0,.2-.37,3.65,3.65,0,0,0,.13-.41c0-.11.08-.22.1-.33a4,4,0,0,0,.08-.79h0a4,4,0,0,0-.08-.77c0-.12-.07-.23-.1-.35a3.58,3.58,0,0,0-.12-.4,4,4,0,0,0-.21-.4c-.05-.1-.1-.2-.16-.29a3.88,3.88,0,0,0-.5-.61L50.54,1.17a4,4,0,1,0-5.66,5.66L66.34,28.28H4a4,4,0,0,0,0,8Z"/></g></g></svg> 
+0

Вам нужно будет использовать пользовательскую библиотеку раскрывающийся, так как HTML ', как объясняется принятый ответ. –

ответ

1

Вы можете использовать SVG в качестве фона CSS изображения так:

.product-single__variants { 
background: url("data:image/svg+xml;utf8,{{ icon.svg | asset_url | replace: '"', "'" }}") no-repeat; 
} 
1

Я хотел то же самое раньше. Вот что сработало для меня.

select-dropdown { 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    text-indent: 1px; 
    text-overflow: ''; 
    background: url('path/to/file.jpg') no-repeat right center !important; 
    background-color: white !important; 
}