ブックマーク / zenn.dev/ixkaito (7)

  • リンクの入れ子は subgrid が最適解かもしれない

    はじめに リンクの入れ子とは何かというと、以下のようなデザインです。 カード全体がリンクでクリッカブルになっていて、中のタグやカテゴリーもそれぞれがリンクになっています。ニュースやブログの投稿などでよく見るデザインだと思います。 しかし、以下のようにマークアップすることはできません。 <a href="https://example.com/posts/hello-world/"> <h2>Hello, World!</h2> <p>...</p> <a href="https://example.com/tag/hello/">#hello</a> <a href="https://example.com/tag/world/">#world</a> </a> HTML のルール的に <a> の入れ子はダメだからです。 Subgrid を使った方法 Subgrid がまだない時代からいろ

    リンクの入れ子は subgrid が最適解かもしれない
  • decoding="async" について詳しく調べてみる

    この記事は2023年7月19日時点の Chrome の最新版 115.0.5790.98 を使って検証しました。今後 Chrome の実装によって挙動が変わる可能性はございます。 はじめに 画像表示のパフォーマンス改善において、「decoding="async" をつけましょう」というのをよく見かけますが、おそらくほとんどの人がその実際の挙動を理解していない、あるいは誤った認識をしていると思います。今回詳しく調べる前の僕も含めて。 loading と decoding の違い 画像のパフォーマンス改善で decoding="async" のほかに、もう一つよく言及されるのが loading="lazy" です。decoding 属性について詳しく見る前に、まずは loading 属性との違いについて理解したほうがいいと思います。 loading とは、ブラウザがどのように画像を読み込むかを

    decoding="async" について詳しく調べてみる
  • Tailwind CSS の一歩進んだ書き方

    -## CSS カスタムプロパティ +## CSS カスタムプロパティの宣言 +## CSS カスタムプロパティの利用 + +```html:html +<h1 class="px-[--gutter]"> + Hello world! +</h1> +``` + +`px-[var(--gutter)]` のように記述することもできますが、`var()` は省略可能です。 -<h1 class="text-[length:var(--title-size)] text-[color:var(--title-color)]"> +<h1 class="text-[length:--title-size] text-[color:--title-color]"> +## フォントサイズと一緒に行の高さを指定するショートハンド + +```html:html +<h1 class="text-

    Tailwind CSS の一歩進んだ書き方
  • CSS カスタムプロパティによる流動的フォントサイズ

    はじめに 画面幅に対して流動的にフォントサイズを変化させたい場合、vw などの単位を用いると実現できます。たとえば font-size: 5vw; を指定すると、幅 960px ではフォントサイズは 48px、幅 320px では 16px になります。しかし、320px で 16px は小さすぎるので 32px にしたいとなると、計算が必要になってきます。 この計算方法や流動的フォントサイズのさらなる詳細については、以前登壇したときの資料をご覧いただきたい 👇 資料にもございますが、計算して CSS を出力してくれるアプリも作っています 👇 Sass の mixin もあります 👇 今回は、calc() clamp() min() max() と CSS カスタムプロパティを駆使して、自分で計算する必要がなく、Sass なども不要で CSS のみでの実装を紹介いたします。 使い方と

    CSS カスタムプロパティによる流動的フォントサイズ
  • 加工なし CSS のみで画像にグリッチと RGB ずらし効果をかける

    はじめに 以下のツイートが500いいねを超えましたので解説記事を書きます。 デモ&ソースコード CodePen に完成品のデモとソースコードを置いてあります。 グリッチとは 元々は「一過性の障害」という意味ですが、映像の世界ではしばしば「映像の乱れ」という意味で用いられます。ホラーやサイバーなどでよく見られる演出の一つ。 https://www.google.com/search?q=glitch&tbm=isch RGB ずらしとは 色収差、RGB シフト、RGB split (RGB 分割) など、さまざまな言い方がありますが、要するに来光の三原色である Red、Green、Blue がズレることなく重なって映像を映し出すところ、それがズレた状態で表示されることです。 グリッチエフェクトと一緒に用いたり、場合によっては色ズレも含めてグリッチと言ったりしますので、今回も合わせて実装する

    加工なし CSS のみで画像にグリッチと RGB ずらし効果をかける
  • 生 WebGL と TypeScript で Vercel のロゴを作る

    はじめに 完全に釣りタイトルです。Three.js などを使わずに生の WebGL で ▲ を描くというだけの話です。いわゆる WebGL の「Hello World」です。VercelNext.js とは一切関係ありません。 WebGL を詳細に解説しているサイトはいくつかあって、内容に関してはどれもすばらしいものです。ただ、何年も前のものなのでソースコードにまだ var が使われているものも多く、また独自関数で処理をまとめていることで、個人的には全体の流れが少しわかりにくくなっている気がします。さらに TypeScript を使っている日語記事は見当たりませんでしたので、それらを補う形でまとめてみたいと思います。 なお、記事では全体的な流れに焦点を当てているので、詳細な解説は下記サイトなどをご参考ください。 WebGLの基 (日語) wgld.org | WebGL (日

    生 WebGL と TypeScript で Vercel のロゴを作る
  • 個人からチームまで、Notion での情報・タスク管理一元化完全解説

    2020/11/27 (金) の WP ZoomUP #53 にて弊社 KITERETZ inc. (キテレツ) での Notion の活用法についてお話させていただきました。以下はそのときの資料ですが、こちらの記事はその内容を記事化したうえで、資料には入れられなかった動画での操作解説や、時間的にセミナーで話せなかったことを書き加えたものです。 💡 Notion 採用のきっかけ Product Hunt などで話題になったタイミングで、個人的に Notion を触ってみましたが、「Evernote と何が違うんだろ?」と思ったぐらいで、イマイチ良さがわかりませんでした。 しかし、キテレツは2年ほど前からメンバーが増え、情報を一覧できるシステムを導入してほしいという提案がありました。僕も、プロジェクトごとのタスク・進捗管理に加え、全プロジェクトのタスクを横断的に確認する方法を模索していまし

    個人からチームまで、Notion での情報・タスク管理一元化完全解説
  • 1