CSS mozilla firefox 和 internet explorer 中的不同输出

CSS different output in mozilla firefox and internet explorer

我正在练习 css,我遇到了这个问题。我正在使用 svg 作为背景。当我尝试在 Opera 中 运行 和 Google Chrome 时,我得到了我想要的结果,如下所示:

但是当我在 mozilla 中尝试 运行 时,它看起来像这样,顶部和底部有几个空格:

而且,在 Internet Explorer 中,svg 显得格格不入,如下所示:

我试过使用 css 重置,但没有任何反应。

这是我的 svg 代码

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 22.58">
<defs><style>.cls-1{fill:url(#linear-gradient);}</style><linearGradient id="linear-gradient" x1="15.6" y1="9.41" x2="10.68" y2="22.94" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#65ffb7"/><stop offset="1" stop-color="#47f2d0"/></linearGradient></defs>
<title>landing bg</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1">
<polygon class="cls-1" points="10.54 0 0 16.03 9.31 22.58 24 22.58 24 0 10.54 0"/></g></g></svg>

CSS代码

body
{
    background-color: white;

}

.frame1
{
    background: #000000 url('../images/landing_bg.svg');
    background-repeat: no-repeat;
    background-position: right;
    height: 900px;
    width: 100%;
    position: absolute;
    min-width: 900px;
    top: 0;
    right: 0;
}

HTML代码

<!DOCTYPE html>
<html>
    <head>

<link rel = "stylesheet" type = "text/css" href = "main page/main.css">
<link rel = "stylesheet" type = "text/css" href = "main page/reset.css">
</head>

<body>
    <div class = "frame1">

    </div>
</body>

我是不是遗漏了什么或者我应该删除什么以获得我想要的结果(见第一张图片)?

在您的 HTML 中,尝试调换头部的 main.cssreset.css 链接的位置。样式表按它们链接的顺序加载,这可能是您的重置未按预期工作的原因。

看来问题出在你的 svg viewbox 上。

尝试例如

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">

老实说,我无法提供任何信息来解释这种行为。但是我发现了这个topic,可能跟这个原因有关

当我更改 svg viewBox 时,我在 mozilla 上得到了我想要的结果。但是对于 Internet Explorer,当我更改 svg viewBox 时没有任何反应。也许我会尝试添加专用于 Internet Explorer 的样式表。

P.S。 抱歉回复晚了,我生病了:/但我现在很好。谢谢!