【问题标题】:SVG responsive designSVG 响应式设计
【发布时间】:2016-01-08 07:27:33
【问题描述】:

我的 SVG 徽标是响应式的,但是我不确定它为什么会起作用,我原以为这会更复杂,并且觉得我在这里遗漏了一些东西

这是我的徽标的 HTML:

-logo容器的宽度由引导类col-xs-6定义

-我的 css 中所有图片都设置为最大宽度 {100%}

-标题高度设置为AUTO

<div id="logo" class="col-xs-6 clearfix">
  <img src="images/logo.svg" alt="The website logo">
</div>

这是我的徽标的 XML:

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 57.8 15" enable-background="new 0 0 57.8 15" xml:space="preserve">
<rect x="0.5" y="0.7" fill="#FFFFFF" stroke="#000000" stroke-miterlimit="10" width="56.8" height="13.8"/>
<text transform="matrix(1 0 0 1 15.0075 10.044)" font-family="'MyriadPro-Regular'" font-size="12">logo</text>
<g>
    <g>
        <path fill="#1E6E30" d="M-0.2,3.8c17.7,0.4,35.3,0.5,53,0.3c1.4,0,3.7-2.9,3.8-2.9C39,1.4,21.3,1.3,3.6,0.9
            C2.3,0.9-0.1,3.8-0.2,3.8L-0.2,3.8z"/>
    </g>
</g>
</svg>

我的问题

我需要添加一些删除任何 XML 吗?我应该使用下面的 CSS 吗? SVG 看起来像其他任何图像一样工作,我应该进行任何调整吗?

#logo img 
{
 width: 100%;
 height: 100%;   
}

非常感谢您的宝贵时间

【问题讨论】:

  • 带有 viewBox 和百分比宽度/高度的 SVG 通常是响应式的。你有那些,所以他们是。基本上就这些了。
  • 谢谢罗伯特。如果我画了一个矩形(作为我的徽标)并从 XML 中删除了宽度高度属性,那么我在我的 CSS 中定义徽标 img 宽度 100% 和高度 100%,这样可以吗?我假设徽标只会填充包含徽标的 DIV?
  • 您的 SVG 中没有宽度/高度,您依赖于 100% 的默认值,这对于独立文档来说很好。除非您将 CSS 内联在 SVG 文件本身中,否则您将无法使用 CSS 覆盖它,并且无论如何您都不需要。
  • 看看css-tricks.com/scale-svg——它非常详尽地解释了 SVG 图像的缩放。

标签: html svg


【解决方案1】:

由于它们在您的 svg 容器中没有宽度/高度参数,因此它不知道固定宽度/高度的那些参数。试试这个

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="640" height="480" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 57.8 15" enable-background="new 0 0 57.8 15" xml:space="preserve">
<rect x="0.5" y="0.7" fill="#FFFFFF" stroke="#000000" stroke-miterlimit="10" width="56.8" height="13.8"/>
<text transform="matrix(1 0 0 1 15.0075 10.044)" font-family="'MyriadPro-Regular'" font-size="12">logo</text>
<g>
    <g>
        <path fill="#1E6E30" d="M-0.2,3.8c17.7,0.4,35.3,0.5,53,0.3c1.4,0,3.7-2.9,3.8-2.9C39,1.4,21.3,1.3,3.6,0.9
            C2.3,0.9-0.1,3.8-0.2,3.8L-0.2,3.8z"/>
    </g>
</g>
</svg>

我只是在您的 svg 中添加了宽度/高度参数。

【讨论】:

    猜你喜欢
    • 2013-09-13
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2021-06-17
    相关资源
    最近更新 更多