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
Incremental HTTP
kazuho
4
1.4k
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
200
ScotSecure West 2026 - Glasgow
raybugg
0
210
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
240
セルフサービスのオブザーバビリティ基盤をOpenTelemetryで作る / Building a Self-Service Observability Platform with OpenTelemetry
ymotongpoo
3
480
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
660
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
400
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
1.8k
AWS FinOps Agent 結局何が得意なの?
siromi
0
220
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
190
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
270
20260929_AmazonGuardDutyの検出通知メールにAWS DevOpsAgentの調査結果を追加する
yhana
1
380
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
250
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.3k
ラッコキーワード サービス紹介資料
rakko
1
5.1M
Paper Plane
katiecoart
PRO
4
53k
Prompt Engineering for Job Search
mfonobong
0
460
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
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
吳䒭⠓爡תר׃ 匟歊湫埠 ָ֮הֲ׀ְׂת׃