好吧,这就是问题所在:我想创建一个select + button元素,除了一件事情,一切都很好。
由于某种原因,“选择”标记的边框和“ a”标记的边框以不同的方式呈现。尽管它的细节很小,但如果您不进行缩放,您可能不会注意到它,这使我非常恼火。
Chrome和Firefox上没有此类问题,但在Safari中可见。我的猜测是我可能已经忘记为Safari覆盖一些扎根的“选择”样式,但是我的实验没有成功。
很高兴为您提供帮助!
HTML:
<li class="category-product-buttons">
<select style="color: rgb(38, 38, 38);">
<option value="1">a</option>
<option value="2">b</option>
<option value="3">c</option>
</select>
<a class="button-anim" type="button" href="">Buy</a>
</li>
CSS摆在小提琴
答案 0 :(得分:0)
创建在所有浏览器上看起来都相同的下拉菜单的最佳选择实际上是不使用。如果您可以更改html并将js添加到项目中,则可以使用ul或divs来实现
$(document).ready(function(){
$('.custom-select__field').on('click', function(){
$('.custom-select__list').toggle();
});
$('.custom-select__list li').on('click', function(){
$('.select-value').val($(this).data('value'));
$('.custom-select__list').toggle();
});
});
/* reseting ul styles */
ul {
list-style-type: none;
padding: 0;
margin: 0;
}
/* styling dropdown */
.custom-select {
width: 200px;
height: 40px;
line-height: 40px;
border: 2px solid red;
}
.custom-select__field {
padding: 0 10px;
background: rgba(255, 0, 0, .2);
cursor: pointer;
}
.custom-select__list {
display:none;
}
.custom-select__list li {
padding: 0 10px;
background:rgba(125,125,0,.2);
cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Only showing this field as text for demonstration, you can hide it with type="hidden"<br>
<br>
<input class="select-value" name="select-value" type="text">
<br>
You can change the style and everything as you need it.<br><br>
<div class="custom-select">
<div class="custom-select__field">Select one</div>
<ul class="custom-select__list">
<li data-value="1">1</li>
<li data-value="2">2</li>
<li data-value="3">3</li>
<li data-value="4">4</li>
</ul>
</div>
如果您对此概念有疑问,请问