Inną metodą tego, która może mieć również ograniczoną obsługę, jest „osadzony SVG w CSS”. Nie próbowałem tego sam, ale pomysł polega na tym, że podajesz zasób obrazu jako adres URL w deklaracji css dla obiektu i przekazujesz mu odpowiednio uratowany adres URL, który zawiera dane.
SVG to zwykły format tekstowy / xml. Przykładowy wielokąt (z w3schools ):
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<polygon points="200,10 250,190 160,210"
style="fill:lime;stroke:purple;stroke-width:1"/>
</svg>
Przykładowy wbudowany (osadzony) SVG (uproszczony) (z stackoverflow ):
url("data:image/svg+xml;utf8, <svg></svg>");
Zauważ, że dane SVG muszą być „ucieczkowe” poprawnie do wbudowanego użycia, co czyni je nieco mniej atrakcyjnymi niż zwykłe łączenie pliku SVG.
W powyższym połączonym wątku znajduje się dyskusja na temat opłacalności metody. Myślę, że osadzenie czegoś tak prostego, jak biały trójkąt jest łatwą decyzją, pod warunkiem wsparcia. Złożone dane w formacie SVG powinny być przechowywane jako plik SVG, a nie wbudowany.
Pliki SVG są wektorowe i mogą być skalowane procentowo, w przeciwieństwie do metody „border”. Mają także (obecnie) lepsze (przynajmniej nieliniowe) wsparcie niż wymieniona metoda ścieżki obcinania. SVG, jako zwykły tekst, może być nawet emitowany w locie przy użyciu np. PHP lub innego skryptu po stronie serwera.