gpt4 book ai didi

css - 渐变 - 跨浏览器一致性

转载 作者:太空宇宙 更新时间:2023-11-04 13:15:32 27 4
gpt4 key购买 nike

我正在测试所有浏览器的渐变兼容性,我发现渐变在 FireFox 上有不同的效果。请允许我演示测试。

代码

<html>
<head>
<style type="text/css">
body{
background: -moz-linear-gradient(top left , white , black 25%);
background: -o-linear-gradient(top left , white , black 25%);
background: -webkit-linear-gradient(top left , white , black 25%);
background: -khtml-linear-gradient(top left , white , black 25%);
background: -ms-linear-gradient(top left , white , black 25%);
background: linear-gradient(top left , white , black 25%);
}
</style>
</head>
<body>
</body>
</html>

结果:

谷歌浏览器 - 35.0 Google Chrome - Version 35.0.1916.153 m

火狐 - 30.0 FireFox - 30.0

IE11 IE 11

歌剧 22.0 Opera 22.0

Safari 5.1.7 Safari 5.1.7

如您所见,在 Firefox 中渐变呈现不同的形状。如何克服这个限制?

最佳答案

事实上 body 没有明确的 height 设置,默认情况下它的边距大约是 8px,所以它的高度大约是 8px。在这里 this demo ,我们将 background-repeat 设置为 no-repeat,您会明白为什么默认情况下 (repeat) 它会呈现您所看到的内容。但是我不得不承认 body 元素有一个特别之处。看起来 background 仍然可以呈现 outside body 。您可以使用元素检查器来查看 body 的高度实际上大约是 8px。但是背景仍然可以从中渲染出来。我们可以通过显式设置高度来解决这个问题:

body {
/* ... */
height:100vh;
}

或者:

body, html {
height: 100%;
}

或者您也可以显式设置background-size:

body {
/* ... */
background-size:100vw 100vh;
}

关于css - 渐变 - 跨浏览器一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24426493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com