gpt4 book ai didi

css - Angular 2 创建的 Svg 无法缩放

转载 作者:行者123 更新时间:2023-11-28 10:35:43 25 4
gpt4 key购买 nike

众所周知,带有 viewbox 的 svg-element 应该自动缩放到样式的大小。

例如,我们将一个 200*200 的圆放入一个 100*100 的 div 中。在此之前,让 svg 占用所有 div 的空间。 Svg 被缩放以便我们可以看到完整的圆圈:

div {
width: 100px;
height: 100px;
outline: 1px dotted red;
}

svg {
width: 100%;
height: 100%;
}
<div>
<svg viewbox="0 0 200 200">
<circle cx="100" cy="100" r="99" />
</svg>
</div>

现在让我们将这个标记放入 Angular 2 组件中:

import {Component, View, CORE_DIRECTIVES} from 'angular2/angular2'

@Component({
selector: 'my-app',
template: `
<div>
<svg viewbox="0 0 200 200">
<circle cx="100" cy="100" r="99" />
</svg>
</div>
`
})
export class App {
constructor() {
}
}

我们将看到相同的样式:

Screenshot

为什么会发生这种情况,我该如何解决?
我需要 svg 来自动缩放。

完整示例:http://plnkr.co/edit/jNJNJLo8ygVcp9SIVcDx?p=preview


有趣的是,如果您在 devtools 中选择此 svg 元素并运行

$0.outerHTML = $0.outerHTML

该元素将获得其预期的表示形式。


附言:Same question in Russian.

最佳答案

SVG 区分大小写。正确的属性是 viewBox 而不是 viewbox。

关于css - Angular 2 创建的 Svg 无法缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37701914/

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