css - <button> 上的 box-shadow 仅在 Safari 上被截断

标签 css safari

我正在尝试使用 <button> 实现“按下”按钮效果和一个 <span>但出于某种原因,阴影仅在 Safari 上被切断。

我在这里使用了两个标签,因为这是我正在编辑的网站的限制,我无法更改标记。

就这么简单,HTML:

<button><span>A simple fucking button</span></button>

CSS:

button {
  -webkit-appearance: none;  
  border: none;
  background: none;
  padding: 0;
  margin: 0;
}

button span {
  text-transform: uppercase;
  font-weight: bold;
  border: 3px solid black;
  padding: 10px 35px;
  border-radius: 2em;
  display: block;
  background-color: #fff;
  box-shadow: 0px 4px 0px -2px #bfbfbf,
            0px 5px 0px 0px black;
}

button:active,
button:hover {
  color: inherit;
}

button:hover {
  span {
    transform: translate(0px, 5px);
    box-shadow: 0px 0px 0px 0px;
  }
}

codepen.io 示例: https://codepen.io/marlonmarcello/pen/dVBKpd

最佳答案

如果您愿意放弃跨度,则可以调整按钮和样式以达到所需的效果:

https://codepen.io/enquiren/pen/qMzLrd

button {
  -webkit-appearance: none;  
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  
  &.pushable {
    text-transform: uppercase;
    font-weight: bold;
    border: 3px solid black;
    padding: 10px 35px;
    border-radius: 2em;
    display: block;
    background-color: #fff;
    box-shadow: 0px 4px 0px -2px #bfbfbf,
                0px 5px 0px 0px black;
    
    &:hover {
      transform: translate(0px, 5px);
      box-shadow: 0px 0px 0px 0px;
    }
  }
}
<button class="pushable">A simple button</button>

关于css - <button> 上的 box-shadow 仅在 Safari 上被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46922179/

相关文章:

css - ionic 3 Angular 样式 mydatepicker 组件

CSS 光标属性在 Chrome 和 Firefox 中不起作用

css - 悬停时 html 对齐不正确

javascript - 如何从 Safari 4 的 Javascript 调试器中删除断点?

javascript - 隐藏 safari ios 上的方向转换

即使在创建 onclick 时,Safari AudioContext 也会暂停

ajax - IPAD网络_ERR : XMLHttpRequest Exception 101 using safari and chrome on jquery ajax call

php - 如何自定义插入到 WordPress 帖子中的图像的 HTML 标记?

css - margin 问题,Safari

javascript - 使用纯 JS 和 CSS 动画导航栏折叠