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
Firefox OSでSVGをつかってみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kadoppe
November 23, 2013
Technology
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Firefox OSでSVGをつかってみた
2013/11/23 に開催された「関西Firefox OS勉強会 5th GIG」で使ったプレゼンスライドです。
kadoppe
November 23, 2013
More Decks by kadoppe
See All by kadoppe
扱える不確実性を増やしていく - スタートアップEMが考える「任せ方」
kadoppe
0
450
不確実性の高いスタートアップでの意思決定 - 今は決めるべき?決めないべき?
kadoppe
0
160
目に見えないものが、物事の成功や失敗を決めている 👀 - スタートアップでのマネジメントを支えてくれた『ピクサー流 創造するちから』
kadoppe
0
340
一年間スタートアップのCTOをやってきて学んだこと
kadoppe
1
1k
未知の顧客にとっても価値あるプロダクトを生み出す
kadoppe
2
2k
プレイド開発チームにおけるチーム・ジャーニー ver.202010
kadoppe
4
1.1k
不確実性の高い世界のなかで、非連続な成長を生み出す / Developers Summit 2020 Summer
kadoppe
1
2.1k
プレイド開発チームにおけるチーム・ジャーニー
kadoppe
12
8.9k
プレイドのエンジニアからみた「正しいものを正しくつくる」
kadoppe
0
2.4k
Other Decks in Technology
See All in Technology
Claude Code本って、 読む必要あるの?
oikon48
2
460
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
120
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
8
920
HHKBエバンジェリストになる方法
941
0
100
CLIライブラリ開発を支える技術
htnabe
0
100
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.7k
Spring BootからQuarkusへの移行
tatsuya1bm
2
120
20260912_スクラムにジェネラリストは必要か
ryugen04
0
420
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
220
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
320
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
2.6k
AI に書かせたその API、 “信頼” できますか?
nagix
0
110
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Automating Front-end Workflow
addyosmani
1369
210k
What's in a price? How to price your products and services
michaelherold
247
13k
Optimising Largest Contentful Paint
csswizardry
37
4k
We Have a Design System, Now What?
morganepeng
55
8.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Transcript
'JSFGPY04Ͱ 47(Λ͔ͭͬͯΈͨ ؔ'JSFGPY04ษڧձ!LBEPQQF
ࣗݾհ • ໊લ • ߃ฏ!LBEPQQF • ৬ۀ • ιϑτΣΞΤϯδχΞ •
3VCZ $P⒎FFc+BWB 4DSJQU0CKFDUJWF$ • ॴଐ • גࣜձࣾγΣΞΟζ)5.-8&45KQ
ຊͷεϥΠυ • εϥΠυ • IUUQXXXTMJEFTIBSFOFULBEPQQF • αϯϓϧίʔυ • IUUQTHJUIVCDPNLBEPQQFLBOTBJ pSFGPYPTUI
ΞδΣϯμ • 47(ͬͯͳΜͩΖ͏ • 'JSFGPY04Ͱ47(Λ͔ͭͬͯΈͨ • 'JSFGPYͰൃੜͨ͠τϥϒϧͷݕূ
47(ͬͯͳΜͩΖ͏
47(ͱ • 44DBMBCMFʢ֦େՄೳͳʣ • 77FDUPSʢϕΫλʔܗࣜͷʣ • ((SBQIJDʢը૾ʣ • ༁͢Δͱʮ֦େՄೳͳϕΫλʔը૾ʯ
ಛ֦େɾॖখ͖ͯ͠Ε͍ Ͱը૾Λදݱ ઢͰը૾Λදݱ
ಛ9.-ܗࣜͷϑΥʔϚοτ • 9.-ཁૉͰԁઢͳͲͷܗΛදݱ • ςΩετΤσΟλͰฤूՄೳ
47(ͷ͍ํ <img src=“sample.svg”> imgཁૉΛ͏
47(ͷ͍ํ .button {! background-image: url(“sample.svg”);! } $44Ͱ͏
47(ͷ͍ํ <html>! <body>! <h1>Inline SVGαϯϓϧ</h1>! <svg width=100 height=100>! <circle
r=50 cx=50 cy=50 />! </svg>! </body>! </html> svgཁૉΛ͏ *OMJOF47(
*OMJOF47(ͷϝϦοτ • ը૾ͷݟͨΛ$44Ͱมߋ • ԁͷ৭ɺઢͷଠ͞Λม͑ΔɺͳͲ • +BWB4DSJQUͰը૾Λૢ࡞Πϕϯτॲཧ • ಈతͳը૾ੜ •
ϚεΫϦοΫɺυϥοάͳͲͷΠϕϯτ
47(ͷ׆༻ࣄྫ • ׆༻ྫ̍ • ϩΰΞΠίϯը૾ • ׆༻ྫ̎ • ΠϯλϥΫςΟϒͳ8FCΞϓϦέʔγϣϯ
ϩΰΞΠίϯը૾
ϩΰΞΠίϯը૾
8FCΞϓϦέʔγϣϯ ແྉֶशαΠτ4IBSF8JTIUUQTIBSFXJTDPN
'JSFGPY04Ͱ 47(Λ͔ͭͬͯΈͨ
αϯϓϧΞϓϦΛެ։ 'JSFGPY04ͷϒϥβͰ IUUQBQQLBEPQQFDPNʹΞΫηε
։ൃڥ • 'JSFGPY ݱࡏ#FUB • 'JSFGPY044JNVMBUPS • ZFPNBO HFOFSBUPSpSFGPYPT
• ΞϓϦͷͻͳܗ࡞ʹ༷
݁ɿ 'JSFGPYͱಉ͡Α͏ʹ͑Δ
JNHཁૉΛͬͨαϯϓϧ • αϯϓϧίʔυ IUNMJNH@FMFNFOUIUNM
*OMJOF47(Λͬͨαϯϓϧ • αϯϓϧίʔυ IUNMTWH@FMFNFOUIUNM
%KT • 8FC্ͰσʔλϏδϡΞϥΠθʔγϣϯ Λ࡞͢ΔͨΊͷϥΠϒϥϦ IUUQEKTPSH • 47(Λσʔλͷදݱʹར༻
None
%KTΛͬͨαϯϓϧ • αϯϓϧίʔυ IUNMEIUNM KTE@TBNQMFKT • 'PVSTRVBSFͷ༑ୡؔΛ ՄࢹԽ • ੨ɿஉੑ
• ɿঁੑ
4OBQTWH • 47(Λ+BWB4DSJQU͔Β؆୯ʹѻ͏ͨΊ ϥΠϒϥϦ • ಈతͳը૾ͷੜ • ΞχϝʔγϣϯΠϕϯτϋϯυϦϯά • "EPCFͷΦʔϓϯιʔεϓϩδΣΫτ
IUUQTOBQTWHJP
None
4OBQTWHΛͬͨαϯϓϧ • αϯϓϧίʔυ IUNMTOBQIUNM KTTOBQ@TBNQMFKT • ϘλϯλοϓͰԁ͕૿͑Δ • ԁ͕ϥϯμϜʹಈ͖ଓ͚Δ •
Կݸ·ͰεϜʔζʹಈ͘ʁ
'JSFGPYͰൃੜͨ͠ τϥϒϧͷݕূ
'JSFGPY04Ͱ ಉ͡Α͏ʹൃੜ͢Δͷ͔ௐͯΈͨ
UFYUEFDPSBUJPOଐੑ <svg witdh=100 height=100>! <text text-decoration=underline x=0 y=20>Hello World</text>! </svg>
'JSFGPYҎԼ ͦͷଞϒϥβ Լઢ͕දࣔ͞ΕΔ Լઢ͕දࣔ͞Εͳ͍
'JSFGPY04Ͱ Լઢ͕දࣔ͞ΕΔ
HFU##PY var textElm = document.getElementById('text'); var box = textElm.getBBox(); !
alert(box.height); // textཁૉͷߴ͞ alert(box.width); // textཁૉͷ෯ ཁૉͷେ͖͞Λऔಘ͢ΔͨΊͷ"1*
'JSFGPYͰ // display: none ͳͲͰඇදࣔʹͳ͍ͬͯΔཁૉΛऔಘ var hiddenElm = document.getElementById('hidden'); var
box = hiddenElm.getBBox(); ! ྫ֎l/4@&3303@'"*-63&z͕ൃੜ
/4@&3303@'"*-63& ҙຯ ʮͳΜ͔Τϥʔʯ
/4@&3303@'"*-63& 23 /* Returned when a function fails */ 24
ERROR(NS_ERROR_FAILURE, 0x80004005), NP[JMMBYQDPNCBTF&SSPS-JTUI ԿΒ͔ͷݪҼͰؔͷ࣮ߦ͕ࣦഊͨ࣌͠ͷΤϥʔ
ͪͳΈʹ$ISPNFͩͱ // display: none ͳͲͰඇදࣔʹͳ͍ͬͯΔཁૉΛऔಘ var hiddenElm = document.getElementById('hidden'); var
box = hiddenElm.getBBox(); ! alert(box.height); // 0 alert(box.width); // 0 ͪΌΜͱzz͕ग़ྗ͞ΕΔ
'JSFGPY04Ͱ /4@&3303@'"*-63&
ରॲํ๏USZDBUDI // display: none ͳͲͰඇදࣔʹͳ͍ͬͯΔཁૉΛऔಘ var hiddenElm = document.getElementById('hidden'); try
{ var box = hiddenElm.getBBox(); ! alert(box.height); // 0 alert(box.width); // 0 } catch (e) { // NS_ERROR_FAILUREൃੜ࣌ͷॲཧ }
։ൃऀπʔϧͷΠϯεϖΫλ )5.-ཁૉΛબͨ͠߹ 47(ͷཁૉΛબͨ͠߹ ϧʔϧʹద༻͞Ε͍ͯΔελΠϧ͕දࣔ͞ΕΔ ϧʔϧʹద༻͞Ε͍ͯΔελΠϧ͕දࣔ͞Εͳ͍
$ISPNFͰ ͪΌΜͱදࣔ͞ΕΔ
'JSFGPY04Ͱ ͬͺΓදࣔ͞Εͳ͍
σόοά͠ʹ͍͘ ɾТɾʆ
ରॲํ๏ lܭࢉࡁΈzͱʜ ελΠϧΤσΟλͰؤுΔ
·ͱΊ • 'JSFGPY04 47( • ྑ͘ѱ͘'JSFGPYͱಉ͡Α͏ʹ͑Δ • ύϑΥʔϚϯε • ࣮ػ͕ͳ͍ͷͰݕূͰ͖ͳ͔ͬͨ
͓͠·͍