好的,问题来了:我想创建一个 select+button 元素,除一件事外,一切都很顺利。
出于某种原因,“select”的边框和“a”标签的边框以不同的方式呈现。虽然这是一个很小的细节,如果不放大你可能不会注意到,但它让我很恼火。
在 Chrome 和 Firefox 上没有这个问题,但是在 Safari 上就可以看到。我的猜测是,我可能忘记了为 Safari 覆盖一些 Root过的“选择”样式,但我的实验没有成功。
很高兴能得到您的帮助!
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/