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@CSS nite LP47
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Naoki Matsuda
September 03, 2016
Technology
460
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.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
490
ウェブデザインとセルフブランディング 2018
readymadegogo
2
300
Other Decks in Technology
See All in Technology
AgentGatewayを試してみたかった
tkikuchi
0
110
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
160
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
200
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Building applications in the Gemini API family.
line_developers_tw
PRO
0
1.8k
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
130
正解のないAIプロダクトをどう導くか?dodaが挑む、ユーザーの『本音』を構造化する評価設計と検証のリアル
techtekt
PRO
0
190
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
330
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
250
そのPoC、何を検証したつもりでしたか? AIプロダクトの価値検証で陥った落とし穴
techtekt
PRO
0
150
Agentic Web
dynamis
1
140
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
260
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
So, you think you're a good person
axbom
PRO
2
2.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Paper Plane
katiecoart
PRO
1
51k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
First, design no harm
axbom
PRO
2
1.2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Producing Creativity
orderedlist
PRO
348
40k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
Art, The Web, and Tiny UX
lynnandtonic
304
22k
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
吳䒭⠓爡תר׃ 匟歊湫埠 ָ֮הֲ׀ְׂת׃