css - 线性渐变中的计算在 IE/Edge 中不起作用

标签 css internet-explorer microsoft-edge linear-gradients

IE 和 Edge 似乎无法在这个渐变中正确计算高度。有人有解决方案吗?

background: linear-gradient(180deg, rgba(255,255,255,0) 100px, #f5f5f5 100px, #f5f5f5 calc(100% - 100px), rgba(255,255,255,0) calc(100% - 100px));

最佳答案

在这种情况下,由于您使用的是透明“条纹”,您可以作弊使用两个线性渐变,两者都只达到高度的 50%。

你从顶部开始,第二个从底部开始

div {
  height: 100vh;
  background: 
    linear-gradient(180deg, transparent 100px, #f5f5f5 100px, #f5f5f5 50%, transparent 50%), 
    linear-gradient(0deg, transparent 100px, #f5f5f5 100px, #f5f5f5 50%, transparent 50%);
}
body {
  margin: 0;
  padding: 0;
  background: pink; /* for demo purposes */
}
<div></div>

Codepen Demo

关于css - 线性渐变中的计算在 IE/Edge 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40236059/

相关文章:

html - 在同一行显示 tr 元素

javascript - 如何检测访问者使用的是 HTTP/2 还是 SPDY?

html - 在设计 Web 应用程序时应该使用哪种技术 - HTML5 + CSS3 或 HTML4 + CSS2?

jquery - 如何在 jquery 中选择事件输入?

css - Safari 中的 SVG 片段 Sprite + CSS 背景图片

javascript - 使用导航器对象/用户代理嗅探检测 IE 版本的缺点

html - 如何使 YouTube 嵌入式视频成为整页宽度的视频?

xml - Internet Explorer 以随机顺序显示 XML 属性

css - 单击表单单选按钮时,Edge 将整个 HTML 元素移出屏幕左侧?

css - Edge/IE 是否不支持背景混合模式