相关疑难解决方法(0)

如何让SVG图像继承HTML文档中的颜色?

我有一堆SVG图像,我想嵌入一个HTML页面,用CSS设置样式.

我希望能够让SVG中的元素的颜色继承自父HTML元素的颜色属性.

我尝试过设置,style="stroke: none; fill: inherit"但这不起作用.

html css svg colors

30
推荐指数
4
解决办法
2万
查看次数

使用CSS操作外部svg文件样式属性

我试图通过CSS操纵外部.svg文件.

HTML

<body>
    <div class="mysvg">
    <img src="decho.svg" alt="decho" width="200px"></img>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

CSS

div.mysvg img {
    opacity: .3;
    transition: opacity 1s linear 0s;
}
    div.mysvg img:hover {
    opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)

此代码适用于不透明度,但不适用于fill或其他svg特定属性stroke.我知道我不能用img标签这样做,但我一直在寻找几个小时,我找不到正确的方法来做svgobject.

所以基本上,我的问题是,我如何获得与我链接的代码相同的结果,但是能够操作填充,描边等属性并且它必须是外部文件,而不仅仅是粘贴在内部的内联svg代码HTML.

如果有人能够告诉我正确的方法,我会非常感激.谢谢.


编辑:

我设法通过在.svg文件中添加一个css来实现.它必须在svg开始标记之后.

<svg ...>
<style type="text/css" media="screen">  
    <![CDATA[  
    g {  
        fill: yellow;  
        stroke: black;  
        stroke-width: 1;
        transition: fill 1s linear 0s;
    }
    g:hover {
        fill: blue;
    }
    ]]>  
</style> 
<g>
    <path ...>
</g>
</svg> …
Run Code Online (Sandbox Code Playgroud)

html css svg

20
推荐指数
3
解决办法
2万
查看次数

在包含HTML的CSS中使用CSS设置SVG样式

我有一个包含一个名为的简单三角形的SVG文件.该文件名为indicator.svg:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!--Scalable Vector Graphic-->
<svg version="1.1" 
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     xmlns:ev="http://www.w3.org/2001/xml-events"     
     baseProfile="full">
     <polygon points="0,7 7,0 14,7"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

我有一个内置CSS的html,试图设置SVG多边形的颜色:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
.indicator{
    fill:blue;
}
</style>
<title>Untitled Document</title>
</head>

<body>
<img class="indicator" src="images/indicator.svg" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但它不会将SVG中三角形的颜色更改为蓝色.怎么解决这个问题?我希望能够从HTML内部选择三角形的颜色,而SVG本身在一个单独的文件中.

html css svg

15
推荐指数
1
解决办法
2万
查看次数

如何为 svg rect 设置填充颜色

我在 svg 中有以下图标,其中包含一个矩形。我需要染成红色(现在它们是白色的)。使用我当前的 CSS 解决方案,我无法获得想要的结果。知道如何修复它吗?

注意这个问题与其他问题不同,因为它只与 rect 而不是路径有关。

.icon rect {
  fill: red;
}

html {
  background-color: gray;
}
Run Code Online (Sandbox Code Playgroud)
<div class="icon">
  <svg width="50%" height="50%" viewBox="0 0 16 20" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
      <g transform="translate(-28.000000, -26.000000)" stroke-width="2" stroke="#FFFFFF">
        <rect x="43" y="27" width="1" height="18"></rect>
        <rect x="29" y="27" width="1" height="18"></rect>
      </g>
    </g>
  </svg>
</div>
Run Code Online (Sandbox Code Playgroud)

html css svg

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

css ×4

html ×4

svg ×4

colors ×1