好的,这就是问题所在:我想创建一个select + button元素,除了一件事情,一切都进行得很好。
由于某种原因,“选择”的边框和“ a”标签的边框以不同的方式呈现。尽管它的细节很小,但如果您不进行缩放,您可能不会注意到,但是这让我非常恼火。
在Chrome和Firefox上没有这种问题,但在Safari中可见。我的猜测是我可能已经忘记为Safari覆盖一些扎根的“选择”样式,但是我的实验没有成功。
很高兴为您提供帮助!
Fiddle
Example Photo
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在小提琴
最佳答案
实际上,最好不要在所有浏览器上创建一个下拉菜单都相同的下拉菜单。如果您可以更改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>
如果您对此概念有疑问,请问
关于html - Safari呈现不同的边框宽度错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52651378/