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
Firefox OSでSVGをつかってみた
Search
kadoppe
November 23, 2013
Technology
0
140
Firefox OSでSVGをつかってみた
2013/11/23 に開催された「関西Firefox OS勉強会 5th GIG」で使ったプレゼンスライドです。
kadoppe
November 23, 2013
Tweet
Share
More Decks by kadoppe
See All by kadoppe
一年間スタートアップのCTOをやってきて学んだこと
kadoppe
1
920
未知の顧客にとっても価値あるプロダクトを生み出す
kadoppe
2
1.9k
プレイド開発チームにおけるチーム・ジャーニー ver.202010
kadoppe
4
1k
不確実性の高い世界のなかで、非連続な成長を生み出す / Developers Summit 2020 Summer
kadoppe
1
2k
プレイド開発チームにおけるチーム・ジャーニー
kadoppe
12
7.4k
プレイドのエンジニアからみた「正しいものを正しくつくる」
kadoppe
0
2.2k
フラット型組織におけるエンジニアリングマネジメント
kadoppe
1
1.4k
Pebble + JavaScriptでつくるスマートウォッチ
kadoppe
0
230
まだ間に合うHTML5 - Yeomanで追いつけ!高速Webアプリ開発
kadoppe
0
170
Other Decks in Technology
See All in Technology
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
120
20250929_QaaS_vol20
mura_shin
0
110
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
1
820
Windows で省エネ
murachiakira
0
150
SOC2取得の全体像
shonansurvivors
1
350
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
1.1k
Goのビルドシステムの変遷 / The history of Go's build system
ymotongpoo
12
3.8k
Oracle Cloud Infrastructure:2025年9月度サービス・アップデート
oracle4engineer
PRO
0
360
Go Conference 2025: GoのinterfaceとGenericsの内部構造と進化 / Go type system internals
ryokotmng
3
590
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
120
“2件同時配達”の開発舞台裏 〜出前館PMが挑んだダブルピック実現に向けた体験設計〜
demaecan
0
180
ユニットテストに対する考え方の変遷 / Everyone should watch his live coding
mdstoy
0
110
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Faster Mobile Websites
deanohume
310
31k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Music & Morning Musume
bryan
46
6.8k
Writing Fast Ruby
sferik
629
62k
Code Reviewing Like a Champion
maltzj
525
40k
Into the Great Unknown - MozCon
thekraken
40
2.1k
A designer walks into a library…
pauljervisheath
208
24k
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ͱಉ͡Α͏ʹ͑Δ • ύϑΥʔϚϯε • ࣮ػ͕ͳ͍ͷͰݕূͰ͖ͳ͔ͬͨ
͓͠·͍