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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
380
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
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
740
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
890
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
160
Jitera Company Deck
jitera
0
270
VPCセキュリティ対応の最新事情
nagisa53
1
270
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
140
キャリアLT会#3
beli68
2
240
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
1
270
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
390
現場との対話から始める “作る前に問い直す”業務改善
mochico50
1
220
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
260
_NIKKEI_Tech_Talk__勉強会は熱量では続かない___17回続いた輪読会の設計術.pdf
_awache
1
100
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Why Our Code Smells
bkeepers
PRO
340
58k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Writing Fast Ruby
sferik
630
63k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
420
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
770
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Claude Code のすすめ
schroneko
67
230k
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(כ׆ַ׃ֻזְ
匟歊湫埠 ָ֮הֲ׀ְׂת׃