フロントエンド

sourceタグとpictureタグでレスポンシブに画像要素を切り替える

こんにちは。エキサイトでデザイナーをしている齋藤です。 エキサイトホールディングス Advent Calendar 2024 シリーズ1の2日目を担当します。 qiita.com 今回は、HTMLのsourceタグとpictureタグを使用してレスポンシブに表示する画像を切替える方法をご紹介…

Tailwind CSSで擬似クラス「:focus-within」をスタイリングする方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 エキサイトホールディングス Advent Calendar 2024 シリーズ2の2日目を担当します。 qiita.com 今回は、Tailwind CSSでCSSの擬似クラス:focus-withinをスタイリングする方法をご紹介します。 「:foc…

Tailwind CSSでアニメーション付きのスケルトンスクリーンをスタイリングする方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 エキサイトホールディングス Advent Calendar 2024 シリーズ2の1日目を担当します。 qiita.com 今回は、Tailwind CSSでスケルトンスクリーンをスタイリングする方法をご紹介します。 スケルトンスク…

scroll-behaviorでページ内遷移のスクロールを滑らかにする方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回はCSSプロパティの一つであるscroll-behaviorを使用して、ページ内遷移のスクロールを滑らかにする方法をご紹介します。 実現したい挙動 既定の挙動 実現したい挙動 どうやって実現するか Tailw…

scroll-snap-typeを使用して子要素単位にスクロールさせる方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回はCSSのscroll-snap-typeプロパティを使用して、子要素単位にスクロールさせる方法をご紹介します。 実現したいこと 冒頭、「子要素単位にスクロール」とはどんな状態かをご説明します。 CodePe…

htmxで別のHTMLファイルにある要素を埋め込む方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 最近、JSの記述なしにAJAXやSPA風の振る舞いが実装できるhtmxに触れる機会がありました。 htmx.org 今回は、htmxで別のHTMLファイルにある要素を埋め込む方法をご紹介します。 実現したいこと どう…

Alpine.jsでドラッグ操作による並び替えを実現する方法(Sort Plugin)

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回はAlpine.jsの公式プラグインを使用して、ドラッグ操作による並び替えを実現する方法をご紹介します。 使用するプラグインについて 実装方法 並び替えの情報を取得する方法 さいごに 使用するプ…

Tailwind CSSでタグのベーススタイルを設定する方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回は、Tailwind CSSでタグのベーススタイルを設定する方法をご紹介します。 実現したいこと @layer baseでベーススタイルを設定できる さいごに 実現したいこと 冒頭、実現したいことを整理します…

Alpine.jsでページ読み込み時に非表示要素が一瞬見えてしまう「blip」を防止する方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回はAlpine.jsを使用している環境下で、ページ読み込み時に隠している要素が一瞬表示されてしまう「blip」という現象を防止する方法をご紹介します。 blipとは どうやってblipを防止するか さいご…

Alpine.jsのx-modelで入力された値を参照する方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回は、Alpine.jsで、input要素などで入力された値を参照したい場合に有用なx-modelディレクティブをご紹介します。 x-modelとは 基本的な使い方 どんな使い道があるか さいごに x-modelとは x-mod…

アイコンで説明するUIはアクセシビリティに気をつける

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回は、アイコンを用いて何かを説明しているUIはアクセシビリティに気をつけたいというお話をします。 アイコンで説明するUIとは ハンディキャップないユーザーにしか伝わらないマークアップ どこ…

JSを使用せずにCSSだけで「空白のセルがある場合」に限定したスタイリングをする方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回は、JSを使用せずにCSSだけで「空白のセルがある場合」に限定したスタイリングをする方法をご紹介します。 実現したいこと 完成形 どうやるのか さいごに 実現したいこと 冒頭、実現したい状態…

Alpine.jsで特定の要素の外側がクリックされたことを検知する方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回はAlpine.jsで、特定の要素の外側がクリックされたことを検知できる、x-onのModifierの一つである.outsideが便利だったのでシェアしたいと思います。 作りたいもの まずはドロップダウンを作っ…

Tailwind CSSで文章を行数制限したい場合はline-clamp-*が便利

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回はTailwind CSSを使用しているプロジェクトで、文章を行数制限(超えた部分は3点リーダーで省略)したい場合に使える便利なユーティリティクラス line-clamp-*をご紹介します。 純粋なCSSの場合…

Tailwind CSSでブレイクポイントをカスタマイズする方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回はTailwind CSSでレスポンシブデザイン用のブレイクポイントをカスタマイズする方法をご紹介したいと思います。 はじめに 従来のCSS Tailwind CSSのユーティリティクラスを用いたレスポンシブデ…

Tailwind CSSの@applyを使用してUtility classをまとめた独自Classを定義する方法

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回はTailwind CSSの@applyを使用してUtility classをまとめたClassを独自に定義をする方法をご紹介します。 なぜUtility classをまとめたいのか Utility classをまとめた独自Classを定義する方法 …

Tailwind CSSでfont-sizeやline-heightなどの文字の構成要素がまとまったタイポグラフィトークンを定義する

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回は、Tailwind CSSで文字の主な構成要素であるfont-size、font-weight、line-height、letter-spacingをまとめたタイポグラフィトークンを定義する方法についてお話します。 CSSを用いた従来のト…

pre-commitを使用してgit commit時にPrettierを実行させる

こんにちは。エキサイトでデザイナーをしている齋藤です。 前回、【JetBrains製エディタ対応】PrettierでTailwind CSSのclass名を規則的に自動ソーティングさせる と称して、IntelliJ IDEAでファイル保存時にPrettierを自動実行させる方法をご紹介しました。…

【JetBrains製エディタ対応】PrettierでTailwind CSSのclass名を規則的に自動ソーティングさせる

こんにちは。エキサイトでデザイナーをしている齋藤です。 今回は、Prettierを使用してTailwind CSSのclass名を自動でソーティングさせる方法についてお話をします。 VS Codeを使用した環境での情報は多く出回っていますが、IntelliJ IDEAやWebStormなどのJe…

【社内カンファレンス登壇記】TechCon2024でFigma Variantsのお話をしました!

こんにちは。 エキサイトで内定者アルバイトとしてデザイナーをしている齋藤です。 2024年2月16日に行われた、技術者向けの社内カンファレンス「Excite × iXIT TechCon」のLT枠で登壇させていただきましたので、その体験談を記したいと思います。 発表したこ…

【2023年12月Firefox対応!】CSSの擬似クラス:has()とは?

こんにちは。 エキサイトで内定者アルバイトとしてデザイナーをしている齋藤です。 今回は2023年12月にFirefox(121)が対応したことにより主要ブラウザが完全対応となった、CSSの擬似クラス:has()についてその概要や使用方法についてお話したいと思います。…

デザインシステムを活かすためのドキュメンテーション

こんにちは。エキサイトで内定者アルバイトとしてデザイナーをしている齋藤です。 エキサイトホールディングス Advent Calendar 2023 シリーズ2の19日目は、私齋藤が担当させていただきます。 今回は、あるプロジェクトでデザインシステム構築を担当していた…

accent-colorでチェックボックスの色を指定する方法と注意したい落とし穴(CSS)

こんにちは。 エキサイトで内定者アルバイトとしてデザイナーをしている齋藤です。 エキサイトホールディングス Advent Calendar 2023シリーズ2の12日目は、私齋藤が担当させていただきます。 今回はチェックボックスなどの強調表示色を指定できるCSSプロパ…

BB.excite事業部で約1ヶ月間インターンシップに参加して...

はじめに はじめまして!エキサイト株式会社で約1ヶ月間就業型インターンシップ(Booost!!! Excite Internship 2023)に参加させて頂きました大澤と申します。 今回は、私のインターンシップでの取り組みやインターンシップを通じて得た知識や学びについて紹介…

SaaS事業部で就業型インターンを経験し学んだこと

はじめに エキサイト株式会社で一ヶ月間、就業型インターンシップ Booost!!!に参加させていただきました北野です。 今回はインターンシップで取り組んだことや学びを紹介いたします。 はじめに 自己紹介 やったこと 学び 働き方について 業務レベルのフロン…

【インターン】初めての実務経験で学んだこと

はじめに こんにちは!エキサイト株式会社の就業型インターンシップ Booost!!! に参加した吉田です。 本記事では、1 ヶ月のインターンシップで私が行ったことや学んだことについてご紹介します。 はじめに 自己紹介 インターンでの業務内容 実務の観点で学ん…

デザインの仕組み化としてデザイントークンを考えてみる(カラー編)

こんにちは。 エキサイトで内定者アルバイト(デザイナー)をしている齋藤です。 今回は、業務の中でデザイントークンを検討して実験的に使用しているので、「デザインの仕組み化」を実現するためのデザイントークンについて記してみたいと思います。 この記…

1ヶ月のインターンで学んだこと

はじめに この度、エキサイト株式会社でインターンをしました雨宮です。 本稿では、私のインターンでの経験をまとめます。 ​ TL;DR 自己紹介 インターン内容 Pannel コンポーネント インターンで学んだこと ​ 自己紹介 早稲田大学3年の雨宮光汰です。私は文…

Next.js × Tailwind CSS環境でswiperのスタイルをカスタマイズする

はじめに ブロードバンド事業部の小川です。 Next.js × Tailwind CSS環境でカルーセルを導入する手段としてswiperを選択したのですが、 その際Swiper.jsに対してスタイルの当て方で迷うことがあったので解決方法をご紹介していきます。 基本的にTailwind CSS…

Nuxt3で効率的にスタイルを書く

こんにちは。 エキサイト株式会社で24卒デザイナー内定者アルバイトをしている、齋藤です。 デザイナーとしてマークアップを行う場合、HTMLやスタイルを書くことが多いと思います。今回はNuxt3(Vue)で効率的にスタイルを書く方法を備忘録的に記します。 通…