Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ハマるSVG@CSS nite LP47
Search
Naoki Matsuda
September 03, 2016
Technology
480
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ハマるSVG@CSS nite LP47
Naoki Matsuda
September 03, 2016
More Decks by Naoki Matsuda
See All by Naoki Matsuda
管理画面の全体UXは利用時品質モデルで考える
readymadegogo
2
3.5k
インターフェースのユーザビリティ概論および調査手法について
readymadegogo
0
390
UIデザインのための行動・認知プロセス
readymadegogo
0
250
知っておくと得をする(かもしれない) SVGの基礎とviewBox
readymadegogo
1
180
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
310
Other Decks in Technology
See All in Technology
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
480
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
300
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
AI臭い文章とは何なのか
nasuvitz
38
77k
Meet AgentCore Identity Consent Portal
hironobuiga
3
160
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
210
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
2k
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
540
20260930_Gemma4_Hands-on
tsho
0
210
[2026 Oracle Technical Deep Dive] エンタープライズAIエージェントを支えるOCIソリューション。ラインナップと特徴を理解しよう! (2026年9月17日開催)
oracle4engineer
PRO
0
280
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
14k
企業の現実世界をグラフで写し取る
sansantech
PRO
0
250
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
We Have a Design System, Now What?
morganepeng
55
8.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Site-Speed That Sticks
csswizardry
13
1.5k
A Modern Web Designer's Workflow
chriscoyier
699
190k
It's Worth the Effort
3n
188
29k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
First, design no harm
axbom
PRO
2
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Are puppies a ranking factor?
jonoalderson
2
4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Transcript
吳䒭⠓爡תר׃ 匟歊湫埠
Sublime Text 3 User 吳䒭⠓爡תר׃ 匟歊湫埠
8FCⵖ⡲罏ךך *MMVTUSBUPSكؙة٦ر٦ةך侄猰剅 ֮ײֹ 瓐加⽆㡦 ♲ꥡٓنꞿ谏㻂ㄤծ㹧愮翯✳ 匟歊湫埠
·Δʲቕ·Δɾర·Δɾṇ·Δʳ ᶃ ͽͬͨΓ߹͍ͬͯΔɻ ᶄ ɾͳͲʹམͪࠐΉɻʮਂΈʹʵɾΔʯʮߔʹʵɾΔʯʮՌआۚͷ;ͪ ʹʵɾΓʗුӢ࢛໎ʯ ᶅ ܭུʹ͔͚ΒΕΔɻʮΘͳʹʵɾΔʯʮࢥ͏ͭ΅ʹʵɾΔʯ ᶆ ݅ʹͽͬͨΓ߹͏ɻద߹͢Δɻ͋ͯ·Δɻʮʹʵɾ͍ͬͯΔʯ
ᶇ ʢʮܕʹ·ΔʯͷܗͰʣߦಈɾදݱͳͲ͕ྨܕతͰ͋Δɻʮܕʹʵɾͬͨจষʯ ʮܕʹʵɾͬͨڭҭʯ ᶈ ઐ೦͢Δɻ·ͨɼເதʹͳͬͯಈ͖͕ͱΕͳ͘ͳΔɻݱͰଏޠతʹ༻͍Δɻ ʮࠓύιίϯʹʵɾ͍ͬͯΔʯʮੈؒϊࣄχʵɾϧʗʯʮਮΒ͖͠உʵɾ ΒͤʗුੈࢠɾҰஉʯʤʮΊΔʯʹର͢Δࣗಈࢺʥ େࣙྛୈࡾ൛ΑΓ
47(ח 㣄⚥חזלծ 縐חכת
47(ח 㣄⚥חזלծ 縐חַַ
47(ךⵃ欽朐屣
،صً٦ءّٝ ؎ٝةؙٓءّٝ Animation & Interaction
https://arrivabusandcoach.co.uk/buses-the-weird-and-wonderful
https://fleximize.com/mission/
ؽآُ،ٓ؎ئ٦ءّٝ Visualization
http://www.bbc.com/news/politics/eu_referendum/results https://nbremer.github.io/olympicfeathers/
http://flowingdata.com/2015/12/15/a-day-in-the-life-of-americans/
ٗ؞ Logos
None
،؎؝ٝ Icons
https://github.com/blog/2112-delivering-octicons-with-svg
https://sarasoueidan.com/blog/icon-fonts-to-svg/
➙㔐כծ崢䩛ז⢪倯״ 㖑ז⢪倯דך縐ח岣湡׃גת׃׳ֲ
ךחծ47(ך暴䗙
Standalone SVG )5.- $44 47( )5.- TWH TWH inline SVG
兛鸐ך歗⫷ؿ؋؎ٕה׃ג邌爙ׇׁ )5.-ך⚥חծ47(؝٦س湫䱸剅ֻ 兛鸐ך歗⫷ה殯ז暴䗙
兛鸐ך歗⫷ה殯ז暴䗙 WJFX#PY XJEUI IFJHIU QSFTFSWF"TQFDU3BUJP 䲽歗걄㚖ך䏟垥禸㹀纏 㹋㼄ך؟؎ؤ䭷㹀 䭁簭儗ך،ألؙز嫰⥂䭯倯岀ך䭷㹀
47(ךعوه؎ٝز 1 鼅 0
*&ה"OESPJE⟃♴ד عو 01
JOMJOF47(ך㜥さ JNH銲稆ך㜥さ *& "OESPJEד47(ך嫰桦ֶַָ׃ְ J04
ז 47(ך넝ׁ٥䌴ָ䭷㹀ׁגְזְ <svg viewBox="0 0 200 200"> … </svg>
ז 47(ך넝ׁ٥䌴ָ䭷㹀ׁגְזְ JOMJOF47(חכ IFJHIUBVUPָ⸬ַזְ QSFTFSWF"TQFDU3BUJPך 䮙⹛חغָؚ֮
鍑寸 TWH銲稆חծXJEUI IFJHIUQYד䭷㹀 <svg viewBox="0 0 200 200" ɹɹɹwidth="200px" height="200px">
… </svg> * CSSͰͷɺwidth,heightࢦఆͰՄ
鍑寸 "Jךչٖأهٝءـպחثؑحؙ׃זְ
JOMJOF47(ך'MVJE⻉ד عو 02
*& 4BGBSJדJOMJOF47(ָ'MVJEחזזְ TDSFFOXJEUI
ז *&דכծIFJHIUBVUPָ⸬ַזְ svg { height: auto; } QYח 㔿㹀ׁ )5.-$BOWBTך➬圫הずׄ
ז 4BGBSJծ$44ָIFJHIU㾩䚍馄ִזְ svg { height: auto; } QYח 㔿㹀ׁ )5.-$BOWBTך➬圫הずׄ
<svg width="200px" height="200px" viewBox="0 0 200 200" style="width: 300px; height: auto"> IFJHIU㾩䚍ָ ⮚⯓ׁ
鍑寸 QBEEJOHIBDL׃EJW銲稆ד㔲ֲ div.svg-container .svg-wrap > svg { display: block; position:
absolute; width: 100%; height: 100%; } .svg-container { position: relative; height:0; padding-top: calc(100%/200*200); } TWH
47(4QSJUFT 47(4UPSF דعو 03
icons.svg index.html Send Mail 47(4QSJUFTָծ邌爙ׁזְװꅾֻז <svg> <use xlink:href="icon.svg#train"/> </svg>
*& &EHFծ㢩鿇47(ַ*%撑דֹזְ icons.svg index.html Send Mail ז
J04⟃ծ撑׀החؙٔؒأز icons.svg index.html Send Mail ז
鍑寸 ،؎؝ٝ欽47(ծ)5.-חJOMJOFד㙵 index.html Send Mail <html> <body> <svg> <symbol id="icon1">…</symbol>
<symbol id="icon2">…</symbol> … </svg> <svg><use xlink:href="icon.svg#icon1"/ ></svg> </body>
J04⟃ծ撑ׅ״ח㹀纏ָ זְה邌爙ׁזְ ז index.html CPEZךꟗׄةؚך湫ח 47(،؎؝ٝ㹀纏׃גծ 撑דֹזְ㉏겗
鍑寸 47(ծ)5.-ךCPEZ湫♴חJOMJOFד㙵
47( CBDLHSPVOEJNBHFד عو 04
*&דծCBDLHSPVOETJ[FDPWFSֶַָ׃ֻז
鍑寸 TWH銲稆ךQSFTFSWF"TQFDU3BUJP㢌刿 <svg viewBox="0 0 200 200" preserveAspectRatio="xMidYMid slice"> …
</svg> * σϑΥϧτͰ "xMidYMid meet"
鍑寸 TWH銲稆ךQSFTFSWF"TQFDU3BUJP㢌刿 preserveAspectRatio="xMidYMid slice" = background-size: cover; background-position: center center;
[JOEFYדعو 05
JOMJOF47(ךTWH銲稆ծ[JOEFYדⵖ䖴דֹזְ 爳㕦礵莔ךꗺך㡮ծ长遤搀䌢ך갟ֹ֮կ尩繎埠ך蔃ך葿ծ渿罏 䗳邜ך椚֮כׅկֶ׀➂⛉׃ַ׆կ僰ך㢸ך㣄ך׀ ה׃կֹֽ罏鹴חכקןטծמהפח괏ךך㞒חずׄկ黅ֻ ך殯劉העִלծ兛ך馠넝ծ恌ך桬蜭ծ咿ךワ⟻ծך犡㿊ծ ֿכ涺ծ傊⚺⯓涽ך佟ח䖞כ׆ծ嚂׃噰ծ镡䙼מ Ⰵ׆ծ㣓♴ך✉ֿה䝎׆׃גծ孖ך䟴סהֿ濼 ׂא׃ַלծ⛉׃ַ׆׃גծ❕ׄח׃罏וזկ z-index: 100;
z-index: 50;
47(ד⢪ִ$44فٗػذ؍כ寸תגְ ז www.w3.org/TR/SVG/propidx.html
鍑寸 47(銲稆ծ)5.-ך銲稆ד㔲גⵖ䖴 爳㕦礵莔ךꗺך㡮ծ长遤搀䌢ך갟ֹ֮կ尩繎埠ך蔃ך葿ծ渿罏 䗳邜ך椚֮כׅկֶ׀➂⛉׃ַ׆կ僰ך㢸ך㣄ך׀ ה׃կֹֽ罏鹴חכקןטծמהפח괏ךך㞒חずׄկ黅ֻ ך殯劉העִלծ兛ך馠넝ծ恌ך桬蜭ծ咿ךワ⟻ծך犡㿊ծ ֿכ涺ծ傊⚺⯓涽ך佟ח䖞כ׆ծ嚂׃噰ծ镡䙼מ Ⰵ׆ծ㣓♴ך✉ֿה䝎׆׃גծ孖ך䟴סהֿ濼 ׂא׃ַלծ⛉׃ַ׆׃גծ❕ׄח׃罏וזկ z-index:
100; z-index: 50; EJW
47(ךذؗأزדعو 06
$ISPNFדծ47(簭㼭儗חذؗأزָֻ׆
剑㼭ؿؓٝز؟؎ؤ鏣㹀ָ剣⸬ַ ז
鍑寸 ذؗأز،ؐزٓ؎ٝ⻉ׅ ׃ծ ؿ؋؎ٕ؟؎ؤָ慧㟓ׅךדծ ؽحزوحف⻉ָكة٦ַ
㺘滠ׇׁػأךꥴד عو 07
נֻאְגְכ׆ךػأず㡦ծ זַꥴָדֹג׃תֲ
鍑寸 눤岀ךMUFSד♧涪鍑寸 <filter id="polycleaner" color-interpolation-filters="sRGB"> <feComponentTransfer> <feFuncA type="table" tableValues="0 0.5
1 1" /> </feComponentTransfer> </filter>
before after
http://codepen.io/grayghostvisuals/pen/JKmRwY
BVUPQSFYFSדعو 08
47(דכ歗⫷זו$44DMJQQBUIדوأؙדֹ = + JNBHF銲稆 DMJQ1BUI銲稆
<svg viewBox="0 0 250 250"> <image xlink:href="xxx.jpg" … class="clip-svg"/> </svg>
.clip-svg { clip-path: url(#clipping); } <svg width="0" height="0"> <defs> <clipPath id="clipping"> <polygon … /> </clipPath> </defs> </svg> JNBHF銲稆 وأؙ欽ךDMJQ1BUI銲稆 $44
4BGBSJדכծكٝت٦فٔؿ؍حؙأ➰ָֹ ⢘鎸׃ג֮הوأָؙ⸬ַזְ ז -webkit-clip-path: url(#clipping); clip-path: url(#clipping); -webkit-clip-path: url(#clipping); clip-path:
url(#clipping);
鍑寸 ˖ 搀椚ׇ׆ծ47(ךDMJQQBUI㾩䚍⢪ֲ ˖ BVUPQSFYFS麓⥋׃זְ <defs> <clipPath id="clip"> … </clipPath>
</defs> <image xlink:href="xxx.jpg" … clip-path="url(#clip)" />
3FBDUדعو 09
3FBDUדכ⢪ִ47(ך銲稆חⵖꣲָ֮ ז https://facebook.github.io/react/docs/tags-and-attributes.html
鍑寸 如ך銲稆⟃㢩⢪זְ • circle • clipPath • defs • ellipse
• g • image • line • linearGradient • mask • path • pattern • polygon • polyline • radialGradient • rect • stop • svg • text • tspan
鍑寸 TZNCPM銲稆ծVTF銲稆כ⢪ִזְךדծ 3FBDUDSFBUF$MBTTד؝ٝه٦طٝز⻉ const IconUmbrella = React.createClass({ render() { return
( <svg className="umbrella" xmlns="http://www.w3.org/ 2000/svg" width="32" height="32" viewBox="0 0 32 32" aria- labelledby="title"><title id="title">Umbrella Icon</title><path d="M27 14h5c0-1.105-1.119-2-2.5-2s-2.5 0.82… z"/></svg> ) } }); https://css-tricks.com/creating-svg-icon-system-react/
鍑寸 3FBDUַծׅץגך47(銲稆ה㾩䚍ָ אִַ״ֲחזת׃ https://facebook.github.io/react/docs/tags-and-attributes.html
47(ךت؎ؒحزד عو 10
וֲ׃גծ47(ؿ؋؎ٕ؟؎ؤָ㣐ֹֻז
鍑寸 ˖ ،ٝؕ٦ه؎ٝزך侧幾ׅ ˖ ך䏟垥侭侧⦼חさׇ
鍑寸 <rect x="80" y="40" fill="#FFCC00" width="30" height="30"/> <path fill="#FFCC00" d="M201.3,61.8c-3.3-18.1,7-36.8,..."/>
<polygon points="43.3,67.8 86.6,142.8 ..." fill="#FFCC00"/> QBUI銲稆ח㢌䳔׃ծ㾩䚍ך鎸鶢갫䲧ִծ H[JQ㖇簭遤ֲ
鍑寸 ؝٦سⰻחずׄ鎸鶢皘䨽ָ㢳ְקוծ 㖇簭⸬桦כぢ♳ׅ <path fill="#FC0" d="M80 40h30v30H80z"/> <path fill="#FC0" d="M201.3
61.8c-3.3-18.1 7-36.8…"/> <path fill="#FC0" d="M43.3 67.8l43.3 75H0"/>
ְַָד׃ד׃׳ֲַ
չ47(ծוְֻׁזպ ה䙼ת׃י
זהֹכծ 䩛㛙ְ⢪ְ倯ַכׄ
˖ ⽃杝ך47(ؿ؋؎ٕ ˖ TWH銲稆חכծWJFX#PY XJEUI IFJHIU㾩䚍䭷㹀 ˖ )5.-ךJNH銲稆ד⢪ֲ
J04 ֿזծוךـٓؐؠדקר㣐♱㣗
None
IUUQCJUMZMQTWHMJOL
吳䒭⠓爡תר׃ 匟歊湫埠 ָ֮הֲ׀ְׂת׃