Giả sử bạn có nhiều thẻ SVG trong đó bạn xác định một đường dẫn clip khác với cùng một ID.clipPath trong nhiều thẻ SVG
<svg id="svg1" width="200" height="200">
<defs>
<clipPath id="nodeclipper">
<rect width="100" height="100" x="0" y="0" />
</clipPath>
</defs>
</svg>
<svg id="svg2" width="200" height="200">
<defs>
<clipPath id="nodeclipper">
<circle cx="20" cy="0" r="40" />
</clipPath>
</defs>
</svg>
Tôi cũng đã thực hiện JSFiddle. Hành vi mong đợi là gì? Tôi nghĩ rằng một yếu tố chỉ có thể tham khảo các định nghĩa bên trong thẻ SVG riêng của mình, nhưng điều đó dường như không phải là trường hợp:
- Chrome 26: Sử dụng
circle
đoạn đường hai lần. - Firefox 17: Sử dụng
rect
đường dẫn clip hai lần. - Safari 6: Mã số
rect
và mộtcircle
đường dẫn clip như mong đợi.
Thật lạ khi bạn hide one of the SVG tags vì Chrome và Safari sau đó thả hoàn toàn clip-path
.
Tôi biết nó hoạt động khi các số clipPath
có các ID khác nhau nhưng có phải là theo cách đó không? Theo như tôi thấy, spec không chứa thông tin về vấn đề này.
Được bỏ phiếu cho tham chiếu đến thông số kỹ thuật. Mặc dù về mặt kỹ thuật chính xác, nó cũng là hành vi khá tinh thần trong bối cảnh tài liệu SVG được nhúng trong trang như thế nào. SVG thường được lấy từ nhiều nguồn khác nhau và cho phép người dùng phải phân tích cú pháp và không gian tên lại để tránh các xung đột tiềm ẩn là khá không thân thiện. –
Ngoài ra, được cho rằng có hai tài liệu svg riêng biệt (xml) bên trong một tài liệu html (non-xml) - có rơi vào cùng một thông số kỹ thuật không? –
Chỉ có một tài liệu. –