html - 为什么我的 svg 在 div 中不可见

标签 html css svg

我想在 div 中显示 svg 元素,但我放在 div 中的 svg 根本不可见。

如何使 svg 在 div 中可见?

http://codepen.io/helloworld/pen/HjkhK

<div style="height:100px;background:yellow;">
  <div style="float:left;background:orange;">

    <svg viewBox="0 0 100 100">
  <title>svg arrow with dropshadow</title>
  <desc>An svg example of an arrow shape with a dropshadow filter applied. The dropshadow filter effect uses feGaussianBlur, feOffset and feMerge.</desc>
  <defs>
    <filter id="dropshadow" height="130%">
      <feGaussianBlur in="SourceAlpha" stdDeviation="3"/> 
      <feOffset dx="2" dy="2" result="offsetblur"/> 
      <feMerge> 
        <feMergeNode/>
        <feMergeNode in="SourceGraphic"/> 
      </feMerge>
    </filter>
  </defs>
  <polygon points="58.263,0.056 100,41.85 58.263,83.641 30.662,83.641 62.438,51.866 0,51.866 0,31.611 62.213,31.611 30.605,0 58.263,0.056" fill="url(#svg_4)" filter="url(#dropshadow)"/>
</svg>

  </div>
  <div style="float:left;background:red;">test333</div>
  <div style="clear:both;"></div>
</div>

body,html{
  height:100%;
  width:100%;
  margin:0;
  padding:0;
}

最佳答案

您需要给出包含的 div 'height' 和 'width' 值,如下例所示:

<div style="height:100px;background:yellow;">
  <div style="float:left;background:orange;height:100%;width:100px;">

<svg viewBox="0 0 100 100">
<title>svg arrow with dropshadow</title>
 <desc>An svg example of an arrow shape with a dropshadow filter applied. The dropshadow filter effect uses feGaussianBlur, feOffset and feMerge.</desc>
<defs>
<filter id="dropshadow" height="130%">
  <feGaussianBlur in="SourceAlpha" stdDeviation="3"/> 
  <feOffset dx="2" dy="2" result="offsetblur"/> 
  <feMerge> 
    <feMergeNode/>
    <feMergeNode in="SourceGraphic"/> 
  </feMerge>
</filter>
 </defs>
<polygon points="58.263,0.056 100,41.85 58.263,83.641 30.662,83.641 62.438,51.866 0,51.866 0,31.611 62.213,31.611 30.605,0 58.263,0.056" fill="url(#svg_4)" filter="url(#dropshadow)"/>
</svg>

</div>
<div style="float:left;background:red;">test333</div>
<div style="clear:both;"></div>
</div>

关于html - 为什么我的 svg 在 div 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17947566/

相关文章:

javascript - "undefined"onchange 事件错误

javascript - 将 React 工具提示与样式化的组件一起使用

java - 如何使用 javafx/css 和 fxml 将 StackPane 节点的背景颜色设置为透明

javascript - Cypress.screenshot 停电 svg 元素

javascript - 当它出现在视口(viewport)中时开始 SVG 动画

html - 如何为按钮设置固定位置?

html - 调整窗口大小时防止元素换行

jquery - 如何去除主页上的水印?

html - 输入类型数字字段接受字母而不是 firefox 和 IE 中的数字

html - 不同上下文中 <use> 元素的 SVG 自定义 CSS 样式