Czy istnieje sposób edycji plików SVG w programie Illustrator, w którym można określić klasę CSS dla każdej ścieżki?
Wiem już w programie Illustrator, że jeśli nadasz nazwie warstwy faktyczną nazwę, Illustrator użyje tej nazwy jako identyfikatora ścieżki, co jest w porządku, jeśli nie planujesz ponownego użycia ikony więcej niż raz na tej samej stronie.
Moim bieżącym obejściem jest po prostu użycie metody ID, ale później konwersja ID na klasy w moim edytorze kodu, ale dość denerwujące jest to, że muszę to robić za każdym razem, gdy generuję duszka SVG.
Jeśli nie jest to obecnie możliwe w programie Illustrator, czy istnieją inne aplikacje, które pozwalają to określić? A może pakiet Grunt lub Gulp?
Wygląda na to, że możesz zrobić to z Inkscape za pomocą hacka , więc mogę na to spojrzeć, jeśli nie ma innych dobrych rozwiązań.
źródło
Odpowiedzi:
Robię to z zadaniem Grunta. Używając „pomrukuj tekst” jestem w stanie przekazać moje zminimalizowane pliki SVG (svgmin) przez niestandardowe wyrażenie regularne, które zastępuje wszystkie zniekształcone odwołania do klas odpowiednimi klasami.
W programie Illustrator zadeklaruj na przykład nazwę warstwy / obiektu jako class = "tree" . Zostanie to wyeksportowane przez Illustrator jako id = "class =" tree "" . Poniższe zadanie gruntu zajmie się tym i sprawi, że będzie to class = "tree" . Wklejam również poniżej inne podzadania, które wykonają czyszczenie identyfikatora (zalecane).
Następnie możesz wywołać to zadanie w swoim Gruntfile jako:
źródło
Wygląda na to, że link wysłany przez Iana Dunna może być twoim biletem. Oto fragment tej strony :
Program Illustrator może eksportować style graficzne jako CSS w elemencie stylu i stosować je za pomocą klas w kodzie SVG. W ten sposób możesz generować klasy w eksportowanym pliku SVG. W zależności od tego, co chcesz zrobić, możesz po prostu zdefiniować je w innym pliku CSS i usunąć definicje stylów z eksportowanego pliku SVG.
Stwierdzono to na połączonej stronie, ale ze względu na kompletność program Illustrator wygeneruje element stylu i klasy tylko wtedy, gdy zostanie ustawiony
CSS Properties: Style Element
w obszarze Zaawansowane (może być konieczne kliknięcieMore Options
) okna dialogowego Opcje SVG:Chciałbym również zauważyć, że wygenerowany kod nigdy nie będzie idealny dla wszystkich sytuacji. Odręczny kod wydaje się być lżejszy i łatwiejszy do odczytania dla ludzi (jeśli o to właśnie chodzi). Poleciłbym przeczytać dokument Quibika użytkownika Wikimedia na temat ręcznego czyszczenia plików SVG i rzucić okiem na grunt-svgmin .
źródło
Właśnie natrafiłem na ten problem i znalazłem następujące rozwiązanie (dla programu Illustrator CC):
Zastosuj nazwane „Style graficzne” do ścieżek, które chcesz nazwać, i wyeksportuj SVG z wewnętrznym CSS. Na przykład styl graficzny o nazwie moja ikona definiuje wewnętrzny
my-icon
klasę i zastosuje tę klasę do odpowiednich ścieżek.Przykład ze zrzutami ekranu:
Utwórz nowy styl graficzny:
Eksportuj jako ... SVG:
Wydajność:
<defs><style>.my-icon{ fill:#000; }</style></defs> <path class="my-icon">...</path>
Źródło: https://www.viget.com/articles/5-tips-for-saving-svg-for-the-web-with-illustrator
CC: program illustrator używa zdefiniowanych stylów graficznych do tworzenia nazwanych klas (inteligentne, przydatne)
źródło
W programie Illustrator 21.0.0 (2017) i prawdopodobnie we wcześniejszych wersjach:
Elementy SVG otrzymają atrybut klasy o wartości „mój styl”. Następnie możesz użyć zewnętrznego CSS, aby zastąpić style.
Zauważ, że jeśli nazwa twojego stylu zawiera spację, zostanie przekonwertowana na myślnik.
źródło
Prosty sposób na zrobienie tego, podobny do zadania Grunta, ale jeszcze łatwiejszy:
Wszystkim obiektom, które chcesz stworzyć klasę, nadaj nazwę na przykład: „myClassmainCircle” i „myClassmainStar”. Po wyeksportowaniu zamień wszystko: „id =" myClass ”na„ class = "”
Wynik będzie następujący: class = "mainCirle" class = "mainStar"
źródło