html - Safari 渲染不同边框宽度错误

标签 html css safari

好的,问题来了:我想创建一个 select+button 元素,除一件事外,一切都很顺利。

出于某种原因,“select”的边框和“a”标签的边框以不同的方式呈现。虽然这是一个很小的细节,如果不放大你可能不会注意到,但它让我很恼火。

在 Chrome 和 Firefox 上没有这个问题,但是在 Safari 上就可以看到。我的猜测是,我可能忘记了为 Safari 覆盖一些 Root过的“选择”样式,但我的实验没有成功。

很高兴能得到您的帮助!

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/

相关文章:

html - CSS 响应表不工作

运行setTimeout方法+传递变量时Javascript堆栈溢出

safari 中的 svg 透明径向渐变不起作用

javascript - 在保持响应功能的同时防止移动浏览器上的无限自动刷新?

html - 在 librocket (html) 中画一条线

php - Seo Friendly URL 导致 CSS IMG 和 JS 不工作

javascript - 单击修改 CSS 元素

css - 在 SQL Server Reporting Services 中更改 css 类

javascript - 通过 jQuery 更改背景属性会在 Safari 中造成问题

javascript - 在 Safari 上设置跨站 cookie