javascript - 使用带有 CSS 过渡的 SVG 图像调整 div 的大小会导致 Firefox 中出现奇怪的交叉线

标签 javascript jquery html css svg

对于一个网站,我写了一个简短的初始屏幕来隐藏页面,直到所有内容都加载完毕。覆盖的 div 然后获得一个新类并调整大小/转换为较小的大小和位置。

https://www.hafen17.de/ 上的实例显示 SVG 的“问题”:在调整 Firefox 大小时,图像背面显示一个十字。

我试图在这个 JSFiddle 上重现这个但背景中没有交叉线。

HTML

<div id="loading"><img src="logo.svg" alt="Logo" /></div>

CSS:

html,body {
    background-color: #cecece;
}
#loading {
    background-color: #25323f;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .8s ease;
    -moz-transition: all .8s ease;
    -o-transition: all .8s ease;
    transition: all .8s ease;
}
#loading.close {
    left: 20px;
    top: 20px;
    width: 0;
    height: 0;
    opacity: 0;
}
#loading img {
    max-width: 420px;
    height: auto;
    width: 60vw;
}

Link to GIf preview

最佳答案

您会在您的网站上看到这些规则的结果(缩短的 vendor 前缀):

.close::after {
 transform:rotate(-45deg)
}
.close::before,.close::after {
 content:'';
 position:absolute;
 height:2px;
 width:100%;
 top:50%;
 left:0;
 margin-top:-1px;
 background:#000;
 opacity:.5;
 transition:opacity 0.3s ease-out
}
.close:hover::before,.close:hover::after {
 opacity:1
}
.close::before {
 transform:rotate(45deg)
}

您是否将一个类名用于多种用途?在这些选择器 close.thick.close.rounded 之前还有更多规则。

关于javascript - 使用带有 CSS 过渡的 SVG 图像调整 div 的大小会导致 Firefox 中出现奇怪的交叉线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51102061/

相关文章:

javascript - 滚动 div 后如何将 Bootstrap 导航栏固定到顶部?

html - Bootstrap 4 : Bottom border only on li elements

javascript - 当我以 Angular 使用进度条时 CPU 高

javascript - 当有多个按钮时如何知道点击了哪个按钮(React)

javascript - 如何在全局和 requireJS 对象内部调度事件?

javascript - Handlebars #仅限顶层

javascript - 从下拉列表中选择选项,具体取决于两个下拉列表,这将显示 mysql 数据库 php 中的主题选项

jquery - 在带有图标 : no space between the icon and text? 的 Jquery 按钮中

javascript - 使div在一定时间后出现的代码

javascript - 返回 promise 的 Vuex 操作永远不会解决或拒绝