40
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TOWNAdvent Calendar 2018

Day 23

おいでませ変態CSSの入り口へ

Last updated at Posted at 2018-12-22

TOWN Advent Calendar 2018 へ2回目の投稿です。

平成を少し振り返るようですが、かつてのFlash全盛期時代が大好きでした。その延長の感覚で、CSS/JSの変態表現をCodePenで見たり試したりするのが趣味です。

自分が試しているものは実用性との境目にいるような変態度がまだまだ低いものばかりですが、変態CSS入門な表現をいくつか紹介します。

3D表現

See the Pen CSS3D基本 by Kazuyoshi Goto (@KazuyoshiGoto) on CodePen.

初っ端からCSSでやる必要ある?って最たるものの3D表現です。CSSでやる必要性ゼロです。素直にJavaScriptの3D系ライブラリ使った方が自由度もパフォーマンスも高いです。

以下の記事で基礎的な解説をしています。

3Dギャラリー

See the Pen CSS only 3D Gallery by Kazuyoshi Goto (@KazuyoshiGoto) on CodePen.

3D表現を応用するとこんな感じです。 Minecraft的なボクセル表現なら力技でわりと簡単にできます。

JS不使用モーダルウィンドウ

See the Pen CSS Only Modal window by Kazuyoshi Goto (@KazuyoshiGoto) on CodePen.

隠れたチェックボックスの :checked で表示を切り替えてるモーダルウィンドウ。CSSだけでもちゃんと開閉できます。
一見実用的そうで、普通にJS使った方が楽だし便利。

変形iframe

See the Pen mobile demo by Kazuyoshi Goto (@KazuyoshiGoto) on CodePen.

iframe を transform させて遠近感を付けて実際のサイトをハメコミ合成。

表現的には実用性あると思うのですが他であまり見ません。とはいえ自分も業務で実践したこと無いし今どきiframeなんか使わんよ、という感じでしょうか。

画像の継承

See the Pen background inherit test 2 by Kazuyoshi Goto (@KazuyoshiGoto) on CodePen.

最近気づいたんですが背景画像は inherit で継承できます。

上記の例は、単にドロップシャドウをするのではなく :after 疑似要素に背景を inherit してボカした少し変わり種のビジュアル表現です。

かなり限定的な用途ですが、継承を正しく使えば :before :after 擬似要素に動的に背景を付けられることができます。 ビジュアル表現的に割と実用性あって変態度低め。

テキストマスク

See the Pen CSS3 Text Mask by Kazuyoshi Goto (@KazuyoshiGoto) on CodePen.

background-clip プロパティ一つでできちゃうので変態度ありません。
「テキストでマスクする」という用途の限定的なステータスをよく作ったもんだなと思います。

スポットライト

See the Pen CSS Spotlight by Kazuyoshi Goto (@KazuyoshiGoto) on CodePen.

CSSでページ全体を覆うレイヤーに透過する円形グラデーションを作り、その中心点をカーソルにするようJSで調整してます。

Webサービス初回利用時のチュートリアルでUIを注目させるのに使えそうなので結構実用的。

0件表示

See the Pen CSS :empty Test by Kazuyoshi Goto (@KazuyoshiGoto) on CodePen.

上記サンプルのxアイコンをクリックしてリストをすべて消してみてください。

リストが0件になると「List is Empty」と表示されます。これはCSS3のセレクタ :empty を使い表示しています。

一見実用性あるようで、実際のところ0件表示をCSSだけでやるかというと、まぁ…ね?
:empty もこうした機能的な用途ではなく、状況としてありえる空の状態で最低限崩れないよう対処するための要素だと思います。

まとめ

変態CSSというより実用性低いCSS表現サンプルみたいな一覧でしたが、自分としてはこうした制限ある中での表現の模索は結構楽しいです。

一部界隈で伝説の**JS不使用・CSSだけでワニワニパニックを作るようなド変態**には敵いませんが、こんな変態たちの世界があるんだなぁと心に留めて頂けたら幸いです。

メリークリスマス🎅 & 良いお年を🌅

40
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?