好的,这就是问题所在:我想创建一个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/

10-11 07:20