javascript - 避免在响应式 SVG 上拉伸(stretch)细长边框

标签 javascript css svg

有没有办法,可能没有 JS,生成响应式 SVG,其中倾斜边框不随宽度拉伸(stretch)?请不要回复“使用 CSS”,因为我需要创建一个复杂的掩码,而单独使用 CSS 是不可能的。

body {padding: 20px}
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
	<svg preserveAspectRatio="none" width="100%" height="60" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 350.47 32.42">
	<defs><style>.cls-1{fill:#fff;stroke:#231f20;stroke-miterlimit:10;}</style></defs>
	<title>test</title>
	<polygon class="cls-1" points="0.93 31.91 21.34 0.5 333.39 0.5 349.62 31.91 0.93 31.91"/>
	</svg>
</body>
</html>

enter image description here

最佳答案

preserveAspectRatio 更改为 "xMaxYMax" 以避免拉伸(stretch)并将 height 更改为 "100%" 让矩形如果需要大屏幕,可以增长

body {padding: 20px}
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
	<svg preserveAspectRatio="xMaxYMax" width="100%" height="100%" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 350.47 32.42">
	<defs><style>.cls-1{fill:#fff;stroke:#231f20;stroke-miterlimit:10;}</style></defs>
	<title>test</title>
	<polygon class="cls-1" points="0.93 31.91 21.34 0.5 333.39 0.5 349.62 31.91 0.93 31.91"/>
	</svg>
</body>
</html>

关于javascript - 避免在响应式 SVG 上拉伸(stretch)细长边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36597688/

相关文章:

javascript - $ ('label' ).css ('width' ) 在 Chrome 中返回错误值

html - CSS 网格中的最后一行不适合我的 html

css - 如何使用 CSS3 创建 reuleaux 三 Angular 形

javascript - 返回未定义的值

javascript-----我的javascript有什么冲突

javascript - React-router 链接不会被访问

html - 3 个 Div、2 个固定宽度和 1 个流体

javascript - Google Cloud 上的 Ajax 到 Python

javascript - 错误 : NS_ERROR_FAILURE in firefox while use getBBox()

css - 使用 CSS wave 的动画文本