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
160
0
Share
Firefox OSでSVGをつかってみた
2013/11/23 に開催された「関西Firefox OS勉強会 5th GIG」で使ったプレゼンスライドです。
kadoppe
November 23, 2013
More Decks by kadoppe
See All by kadoppe
不確実性の高いスタートアップでの意思決定 - 今は決めるべき?決めないべき?
kadoppe
0
93
目に見えないものが、物事の成功や失敗を決めている 👀 - スタートアップでのマネジメントを支えてくれた『ピクサー流 創造するちから』
kadoppe
0
120
一年間スタートアップのCTOをやってきて学んだこと
kadoppe
1
990
未知の顧客にとっても価値あるプロダクトを生み出す
kadoppe
2
1.9k
プレイド開発チームにおけるチーム・ジャーニー ver.202010
kadoppe
4
1.1k
不確実性の高い世界のなかで、非連続な成長を生み出す / Developers Summit 2020 Summer
kadoppe
1
2.1k
プレイド開発チームにおけるチーム・ジャーニー
kadoppe
12
8.6k
プレイドのエンジニアからみた「正しいものを正しくつくる」
kadoppe
0
2.3k
フラット型組織におけるエンジニアリングマネジメント
kadoppe
1
1.5k
Other Decks in Technology
See All in Technology
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
23k
Discordでリモートポケカしてたら、なぜかDOを25分間動かせるようになった話
umireon
0
130
え!?初参加で 300冊以上 も頒布!? これは大成功!そのはずなのに わいの財布は 赤字 の件
hellohazime
0
140
DevOpsDays Tokyo 2026 見えない開発現場を、見える投資に変える
rojoudotcom
3
190
Azure Lifecycle with Copilot CLI
torumakabe
3
820
終盤で崩壊させないAI駆動開発
j5ik2o
2
1.9k
インフラを Excel 管理していた組織が 3 ヶ月で IaC 化されるまで
geekplus_tech
3
190
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
3
280
QGISプラグイン CMChangeDetector
naokimuroki
1
220
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
2.1k
明日からドヤれる!超マニアックなAWSセキュリティTips10連発 / 10 Ultra-Niche AWS Security Tips
yuj1osm
0
400
ログ基盤・プラグイン・ダッシュボード、全部整えた。でも最後は人だった。
makikub
5
1.9k
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
720
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Darren the Foodie - Storyboard
khoart
PRO
3
3.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
The Invisible Side of Design
smashingmag
302
51k
Balancing Empowerment & Direction
lara
5
1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
460
Statistics for Hackers
jakevdp
799
230k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Producing Creativity
orderedlist
PRO
348
40k
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ͱಉ͡Α͏ʹ͑Δ • ύϑΥʔϚϯε • ࣮ػ͕ͳ͍ͷͰݕূͰ͖ͳ͔ͬͨ
͓͠·͍