html - svg 元素的位置
问题描述
我试图在这个绿色矩形前面放一个多边形,这样它就可以看起来像巴西国旗。我的代码:
<svg class="green"
version="1.1"
baseProfile="full"
xmlns="http://www.w3.org/2000/svg">
<rect x=0 y=0 height=450 width=800 fill="#009B3A"/>
<polygon x=0 y=0 points="400,430 600,215 400,30 200,215" fill="#FEDF00"/>
</svg>
有趣的是多边形元素没有出现在矩形的前面,这让我感到困惑。我制作了一个丹麦国旗 svg,它看起来很好,白色条带出现在红色矩形前面,正如他们应该的那样,我的丹麦国旗代码:
<svg
version="1.1"
baseProfile="full"
xmlns="http://www.w3.org/2000/svg">
<rect x=0 y=0 height=450 width=800 fill="#C60C30"/>
<rect x=200 y=0 height=450 width=60 fill="#FFF"/>
<rect x=0 y=175 height=60 width=800 fill="#FFF"/>
</svg>
我希望它有办法为巴西国旗做同样的事情
解决方案
添加viewBox="0 0 450 800"
和 transform="translate(-175 0)"
这将为黄色钻石设置正确的位置
<svg class="green"
version="1.1"
baseProfile="full"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 800">
<rect x=0 y=0 height=450 width=800 fill="#009B3A"/>
<polygon transform="translate(-175 0)" points="400,430 600,215 400,30 200,215" fill="#FEDF00"/>
</svg>
推荐阅读
- google-analytics - Google Analytics Management API 写入请求配额限制
- r - 如何在 S4 类中初始化新对象?
- jquery - 刷新后如何重新加载滚动功能
- javascript - Sticky JS 在平板电脑/手机屏幕上不起作用
- c# - 将 IEnumerable 转换为 IList 返回 null
- vba - 动态复选框互斥
- angular - 如何使用静态数据预填充字段并使用 angular2 在单击时获取空白部分
- javascript - 如何在 React 中执行返回功能
- r - R中栅格上的`values`和`getValues`之间的区别
- javascript - D3.js v4+:截断文本以适应固定空间