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
Webエンジニアに転生したらCSS魔導士になった件
Search
Satoshi Komatsu
June 01, 2023
Programming
3
3.9k
Webエンジニアに転生したらCSS魔導士になった件
MIERUNE BBQ #01 発表スライド 2023/05/31
https://mierune.connpass.com/event/284183/
Satoshi Komatsu
June 01, 2023
Tweet
Share
More Decks by Satoshi Komatsu
See All by Satoshi Komatsu
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
560
立方体異世界生成魔法(キュービックディメンション・ジェネレーションマジック)
satoshi7190
2
410
新宿ダンジョンを可視化してみた
satoshi7190
3
720
MapLibre GL JS とCSSアニメーションでできること
satoshi7190
0
960
Other Decks in Programming
See All in Programming
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.2k
Zoneless Testing
rainerhahnekamp
0
150
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
240
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
330
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
880
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
880
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
210
Fibonacci Function Gallery - Part 2
philipschwarz
PRO
0
210
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
200
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
220
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
130
テストコード書いてみませんか?
onopon
2
300
Featured
See All Featured
For a Future-Friendly Web
brad_frost
176
9.5k
Producing Creativity
orderedlist
PRO
343
39k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
230
Scaling GitHub
holman
459
140k
Done Done
chrislema
182
16k
What's in a price? How to price your products and services
michaelherold
244
12k
Embracing the Ebb and Flow
colly
84
4.5k
Visualization
eitanlees
146
15k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Designing for humans not robots
tammielis
250
25k
GraphQLとの向き合い方2022年版
quramy
44
13k
Mobile First: as difficult as doing things right
swwweet
222
9k
Transcript
©OpenStreetMap contributors Webエンジニアに転生したら CSS魔導士になった件 Satoshi Komatsu
©Project PLATEAU / MLIT Japan 小松 聖 自己紹介 KOMATSU Satoshi
CSS好きです。 フロントエンドエンジニア
©OpenStreetMap contributors 01 私の転生エピソード 02 CSS魔導士の誕生秘話 03 CSS魔法発動(DEMO) 04 CSS魔導士の心得 目次
©OpenStreetMap contributors 01 私の転生エピソード
© 地理院地図 全国最新写真(シームレス) 今から3年前の異世界の話 私の転生エピソード
異世界 2020年 岐阜で造園業(庭師)をやってた。
異世界 2020年 岐阜で造園業(庭師)をやってた。 林業やりたいな・・・
異世界 林業の職業訓練校に入学。 27歳から2年間学生生活を送る。
異世界 が、入学直後に未知のウイルスによ り一時休校。 2ヶ月間自粛生活を送る
異世界 自粛期間中に興味本位でVBAとかGASとか 触ってた。 プログラミング楽しくなった そのうちにjavascriptとか触り始めるように なった。
異世界 林業を学びながら空き時間プログラミングする学生生活を送る
異世界 木を切るよりコード書く方が面白いな・・・ 林業を学びながら空き時間プログラミングする学生生活を送る
異世界 2022年 卒業研究で校内のWEB地図ア プリを独学で作った。 Web開発の楽しさを味合う。
異世界 2022年 林業への就活をせず、Qiitaの 記事で知った今の会社のメン バーに加わりました。
転生 転職 等世界(札幌のWebエンジニア) 異世界(岐阜の庭師) 異世界から等世界へ
©OpenStreetMap contributors 02 CSS魔導士の誕生秘話
CSS魔導士の誕生秘話 もともと趣味でイラスト描いてた
CSS魔導士の誕生秘話 図形をペンで表現するかコードで表現するかの違いだけなので CSS デジタルイラスト ≒ CSSでなにかを表現することが割と好き
CSS魔導士の誕生秘話 ある日、遊び半分でCSSだけで魔法陣を描いて社内に公表した。
CSS魔導士の誕生秘話 CSS魔導士誕生。 社内で「魔法使い」のあだ名がついた。
©OpenStreetMap contributors 03 CSS魔法発動(DEMO)
© 地理院地図 全国最新写真(シームレス) 魔法発動リンク CSS魔法発動(DEMO) https://satoshi7190.github.io/CSS-Magic-Circle/
解説 JavaScript無使用。 アニメーションはanimationプロパ ティと@keyframesで実装。
解説 魔法陣の線はborderプロパティ。 それぞれの太さを変えて線の強弱をつ けている。
解説 使用フォント 「RuneAssignMN Series Fonts」 古代のルーン文字を再現するフォント群 http://michinarinukazawa.github.io/Rune AssignMN_Series_Fonts/ ※A〜Zのアルファベットをただ羅列してるだけ。
解説 CSSのcos(),sin()関数でピクセル座標を計算 して文字を円に配置。 --angle: calc(360deg / 52 * var(--index)); --x:
calc(cos(var(--angle)) * 30px); --y: calc(sin(var(--angle)) * 30px); translate: calc(var(--x) - 50%) calc)var(--y) - 50%);
perspective: 2000px; perspective-origin: center; 3D効果
解説 filter: drop-shadow(0px 0px 10px #913513) drop-shadow(0px 0px 10px #913513)
drop-shadow(0px 0px 20px #913513); グロー効果
こだわりポイント filter: drop-shadow(0px 0px 10px #913513) drop-shadow(0px 0px 10px #913513)
drop-shadow(0px 0px 20px #913513) drop-shadow(0px 0px 20px #FFF); filter: drop-shadow(0px 0px 10px #913513) drop-shadow(0px 0px 10px #913513) drop-shadow(0px 0px 20px #913513); さらに白い影を重ねることでより光る表現に。
こだわりポイント filter: blur(10px); opacity: 0.1; filter: blur(10px); 一層目のdiv要素 二層目のdiv要素 外側にはさらにぼかし効果をつけたdiv要素を重ねて表現。
©OpenStreetMap contributors 04 CSS魔導士の心得
CSS魔導士の心得 この心得を実践することで 今日からあなたもCSS魔導士になることができます。
© 地理院地図 全国最新写真(シームレス) 「目的」 「手段」 「追求」 CSS魔導士の心得
CSS魔導士の心得 目的 自分が達成したいビジュアルの「目的」を明確にする。
CSS魔導士の心得 魔法少女アニメの魔法陣を考察することで明確なビジョン(目的)も持った。 画像出典:「魔法少女リリカルなのは」シリーズより ⚫ 線は白くてグロー効果に色がある ⚫ 魔法陣の動きがパーツごとにバラバラ ⚫ フォントがギリシャ文字っぽい ⚫
線に太さの違いがある 目的
CSS魔導士の心得 手段 コードを書くスキルだけではなく、ビジュアルを理解し、 それを表現する。
CSS魔導士の心得 手段 魔法陣の特性を理解し、それをコードに落としこんだ。 + 魔法陣は光っている・・・ 光らせるには filter: drop-shadow()だな
CSS魔導士の心得 追求 ディテールへのこだわりと、より良いビジュアルを追求するための 持続的な努力。
CSS魔導士の心得 追求 魔法陣らしさのアニメーションにこだわった。 (その分、今回のスライド作成の時間が減った。) @keyframes animation-duration animation-timing-function animation-delay animation-fill-mode animation-name
animation-iteration-count
まとめ 「目的を理解し、手段を選び、そして追求する」 あなたのCSSはただのコードから素晴らしい魔法になります