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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
160
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
560
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
120
Goodbye ShellScript, Hello File-based App
shunsock
0
1.2k
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
250
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
830
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
4
1.3k
AIは推し活である。
kurazuuuuuu
2
990
SREへの勘違いに気づいた後の話
tomodakengo
0
180
品質と信頼性を地続きにする
grimoh
3
1.3k
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
730
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
920
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
Rails Girls Zürich Keynote
gr2m
96
14k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
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
吳䒭⠓爡תר׃ 匟歊湫埠 ָ֮הֲ׀ְׂת׃