gpt4 book ai didi

html - 当前 CSS 中的 SVG 未显示在 Safari en Chrome 上(此处找到的解决方案不起作用)

转载 作者:行者123 更新时间:2023-11-28 15:48:40 25 4
gpt4 key购买 nike

一直在努力解决对你们大多数人来说可能是基本的事情(我对这一切都很陌生)。我使用 img 标签制作了一个带有 Logo 和图像基本悬停效果的页面。似乎适用于所有浏览器。然后我将图像更改为 svg 格式以保留效果的定义。据我所知,在 Chrome 上运行良好,但在资源管理器和 Safari(无法测试 Firefox)上运行不佳。我尝试了不同的标签(img、object、iframe),但在 Safari 和 Explorer 上我的 svg 只是拒绝显示。您可以在此处查看页面:www.hardnose.be

使用 Chrome 查看意图(对于其他浏览器)。

更糟的是,我做了一个JSFiddle对你们来说,它完全搞砸了。我不知道为什么,因为我很确定我只是复制了源并将图像链接更改为我的域,所以你们可以看到它。所以我想我的代码一开始并不是那么好。知道我做错了什么吗?

HTML

<html>
<body>
<div class="logo">
<a>
<object type="image/svg+xml" data="/images/LogoWhiteSmallText.svg">
<img src="http://hardnose.be/images/LogoWhiteSmallText.svg" alt="Hardnose Logo" target="_blank">
</object>
</a>
</div>
</body>
</html>

CSS

* {
height: 100%;
width: 100%;
margin: 0;
font-family: "Source Sans Pro", sans-serif; }

/* line 28, /Users/Inkidu/Documents/Hardnose/Website/v2.1/css/index.scss */
body {
background: #6ca66b;
/* For browsers that do not support gradients */
background: -webkit-linear-gradient(left top, #6ca66b, #3398cc);
/* For Safari 5.1 to 6.0 */
background: -o-linear-gradient(bottom right, #6ca66b, #3398cc);
/* For Opera 11.1 to 12.0 */
background: -moz-linear-gradient(bottom right, #6ca66b, #3398cc);
/* For Firefox 3.6 to 15 */
background: linear-gradient(to bottom right, #6ca66b, #3398cc);
/* Standard syntax (must be last) */ }

/* line 41, /Users/Inkidu/Documents/Hardnose/Website/v2.1/css/index.scss */
object {
height: auto;
width: auto;
margin: auto;
left: 0;
top: 0;
right: 0;
bottom: 0;
position: fixed;
opacity: 0.2;
z-index: 1; }

/* line 54, /Users/Inkidu/Documents/Hardnose/Website/v2.1/css/index.scss */
.logo {
position: fixed;
overflow: hidden;
display: inline-block;
height: auto;
width: auto;
margin: auto;
vertical-align: top; }
/* line 62, /Users/Inkidu/Documents/Hardnose/Website/v2.1/css/index.scss */
.logo :hover {
height: auto;
width: auto;
opacity: 1.0;
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
transition: all 0.5s ease; }

/* line 73, /Users/Inkidu/Documents/Hardnose/Website/v2.1/css/index.scss */


/*# sourceMappingURL=index.css.map */

最佳答案

这就是你想对你的鲨鱼做的吗? http://codepen.io/anon/pen/XpGeVG

它适用于 IE、Firefox 和 Chrome。

让我解释一下。首先,HTML:

<div class="logo">
<a href="#" target="_blank">
<img src="http://www.hardnose.be/images/LogoWhiteSmallText.svg" alt="Hardnose Logo" />
</a>
</div>

我认为您不需要 object 标签。至少不是你想要达到的位置和效果。

.logo block 将执行定位。如果没有它,您可以得到相同的结果,直接定位链接,但我保持了您的大部分 HTML 结构不变。

一旦您使用 hrefonclick 属性指定链接,该链接就会执行该操作。仅供引用,target 不是 img 的属性,而是超文本链接的属性。

最后,里面的图像,正在加载您的 SVG 文件。

然后,CSS :

html { height: 100% }
body {
background-color: #3398cc; /* Use gradient here instead */
position: relative;
height: 100%;
}
.logo {
display: block;
margin: auto;
position: absolute;
width: 129px; height: 60px;
top: 0; bottom: 0; left: 0; right: 0;
}
.logo img {
display: block;
opacity: 0.2;
width: 100%;
}
.logo img:hover {
opacity: 1.0;
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
transition: all 0.5s ease;
}

我强烈建议你不要使用 * 选择器。至少在开始的时候。在每个元素上定义您的 CSS 属性,以控制您正在做的事情。

如您所见,logo block 用于将链接定位在屏幕中央。最后,您只需指定图像的不透明度及其悬停时的纵横比变化。

关于html - 当前 CSS 中的 SVG 未显示在 Safari en Chrome 上(此处找到的解决方案不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42246636/

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