Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SVG MANIAX
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Naoki Matsuda
January 23, 2016
Technology
120
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SVG MANIAX
Naoki Matsuda
January 23, 2016
More Decks by Naoki Matsuda
See All by Naoki Matsuda
管理画面の全体UXは利用時品質モデルで考える
readymadegogo
2
3.4k
インターフェースのユーザビリティ概論および調査手法について
readymadegogo
0
370
UIデザインのための行動・認知プロセス
readymadegogo
0
240
知っておくと得をする(かもしれない) SVGの基礎とviewBox
readymadegogo
1
170
XDはBeautiful SVGの夢を見るか
readymadegogo
4
1.5k
webフォントを120%活用するための基礎知識&最新動向
readymadegogo
7
3.7k
SVG is on your side @ MTDDC 2018
readymadegogo
6
2.1k
デザインフェーズにおけるワイヤーフレームとの付き合い方@WCAN201802
readymadegogo
5
500
ウェブデザインとセルフブランディング 2018
readymadegogo
2
300
Other Decks in Technology
See All in Technology
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
1.2k
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
130
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
250
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
130
自宅LLMの話
jacopen
1
610
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
140
[AWS Summit Japan 2026]迷っているあなたへ_小さな一歩が、やがて自分を助けてくれる
sh_fk2
1
120
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
130
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1.2k
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
200
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
290
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
Done Done
chrislema
186
16k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
210
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
200
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Transcript
SVG MANIAX Scalable Vector Graphics in AKITA দాथ 贃ך瑎8FC$SFBUPS.FFUVQ7PMչوٕثرغ؎أ㼎䘔պ
匟歊湫埠 $$0 8FC%FTJHOFS
47(⯋䎃
47(⯋䎃 ה鎉ְ竲ֽגծכװ䎃ְֻ穗麓
9~ 3.2~ 4~ 3~ 3.0~ 3.2~ ״ֲװֻ ⢪ִ橆㞮ך倯ָءؑ،ָرֻؕז iOS
47(琎噰涸ח⢪ְְ ׀儗⚅חⰅ
47(ךֽֿכ椚鍑׃הֽ
WJFX#PY
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200px" height="200px" viewBox="0 0 200 200" >
<circle cx="100" cy="100" r="100"/> </svg>
width="200px" height="160px" viewBox="0 0 200 160" ج४ͷxy࠲ඪ viewBoxͷ෯ viewBoxͷߴ͞
WJFX#PYך⦼ 䏟垥禸 邌爙؟؎ؤ WJFX#PY XJEUI IFJHIU width="200px" height="160px" viewBox="0 0
200 160" ͒
width="100px" height="100px" viewBox="0 0 200 200" <circle cx="100" cy="100" r="100"/>
QY QY ⰼך湫䖇כ 䏟垥 47(ך䏟垥 ـٓؐؠךQY = WJFX#PYך⦼הXJEUI IFJHIUך⦼כⴽ暟ד֮ QY =
WJFX#PYך䭷㹀ָזְ㜥さ QY QY ⰼך湫䖇כ 䏟垥 ⴱ劍䏟垥禸 QY = = 47(ך䏟垥
鋵銲稆ך؟؎ؤ width="100px" height="100px" viewBox="0 0 200 200" <circle cx="100" cy="100" r="100"/>
䏟垥ך؟؎ؤכծXJEUI IFJHIUח״ג㢌 խWJFX#PYח״ խ㢌䳔ׁ䏟垥 䏟垥ך⽃⡘ךֿה 䏟垥禸㢌䳔 ⵃ欽⽃⡘
ֿ椚鍑׃גֶֻֿהָ 47(ך邌爙דعوזְ؝خ WJFX#PY XJEUI IFJHIU QSFTFSWF"TQFDU3BUJP ͱɺͱ͖Ͳ͖
*MMVTUSBUPSד47(⥂㶷儗ծٖأهٝءـպ ثؑحؙׅהծTWH銲稆חXJEUIהIFJHIU㾩䚍ָ 䭷㹀ׁזְ 1PJOU
iOS 暴ח؝؎خה؝؎خךֶ⚅鑧ךח䗳⥜דׅ
iOS width="200px" height="160px" viewBox="0 0 200 160" ˖ $44ד䭷㹀ׅלծ㾩䚍ך⦼״⮚⯓ׁ ˖
*&דכչIFJHIUBVUPպָ⸬ַזְ ˖ "OESPJEתדչQSFTFSWF"TQFDU3BUJPպ䭁簭嫰桦ךغָؚ֮ ˖ זךדծٖأهٝءـ'MVJEחׅחכծJGSBNFךٖأهٝءـַהずׄ䩛岀 WJFX#PY䭷㹀֮կX IכչQYպ䭷㹀ָׅし
זחծ47(ךٖٝتؚٔٝכ *&װ&EHFָ剑笺뜧
㙵鴥倯
㣐ֹֻⴓֽג 珏겲
Dynamic Interactive Mode Animated Mode Secure Animated Mode Static Mode
Secure Static Mode SVGͷͯ͢ͷػೳΛ දࣔ ɾ ॲཧϞʔυ Ξχϝʔγϣϯ ॲཧϞʔυ Ξχϝʔγϣϯ ॲཧϞʔυ ੩ࢭըදࣔϞʔυ * আ͞ΕΔ༧ఆ ੩ࢭըදࣔϞʔυ ֎෦Ϧιʔεࢀর εΫϦϓτͷ࣮ߦ ΠϯλϥΫγϣϯॲཧ ʢΠϕϯτ ɾ ϦϯΫʣ SMILΞχϝʔγϣϯ HTML <img> HTML <object> <embed> <iframe> HTML5 inline SVG CSS background content HTML <img> CSS background content
ֿ椚鍑ְְ♳ד˘
47(⢪ְֻז 㣐طة
歗⫷ⰻחر٦ةה圓鸡ⰻ⺪דֹ 1
խխ歗⫷խד֮ծխխ俑剅խד֮ 47(כ
9.-俑剅ַծׅץגך㔳䕎כչ銲稆պ 俑㶵ر٦ةذؗأزظ٦سろ 歗⫷ך⚥ח،ؙإءؽٔذ؍然⥂דֹ
+1&(װ1/(ך➿剏ذؗأز alt="·͙Ζͷण࢘" longdesc="http:// example.com/desc1"
47(דכ銲稆׀החة؎زٕذؗأز縧ֽ <g> <title>͍͘Β</title> <desc>…</desc> </g> <g> <title>ւଽͱγϟϦ</title> <desc>…</desc> </g> <g>
<title>͓ࡼ</title> <desc>…</desc> </g> <title>͍͘Βͷ܉؋</title>
SPMFהBSJBMBCFMMFECZ鷄鎸ׅל أؙٔ٦ٝٔ٦ت٦㼎䘔דֹ <svg viewBox="0 0 100 100" role="img" aria-labelledby="title desc">
<title id="title">ϋϯόʔΨʔ</title> <desc id="desc">ϋϯόʔΨʔͷϑϥοτͳ ΠϥετΞΠίϯ</desc> … </svg>
͜Μͳάϥϑ"ݸʑͷཁૉ͝ͱ"ʹ ΞΫηγϒϧʹ͢Δ͜ͱ͕Ͱ͖Δ 0 30 60 90 120 150 ล ాத
ߴڮ ླ ࠤ౻ ⡟谏 挿 ꈿ加 挿 넝堀 挿 歊⚥ 挿 床鴟 挿
DEMO
ֿזծ兛鸐כ铣♳־זַדֹזֲׁז ♧卐歗⫷תדָ،ؙإءـٕח
ػ٦خךٌآُ٦ٕ⻉ⱄⵃ欽䚍 2
EFGT銲稆 TZNCPM銲稆 VTF銲稆 ٌآُ٦ٕ㹀纏 ٌآُ٦ٕ撑
47(ךׅ׀ְהֿ ずׄ47(俑剅ⰻծ׃ֻכ㢩鿇ך47(俑剅ⰻך ⦐ղך㔳䕎וֿדדⱄⵃ欽דֹ HTML5 ͷ Web Components Λઌߦ࣮͍ͯ͠ΔΑ͏ͳͷ͔ͳʁ
銲稆ךⱄⵃ欽 <symbol id="s"> <path d="..."/> </symbol> <use xlink:href="#s" x="20" y="10"
fill="#fc0"/> TZNCPM銲稆荈⡤כ㹋⡤ךזְ㔳䕎 VTF銲稆דⱄⵃ欽׃גⴱג邌爙דֹ 1PJOU TZNCPMך㜥さծ鋵47(銲稆הכⴽך杝甧׃WJFX#PY 䭯גךדծⱄⵃ欽׃ꥷך؟؎ؤ㢌刿〳腉
<symbol id="tw"> <path d="M64,6.2c-1.1,0.6-4.3,1.8-7.3,2.1c1.9-1,4.8-4 .5,5.5-7.2c-1.9,1.2-6.1,2.9-8.2,2.9v0C51.5,1.6, 48.2,0,44.4,0 c-7.3,0-13.2,5.9-13.2,13.2c0,1,0.1,2,0.3,2.9h0c -9.9-0.3-20.7-5.2-27.2-13.7c-4,6.9-0.5,14.6,4,1 7.4c-1.6,0.1-4.4-0.2-5.8-1.5 C2.5,23,4.7,29.1,12.7,31.3c-1.6,0.8-4.3,0.6-5.5
,0.4c0.4,3.9,5.9,9,11.8,9c-2.1,2.5-10.1,6.9-19, 5.5C6.1,49.9,13.2,52,20.7,52 c21.3,0,37.8-17.3,37-38.6c0,0,0,0,0-0.1c0-0.1,0 -0.1,0-0.2c0-0.1,0-0.1,0-0.2C59.5,11.7,62.1,9.3 ,64,6.2z"/> </symbol> <use xlink:href="#tw" x="20" y="0" fill="#319aec"/> <use xlink:href="#tw" x="40" y="0" fill="#319aec"/> <use xlink:href="#tw" x="60" y="0" fill="#319aec"/> <use xlink:href="#tw" x="80" y="0" fill="#319aec"/> ؝٦سꆀ眍秈דֹ
47(4QSJUFT JOEFYIUNM JDPOTTWH Send Mail 卐ך47(ך⚥ח֮㔳䕎ծ⦐ⴽחוֿחד邌爙דֹ 1PJOU <svg> <use xlink:href="icon.svg#train"/>
</svg>
DEMO
˖ WJFX#PY杝荈ח㹀纏דֹծ⽃杝דך䏟垥禸䭯א ˖ אתծVTF銲稆דⱄⵃ欽ׅꥷח؟؎ؤ㢌刿דֹ䏟垥禸㢌䳔 ˖ *MMVTUSBUPSךءٝنٕכTZNCPM銲稆ח㢌䳔ׁ ˖ 㔳䕎銲稆ؚٕ٦ؾؚٝ׃ג⽃חذٝفٖ٦ز⻉׃ך ˖ ⽃杝ך䏟垥禸כ䭯׆ծⱄⵃ欽儗ח؟؎ؤכ㢌刿דֹזְ
TZNCPM銲稆הEFGT銲稆ך麩ְ TZNCPM銲稆 EFGT銲稆
ֻׁה،صً٦ءّٝ 2
47(ך،صً٦ءّٝכ 㣐ֹֻⴓֽג珏겲 4.*-،صً٦ءّٝ $44،صً٦ءّٝ 47(%0.،صً٦ءّٝ
4.*-،صً٦ءّٝ 㼛勻涸ח䐖姺٥窟さ✮㹀זךד 䘌גְְדׅ $ISPNF⟃꣬דכծׅדחꬊ䱿㤺הזגְ 1PJOU
$44،صً٦ءّٝ $44ךBOJNBUJPO USBOTJUJPOדך ،صً٦ءָّٝ〳腉ָ˘ ׃ծ⹛ַׇךכ 47(ד⢪ִ$44فٗػذ؍חꣲ *&דכծ47(ך銲稆חUSBOTGPSNָתֻ⸬ַזְךד $44דכ㔳䕎獳⹛٥㢌䕎ׇֿׁהָדֹזְ 1PJOU 1PJOU
$44،صً٦ءّٝ אתծ$44ד䭷㹀דֹזְ㾩䚍⦼כ،صً♶〳腉 <circle cx="120" cy="120" r=“100" />
㔳䕎ך㣐ֹׁծ⡘縧ծػأ䕎朐זו䭷㹀ׅ 㾩䚍כծ$44דכ䭷㹀דֹזְ
IUUQXXXXPSH5347(QSPQJEYIUNM 47(ד⢪ִ$44فٗػذ؍♧鋮 1PJOU
$44،صً٦ءّٝ .FEJB2VFSJFTה PQBDJUZזַ穈さׇךכ0,
IUUQBTDJJKQFMFN
47(%0.،صً٦ءّٝ +BWB4DSJQUד47(ך%0.乼⡲׃ג ،صً٦ءׇׁّٝ 47(銲稆ך㾩䚍⦼剅ֹ䳔ִկ㹋颵涸חזדדֹ 1PJOU 47(%0.%0.-FWFMכ)5.-%0.%0.-FWFM הכⴽ暟זךדծK2VFSZדכ銲稆欰䧭זודֹזְ 1PJOU 㢩鿇ך47(ؿ؋؎ٕծJNH銲稆װ$44CBDLHSPVOEד 撑邌爙ׇׁ㜥さծ➬圫♳תֻ⹛ַזְ
1PJOU
47(%0.،صً٦ءّٝ var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); rect.setAttribute("x", "50"); rect.setAttribute("y", "50");
rect.setAttribute("width", "100"); rect.setAttribute("height", "100"); rect.setAttribute("fill", "red"); var rot = 0; setInterval(function(){ rect.setAttribute("transform", "rotate(" + rot + " 100 100)"); rot = rot + 1; }, 10); document.querySelector("svg").appendChild(rect);
47(%0.،صً٦ءّٝ 47(欽ך،صً٦ءّٝٓ؎ـٓٔ⢪ֲֶ IUUQTHSFFOTPDLDPN IUUQKVMJBODPNSFTFBSDIWFMPDJUZ IUUQTOBQTWHJP 넝堣腉ז窟さ،صً٦ءّٝٓ ؎ـٓٔկ 47(ך،صً٦ءّٝ欽鷿׀ה חفؚٓ؎ٝ㼪Ⰵ׃ג⢪欽ׅ կ׳הꨇ׃ְկ
K2VFSZךBOJNBUF✼䳔הזג ְ،صً٦ءّٝٓ؎ـٓٔկ 〳腉זꣲ$44⢪גֻ ךד،صً٦ءّٝך넝鸞⻉ָ 㔳կ 㸣Ⰻח47(㼔欽ךٓ؎ـٓٔկ 47(ך欰䧭װծ㢩鿇ך47(ؿ؋ ؎ٕ《鴥דⰻ鿇乼⡲ׅ ֿה〳腉կ K2VFSZٓ؎ؙח剅ֽկ 넝堣腉 ֶׅׅ
DEMO +
47(%0.،صً٦ءّٝ )5.-װ$BOWBTדך،صً٦ءّٝדכ ػ٦خ׀הח剅ֹ⳿ׅ䗳銲ָ֮ めんどい!
47(%0.،صً٦ءّٝ 47(זծⰋ⡤剅ֹ⳿׃䖓圓鸡 ךתת⥂䭯׃גְךדծػ٦خך䪔ְָ嚂
IUUQTHSFFOTPDLDPNUXFFONBY
IUUQDPEFQFOJPQQQQQFO&72C:R
ꆙֽ ⹛ַׇ 湡ֽ ⹛ַׇ 47(כ 卐窩ׁה剅ֹ⳿׃גծ ׳ֿה鿇ⴓ涸ח⹛ַׅךחぢְג
״ֻ֮颵㉏
鯪ֻׅ倯岀כ
ΞϯΧʔϙΠϯτͷ 1854 ϑΝΠϧ༰ྔ 66KB ΞϯΧʔϙΠϯτͷ 461 ϑΝΠϧ༰ྔ 29KB ،ٝؕ٦ه؎ٝز幾ׅ
ΞϐΞϥϯεͰɺԼ͔Β ʮઢˠઢˠృΓʯͷॱ൪ͱͨ͠ਤܗ 47( ʹอଘ͢Δͱɺࣗಈతʹׂ͞Εɺ ̏ͭͷಉਤܗ͕ॏͶΒΕΔ SFDU ཁૉ SFDU ཁૉ SFDU
ཁૉ ،ؾ،ٓٝأ㢳欽׃זְ
؝٦سך㼭侧挿⟃♴ך呞侧䫇ִ
47(0.(זוד剑黝⻉ׅ https://jakearchibald.github.io/svgomg/
MUFSכ䗳銲剑⡚ꣲח http://jorgeatgu.github.io/svg-filters/
*&װ"OESPJEזוד 嫰桦ָ期ג邌爙ׁ
None
iOS width="200px" height="160px" viewBox="0 0 200 160" WJFX#PY䭷㹀֮կX IכչQYպ䭷㹀ׅ
47(ךٖأهٝءـ⻉כ 鋵銲稆ךQBEEJOHUPQד TWHXSBQ TWH .svg-wrap > svg { display: block;
position: absolute; max-width: 100%; width: 100%; height: 100%; } .svg-wrap { position: relative; height:0; padding-top: 60%; } ֿך㜥さכծTWH銲稆ךXJEUI IFJHIUכ䭷㹀׃זְֿה 1PJOU
ؿؓ٦ٕغحؙכ
ؿؓ٦ٕغحָؙ䗳銲זךכծ⚺ח؝؎خ IE 8 Android 2
IE 8 Android 2 銲⟝ה׃גוֲ׃ג㼎䘔ׅץֹ儗כ չ47(⢪זְպ
⹈䓼ׅךחְְ؟؎زכ
IUUQTXXXESPQCPYDPNTZLI[TDNTWMUGPMMPXVQ@TWH@MJOLTNE EMQSFWJFXGPMMPXVQ@TWH@MJOLTNE
הְֲֿהד ת׆כ47(兛鸐ך歗⫷ה׃ג ⢪ג״ֲ
׆ַ׃ְֿה׃זֽל 47(כ׆ַ׃ֻזְ
匟歊湫埠 ָ֮הֲ׀ְׂת׃