内联SVG元素移动悬停区域

迈克尔·希普莱特

我一直在教自己HTML和CSS,最近进入SVG的原因是我正在寻找跨浏览器的文本渐变。我已经设计了一个小按钮,设置了一个div来创建阴影透明效果,设置了一个SVG文本特定的div来避免某些不透明性,然后将SVG文本居中放置在按钮中间。

我还设计了一个悬停区域,以使背景图像恢复可见性。

所以这是问题所在:

在Firefox和Opera中,该元素将:hover区域分别向下和向右扩展约50像素。

但是,在Chrome和Safari中就可以了。

我试图弄乱边距和填充,但是我想知道这是否只是SVG兼容性问题?

另外,所附的代码纯粹是出于实验目的,而不是用于客户,工作或其他任何目的。

这是HTML:

<!DOCTYPE html>
<html>
<head>
    <title>Testing out some designs</title>
    <link rel="stylesheet" tyle="text/css" href="stylesheet.css"/>
</head>

<body>
    <div class="artBox">
        <div class="artBoxButton">
            <div class="buttonSVG">
                <svg>
                    <defs>
                        <linearGradient id="txtgrad" x1="0%" y1="0%" x2="0%" y2="100%">
                            <stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/>
                            <stop offset="100%" style="stop-color:rgb(0,0,0);stop-opacity:1"/>
                        </linearGradient>
                    </defs>
                    <text 
                        fill="url(#txtgrad)" 
                        style="font-family:'Helvetica Neue','Helvetica','Verdana','Arial',sans-serif;
                        font-size:30px;
                        font-weight:200" 
                        x="15" 
                        y="35">Read More</text>
                </svg>
            </div>
        </div>
    </div>

</body>
</html>

这是CSS:

* {
    margin: 0px;
    padding: 0px;
}
.artBox {
    width: 260px; 
    height: 89px;
    border-radius: 10px;
    position: relative;
    top: 10em;
    left: 10em;
    background-image: url('http://i.imgur.com/ki4OY5X.png');
    background-repeat: no-repeat;
}
.artBoxButton {
    text-align: center;
    width: 260px;
    height: 89px;
    background-color: #e6e6e6;
    opacity: 0.9;
    border-radius: 10px;
    box-shadow: 0px 1px 1px 1px #b2b2b2;
    margin: 0px;
}
.artBoxButton:hover {
    opacity: 0.5;
    cursor: pointer;
}
.buttonSVG {
    width: 160px;
    height: 50px;
    position: relative;
    left: 50px; 
    top: 19.5px;
    opacity: 1.0;
}

同样,我只编写HTML和CSS已有大约两个星期,请保持警惕。

罗伯特·朗森

您尚未为<svg>元素指定高度或宽度我想象每个都需要100%或160px的高度和50px的宽度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

增加SVG元素的悬停区域

来自分类Dev

内联CSS的SVG悬停颜色

来自分类Dev

如何移动svg元素?

来自分类Dev

如何使SVG路径悬停区域更大

来自分类Dev

悬停对SVG组元素的影响

来自分类Dev

显示与Button元素内联的SVG元素

来自分类Dev

多个SVG元素上的SVG悬停问题

来自分类Dev

CSS:减小悬停时的元素大小,但保留原始的“悬停区域”

来自分类Dev

悬停时放大元素,但保留原始悬停区域

来自分类Dev

SVG悬停,然后点击移动

来自分类Dev

带有填充在悬停上移动的元素

来自分类Dev

在svg元素中移动<text>

来自分类Dev

悬停在 SVG 路径的未填充区域不起作用

来自分类Dev

带有多个元素的SVG悬停状态

来自分类Dev

更改仅悬停元素的SVG填充

来自分类Dev

用<a>元素包装现有的内联SVG <g>元素

来自分类Dev

将snap.svg元素绑定到svg区域

来自分类Dev

CSS内联块对象在悬停时扩展,悬停时元素失去顺序

来自分类Dev

Snap SVG-移动加载的元素

来自分类Dev

在Firefox中移动SVG元素失败

来自分类Dev

在Firefox中移动SVG元素失败

来自分类Dev

以编程方式从移动设备上的元素中删除“悬停状态”

来自分类Dev

悬停元素上的CSS仅在Firefox中向下移动

来自分类Dev

悬停在素面中时,列表元素不得移动

来自分类Dev

jQuery CSS CSS borderLeft在鼠标悬停时移动元素

来自分类Dev

停止CSS转换以在悬停时移动其他元素

来自分类Dev

在悬停上添加边框会移动周围的元素

来自分类Dev

svgjs,如何在绘制元素后移动视图区域?

来自分类Dev

如何将HTML元素放置在内联SVG上