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
4.2k
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
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
550
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
820
立方体異世界生成魔法(キュービックディメンション・ジェネレーションマジック)
satoshi7190
2
600
新宿ダンジョンを可視化してみた
satoshi7190
3
1k
MapLibre GL JS とCSSアニメーションでできること
satoshi7190
0
1.3k
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.5k
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
230
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
460
TestingOsaka6_Ozono
o3
0
260
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
330
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
520
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
ゆくKotlin くるRust
exoego
1
190
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
630
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
What's in a price? How to price your products and services
michaelherold
246
13k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.1k
Visualization
eitanlees
150
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
110
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
40
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はただのコードから素晴らしい魔法になります