Czy można ustawić background-imagedla <path>elementu SVG ?
Na przykład, jeśli ustawię element class="wall", styl CSS .wall {fill: red;}działa, ale .wall{background-image: url(wall.jpg)}też nie .wall {background-color: red;}.
bardzo dobrze, czy to działa również z obrazami base64? zamiast wall.jpg coś takiego data:image/png;base64,iVBORw0KGgoAAjak w normalnym CSS?
Christoph
12
@Christoph Nie wiem, spróbuj i zobacz.
robertc
2
@robertc Próbowałem i to nie zadziałało, ale miałem zduplikowany element stylu. Eliminując to, działało dobrze;)
Christoph
4
@robertc: Mam pytanie dotyczące Twojej odpowiedzi. Wzór zaczyna się od współrzędnych globalnych (0,0). Czy jest możliwe, aby wzorzec korzystał z lokalnego układu współrzędnych z dołączonego obiektu? Chcę narysować prostokąt w różnych miejscach w moim svg i co się dzieje, że wzór jest powtarzany w tle otworu, a obiekty są używane jako maski.
Odpowiedzi:
Możesz to zrobić, przekształcając tło we wzór :
Dostosuj szerokość i wysokość zgodnie z obrazem, a następnie odwołaj się do niego ze ścieżki w następujący sposób:
Przykład roboczy
źródło
data:image/png;base64,iVBORw0KGgoAA
jak w normalnym CSS?xlink:href
jest przestarzała od SVG 2 i po prostu użyjhref
teraz. developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href