2012-04-15 25 views
18

Có cách nào trong SVG vẽ một đường thẳng mỏng khi ảnh được kéo dài không?Vẽ một đường không bị dày hơn khi ảnh trải dài

Tôi đang sử dụng một hình ảnh SVG làm nền CSS, một cái gì đó như thế này:

<svg ... preserveAspectRatio="none" viewBox="0 0 15 15"> 
    <line x1="0" y1="15" x2="15" y2="0" 
     color="#000" stroke="#333" stroke-width="1" /> 
</svg> 

(Một đường chéo). Tôi đang kéo dài hình ảnh này thông qua một phần tử hình chữ nhật và khi phần tử lớn hơn, đường thẳng trở nên dày hơn, nhưng tôi cần một đường thẳng mỏng.

Có thể? Một cái gì đó giống như dòng "mỏng" trong flash.

+0

Bằng cách nào được bạn kéo dài nó - với một ứng dụng máy tính để bàn hoặc một thư viện một số loại? Bạn không thể đặt lại 'chiều rộng đột quỵ' sau khi chuyển đổi? – halfer

+0

Tôi đang sử dụng nó làm nền CSS trong trang web. Không thể đặt lại chiều rộng đột quỵ:/ – ezakto

+0

Tôi hoàn toàn không biết thư viện, nhưng tôi cho rằng bạn có thể làm chính xác điều đó với RaphaelJS. Có thể đáng để đi? – halfer

Trả lời

23

Trong trình duyệt mà thực hiện SVG 1.2T bạn có thể có một Opera và Webkit hỗ trợ non-scaling stroke này cũng như Firefox từ phiên bản 15.

<!-- via property --> 
<line … vector-effect="non-scaling-stroke" /> 

<!-- via CSS --> 
<style> 
    line { vector-effect:non-scaling-stroke } 
</style> 
<line … /> 
+2

Webkit cũng hỗ trợ nó, xem https://bugs.webkit.org/show_bug.cgi?id=31438. –

+0

IE9 không hỗ trợ đột quỵ không mở rộng quy mô. Tôi không biết liệu IE10 có hỗ trợ tính năng này hay không. – cuixiping

Các vấn đề liên quan