' sandbox="allow-same-origin" class="iframe__style--small-card" data-v-2fcdfb78> シンプルなフラットボタン
GPTsという、特定の役割を持った専用のGPTを作る仕組みが最近できた。といっても、従来のGPT-4にあらかじめ特定の指示 (description)と前提知識のファイル (knowledge)を与えられるだけで、今までできなかったことができるわけではない。だけど、特定のタスクをさせる時に、それらをいちいち指定する手間を省けるので、便利な機能と言えよう。 ChatGPTにミニゲームを作らせる試みは前もやったけど、あまりうまくいかなかった。 そこで今回は以下の改良を加えて、専用のGPTを作ってみた。 最初にユーザからゲームのテーマを与えてもらう。 その後、そのテーマに沿ったゲームのアイデアを5つユーザに提示し、適切なものを選んでもらう。 選ばれたアイデアに対して、ルール作成、プレイヤー動作のコード作成、その他の動作作成、スコアリング、難易度、効果音、と順番に少しづつゲームを作らせる。 「小さ
詳細度を0にする:where()、iOSのSafariで100vhが高さいっぱいにならないを解決できる新しいビューポート単位など、CSSの便利な新機能の各ブラウザでのサポートも完了し、すでに使用されている人も少なくないと思います。 CSSの新機能を効果的にうまく使った、新時代のCSSリセットを紹介します。 CSSリセットとして使用するだけでなく、CSSの勉強にもなるCSSリセットです。 @acab/reset.css -GitHub :where()とか新しいビューポート単位など、CSSの各新機能については以前の記事をご覧ください。 CSSの新しい疑似クラス:is()と:where() なんだこれ便利すぎる! CSSの新しい単位「lvh」「svh」これでiOSのSafariで100vhがビューポートの高さではない仕様に対応できる CSSの疑似クラス「:focus-within」が素晴らしい
弊社では React で CSS を書くための手法として CSS Modules を全面的に採用しています。そこで CSS Modules を使った開発をより快適にするために、「happy-css-modules」というツールを作りました。 happy-css-modules のデモ。 この記事ではこのツールが必要になった背景、導入方法、そしてツールの技術的な仕組みについて紹介します。 CSS Modules の問題点と、typed-css-modules による解決 CSS Modules では、デフォルトでは存在しないクラス名を使用しても、(プロジェクトの設定次第ですが) TypeScript のコンパイルエラーが出ることはありません。 import styles from './Button.module.css'; function Button() { return ( <but
input[type="file"] な要素を装飾する方法を検索したときに、次のような間違った label 要素の使い方を紹介する記事ばかりヒットするのが気になったので書きました。label 要素を使っても問題ない場合もありますが、間違った使い方をしている(しようとしている)人に届きやすいようにこのような表題にしています。 何が問題か 上記の方法は input 要素を display: none で非表示にし、label 要素を使ってヒット領域を拡大させて「ファイルを選択」ボタンを表現するという方法ですが、この方法ではフォーカスが当たりません。また、tabindex 属性に非負の値を設定しフォーカスを当てられるようにしても label は clickable な要素ではないので Space / Enter キーで click イベントを発火することができません。 どうするべきか butto
フォーム送信中にinput要素やbutton要素をdisableにしてデータが帰って来たら有効に戻すというのは多分よくやっていると思いますが、fieldset 要素一つで一括でdisabledにできる方法を最近知ったので、シェアしておきたいと思います。 普段👇 <div> <input disabled={loading} type="email" name="name" /> </div> <div> <input disabled={loading} type="password" name="password" /> </div> <div> <input disabled={loading} type="submit" value="submit" name="button" /> </div> <fieldset disabled={loading}> <div> <input
NEWS: htmx finished 2nd in the 2023 JavaScript Rising Stars "Front-end Frameworks" category, just behind React (htmx is a library, btw) and #10 overall! Thank you to everyone who starred us! introduction htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hyper
この記事では、ウェブサイトを訪れたひとが思わず押したくなるボタンデザインをまとめてご紹介します。どのボタンをHTMLとCSSのみで作成されているので、手軽にコピペで利用でき、カスタマイズも自由自在となっています。 JSもつかったよりクリエイティブなボタンエフェクトもあるので、プロジェクトに合ったボタンデザインを探してみましょう。 ボタンをデザインするときに気をつけたいポイントをチェックしておけば、より効果的なボタンの使い方ができますよ。有名サイトのボタンをコピペできるサービスもおすすめです。 現在37種類のボタンデザインが揃い、今後も定期的にアップデートしていきます。 CSSコピペで完成!押したくなるWebボタンデザインまとめ ユラユラと揺れる波ウェーブボタン まるで水面が揺れているようなエフェクトが特長のボタンエフェクト。 See the Pen Creative Wave Button
Web制作の現場でよく使ってきたCSSのみで実装するボタンデザインを紹介します。hover時のスタイルも合わせて公開しているので、そのまま利用することができます。主に自分用のデザインストックとして投稿しますが皆さんも使えるボタンデザインがあるかもしれません。ぜひあなたの現場でもご活用ください。 背景色と矢印のボタン HTML<div class="button01"> <a href="">ボタンデザイン</a> </div> CSS.button01 a { display: flex; justify-content: space-between; align-items: center; margin: 0 auto; padding: 1em 2em; width: 300px; color: #333; font-size: 18px; font-weight: 700; bac
『3種の神器』と呼ばれるものを始め、私たちが快適な日常生活を過ごす上で、家電という存在は必要不可欠です。 清潔感を保つにも、料理をするにも、家電のサポートがあってこそ。だからこそ、できるだけ大切に長く使いたいものです。 家電の取扱説明書を処分できる『ライフハック』に絶賛の声 家電を長く使うには、適切な使用方法を心がけることが重要。しかし、ハイテクすぎるゆえ、使い方を忘れてしまうのは珍しくありません。 また、大切に使っているつもりでも、時には故障させてしまうことも。慌てて、自宅のどこかにしまった取扱説明書を探しまわった経験はありませんか。 さまざまな機能が搭載されているぶん、取扱説明書は分厚くなっていくもの。持っている家電が多いほど、どうしてもかさばってしまいます。 思い切って家電の取扱説明書を捨てているというのは、澤田翔(@shao1555)さん。自宅で行っている工夫について、X(Twit
ボタンやアイコン、アロー、ハンバーガーメニューなど、UIでよく使用される要素にインタラクションを加えるスタイルシートを紹介します。HTMLはbutton要素だけのシンプルな構成で、classを与えるだけで簡単に利用できます。 UI interactions UI interactions -GitHub UI interactionsは、CSSのみでUIにインタラクションを加えるスタイルシートです。MITライセンスで、個人でも商用のプロジェクトでも無料で利用できます。 UI interactionsの使い方 すべてのコンポーネントには、デフォルトとアクティブの2つの状態があります。状態の切り替えは、is-activeのclassに基づいて発生します。 HTML HTMLは、button要素にclassを与えるだけでのシンプルな構成です。
ショートアンサー React 18 からのフックである、useSyncExternalStore を使えばいいようです。 ※ useEffect がまったくだめだというわけではありません。 ※ クライアントサイドレンダリングのみを考えています。サーバーサイドレンダリングを考慮すると違った答えになるかもしれません。 サンプルコード 次のような useData フックを作ってみます。 JSON API の GET レスポンスを返すシンプルなものです。 実験をしやすいように、リクエスト URL を変えるボタンを置いてあります。 import { useEffect, useState } from "react" export function SearchResults() { const [id, setID] = useState(1) const todo = useData(`http
結論 ロールについて知る HTMLの暗黙のロールを知る ロールを知った上でロールに対して使用できるプロパティ/ステートを使う (おまけ) markuplintを使おう aria属性を使う前に まず、いきなりaria-labelやaria-selectedとかに手を出さない。 aria-selectedとかを発見してしまうと「option要素以外にもselectedみたいな意味を付加できるんだ!すげえ!使ってみよう!」みたいな気持ちが沸き上がってしまう。わかる。とってもよくわかるよ。当時ぼくもそうだったから。 ただ、そこはぐっと我慢してほしい。 なぜかと言うと、aria属性は、使っていいときと悪いときがある。きちんとWAI-ARIAという仕様と、ARIA in HTMLやCore Accessibility API Mapping (Core-AAM)という仕様で決められていっている[1]の
この記事では、Webデザイン制作に便利なコピー&ペーストで実装できる最新HTML/CSSスニペットをまとめてご紹介します。 新しいテクニックを利用した、ますます進化するWebの可能性を感じさせてくる作品ばかりで、最新のウェブデザインテクニックを手軽に実現、楽しむことができます。今後のデザイン制作に活用してみてはいかがでしょう。 ここでは、カテゴリー別に分けて最新HTML/CSSスニペットをまとめています。 コンテンツ目次 1. 小技テクニック系(15個) 2. 面白、ユニーク系(16個) 3. ホバーエフェクト系(6個) 4. テキストエフェクト系(10個) 5. ページレイアウト系(10個) 6. イメージスライダー系(9個) 7. ナビゲーションメニュー系(2個) 8. ローディングアニメーション系(4個) 9. ボタンエフェクト系(13個) 10. CSSマジック(10個) 11.
はじめに StorybookとPlaywrightを連携してテストすることで、思っていた以上に良い開発体験が得られたので紹介します。 今回の記事で紹介するテストは以下のリポジトリで公開しています。 具体的には以下の点が最高でした。 独立したコンポーネント開発 Storybookを利用することで、UIコンポーネントを独立して開発・テストできます。これにより、コンポーネントの再利用性が向上し、効率的な開発が可能になります。 シナリオベースのテスト Playwrightを使ってシナリオベースのテストを実行できます。これにより、ユーザーの実際の操作に近い状況でのテストが可能となり、アプリケーションの品質を高めることができます。 クロスブラウザテストの容易さ Playwrightは、複数のブラウザでの自動テストをサポートしています。これにより、異なるブラウザでの動作検証が容易になり、互換性の問題を効
CSSボタンデザインは、スタイルを変えるだけでガラリと印象を変えることができるウェブデザイン要素のひとつです。 Copy & Paste CSS は、AmazonやSpotify、Slackといった有名Webサイトで使われているボタンデザイン用CSSスニペット77個を集めた無料ツールです。ボタンをクリックするだけで、Internet Explorer や Chrome などクロスブラウザ対応のCSSソースコードをコピペできます。 詳細は以下から。 AmazonやSpotifyも!有名サイトのCSSボタンデザイン77個をコピペ再現できる Copy & Paste CSS Copy & Paste CSSは、海外でよく見かける有名サイトで使われれているボタンスタイルをCSSで再現し、コピペで実装できるようにまとめたCSSライブラリです。 BootstrapやGithub、Tailwindといっ
リンクとボタンのビジュアルが似たものもしくは同じものになる理由のひとつに「押せる」[1]という共通点があるからだと思っている。 ビジュアルを似たもの・同じものにするかどうかは状況により判断されるので、そこに画一的な優劣は存在しない。しかしリンクとボタンは明確に異なる機能や振る舞いをもっている。その振る舞いやそれに対するユーザーのメンタルモデルから結果ビジュアルが同じになるのならいいのだが、ただ単純に「押せる」ことだけを基準にデザインされてしまうのは具合が悪い。このエントリーでは、リンクとボタンをデザインするにあたって「押せる」だけではなく、他にも判断材料となるものがあることを共有したいと思う。 前提と定義 今回の話はウェブブラウザで動作するUIを前提に考える。途中で言及するが、リンクがURLに関係していることと、URLをユーザーが意図的に変更できることが大きく関係するので、ネイティブアプリ
Wantedly の UI デザインシステムは「WantedlyのUIをデザインする上での共通の考え方とツール&アセット」でありエンジニアとデザイナが効率よくコミュニケーションするための共通言語となる デザインシステムを (Web) Frontend に持ち込む際は、単なるコンポーネントカタログではなく、システムが定義するものと同じレベルの抽象を持つライブラリ・フレームワークとして実装することで、より有効性を発揮する Wantedly におけるデザインシステムは、「プロダクト・デバイスをまたいでも・誰がデザインしても体験やブランドとしての一貫性を保つ」「デザインの生産性を向上させ、デザイナ - エンジニア 間コミュニケーションを改善することで、ユーザに価値を届ける速度を向上させる」といった目的のために作られたものです。 より詳しくは、デザインシステムが加速させるプロダクト開発 / Desi
2023/12/13 aria-disabledの付け方を改良 2023/12/11 タイポ修正 2023/12/08 next/linkのhrefにundefinedを渡すとエラーがでるため、disabledにする方法を修正 <Button asChild ref={}>とrefを指定できてしまっていたのを修正 セミコロンをつけないように 2023/12/07 タイポ修正(priamry -> primary) import { cloneElement, forwardRef, isValidElement } from "react" import styles from "./style.module.css" import clsx from "clsx" export type ButtonProps = { variant?: "primary" | "secondary"
ボタンはユーザーがクリックしたりタップしたり、直接アクションを起こすためのWebサイトには欠かせない要素です。 ボタンにはホバーエフェクトとクリックアクションの2つの重要なアニメーションのタイミングがあり、それぞれ適切にデザインすることによって使いやすさの向上にも繋がります。 今回は、アニメーションが美しいCSSによるボタンデザインのサンプルコードをご紹介したいと思います。 ホバーエフェクト ビット調のホバーエフェクトアニメーション ホバーに合わせて楽しいビット調のアニメーションが現れます。 0 6つのボタンデザイン ユニークな6つのボタンのCSSアニメーションのサンプル。 0 矢印が現れるボタン カーソルを合わせると左側から矢印が登場するボタン。 0 テキストが変化するボタン カーソルを合わせると、ボタンのテキストがアニメーションを伴って変化します。 0 ポップで楽しいボタン カーソルを
LIFULLの中島です。 近頃、LIFULL HOME'Sのフロントエンド(ここではJavaScriptのみを焦点とします)もようやく進む道を見出し、そろそろ設計方針を一新しようと試みています。 今回はそれについて話したいと思います。 現在の私たちの課題感 私たちの管理する多くのレガシーコードはDOM操作ライブラリとしてjQueryを、UI設計の格子としてBackbone.Viewのような設計方式を導入しています。 (もちろんそうでないマイクロサービスも多くありますが) 具体的なコード例を示すことこんな感じになります let Slider = Backbone.View({ events: { '.next click': 'next', '.prev click': 'prev' }, next() { this.$(...).css({left: '111px'}); }, ... }
WebサイトやスマホアプリのUIに使用されているボタンをデザインするときに気をつけるポイント、より使いやすくするためのポイントを紹介します。 UIのボタンは色だけに頼らない明確な視覚的階層が必要で、同じスタイルの場合は区別できるようにデザインすることが重要です。 Button design tips to avoid common mistakes by Adham Dannaway 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに UIのボタンで見かけるよくある間違い ボタンをデザインするときに重要なこと より良いボタンにする方法 より実践的なUIデザインのガイドライン はじめに 私はデザイナーになって20年が過ぎ、多くのプロジェクトでボタンを使用してきましたが、ボタンのデザインについて深く考察する時間を取っていなかっ
CSSだけでも表現できるデザインが増えてきまして、疑似要素::beforeや::afterなどを駆使することでボタンやテキストリンクへさまざまな装飾することができるようになりました。今回は全部で19パターンのデザインをCSSのみで実装する方法をご紹介します。あなたの現場でぜひご利用ください。 CSSボタンのスタイルCSSボタンは11パターンあります。すべてのデザインに共通したCSSがありますので以下のコードをコピペした後に、実装したいボタンのCSSをコピペしてください。 CSSボタンの共通スタイル .btn a { display: flex; justify-content: center; align-items: center; position: relative; width: 300px; height: 60px; color: #333; font-size: 18px;
Our frontend codebase is a single-page application powered by Create React App (CRA), written in TypeScript, and using GraphQL for the API. The existing styling approach used CSS Modules without a design system. CSS Modules are CSS files in which all class and animation names are scoped locally by default. They get compiled as part of the build step—with bundler technology like Webpack—and are nat
もうすぐ発売される ELDEN RING が待ち遠しい @snaka です。 今回は連載企画とは全然別のリモートワークに関するガジェットネタです。 リモート会議におけるマイクミュートの切り替え問題 近頃ではリモート会議が当たり前の日常ですが、個人的にリモート会議で地味にストレスに感じる点が1つありました。 それは、マイクミュートの ON/OFF の切り替えでした。 リモート会議では発言時以外マイクミュートが基本 リモート会議のマナーとしてよくあるのが、自分が発言しない間は基本マイクをミュートした状態で、発言するときだけミュートを解除するというものだと思います。 他の人が発言しているとき(このときマイクミュートしている)、ブラウザやエディタを開いてメモをとったり関連資料を参照してたりする最中に話を振られると... まず Discord のウィンドウを探し *1 マイクミュートのボタンの位置を
1. RAG「RAG」(Retrieval Augmented Generation) は、最新の外部知識の習得とハルシネーションの軽減という、LLMの2つの主要課題に対処するためのフレームワークです。開発者はこの技術を利用して、AI搭載のカスタマーボット、企業知識ベース、AI検索エンジンなどをコスト効率よく構築できます。これらのシステムは、自然言語入力を通じて、さまざまな形態の組織化された知識と相互作用します。 下図では、ユーザーが「アメリカの大統領は誰ですか?」と尋ねると、システムは回答のためにLLMに質問を直接渡しません。代わりに、ユーザーの質問について、知識ベース (Wikipediaなど) でベクトル検索を実施します。意味的な類似性マッチングを通じて関連するコンテンツを見つけ (たとえば、「バイデンは現在の第46代アメリカ合衆国大統領です...」)、LLMに発見した知識とともにユ
こんにちは!株式会社Rabeeでデザイナーをしています、nanamiです。 今回は、LPにおいてCV(コンバージョン)に大きく影響を与えるUIパーツ「CTAボタン」周りのデザインをパターン別に集めてみました。 はじめに前回の記事で予告をした通り、今後、LPやWebサイトを構成する様々な要素を1つずつ特化して調査をしていきたいと思っています。 今回はその「パーツ別デザインまとめ」シリーズ2本目です。 ↑ こちらの記事、たくさんの方に読んでいただけており嬉しいです! パターン別 CTAボタン一覧サイト閲覧者に特定の行動を促すよう誘導する(Call to Action)ためには、CTAボタンに視線を集める必要があります。 そこで今回は「目に留まりやすいCTAボタンにはどんな特徴があるのか?」という観点で、見つけた特徴別にCTAボタン周りのデザインを一覧化しました。 💡差別化された背景色CTAボ
Webのアクセシビリティの確認としてスクリーンリーダーを使った動作確認もしてもらうと 「リンクとかボタンしか読まれず、見出しや説明文がスキップされてしまいました」 という報告をされることが時々あります。 これは大抵、スクリーンリーダーを起動して、Tabキーだけを繰り返し押してしまっていることによって起こります。スクリーンリーダーの操作方法を伝えると、読み飛ばしたと思っていたところもちゃんと読みあげてくれたということがほとんです。 アクセシビリティをかなり意識したページであっても、Tabキーだけでスクリーンリーダーを操作しているかぎり、ページの隅々まで読めることはほとんどありません。スクリーンリーダーにはTabキーを押す以外にもいろいろな操作が存在して、それを憶える必要があるわけです。私はアクセシビリティチェックのやり方を説明するときには、必ずその操作方法のうち最低限のものを紹介しているつも
Building a dialog component Stay organized with collections Save and categorize content based on your preferences. A foundational overview of how to build color-adaptive, responsive, and accessible mini and mega modals with the <dialog> element. In this post I want to share my thoughts on how to build color-adaptive, responsive, and accessible mini and mega modals with the <dialog> element. Try th
※本記事はアフィリエイトプログラムによる収益を得ています ドコモ口座から始まった“不正出金事件”で4桁暗証番号の脆弱(ぜいじゃく)性が騒がれる中、自転車の鍵などに使われる10桁の押しボタンの脆弱性にも注目が集まっています。一見1万通りあるように見えますが、実は210通りしかないというのです。なんと少ない……。 10桁の押しボタン式鍵(画像はAmazon.co.jpから) 押しボタン式の鍵は、0~9までの数字から4つの正しい数字を押すことで開くというもの。しかし、1度押した番号はもう一度使えず、さらに順不同となるため、10×9×8×7/4×3×2×1=210通りとなります(詳しくは「nCr 計算」などで検索)。慣れている人だと、10分もあれば開けられてしまいそうです。 この件について投稿したのは、立命館大学教授の上原哲太郎さん(@tetsutalow)。“不正出金事件”を受け、「10個の数字
ノートPCやタブレットとかについてるウェブカメラを使って、Googleマップ ストリートビューでランニングできるRunning on StreetViewというウェブアプリを作りました。 Google Maps Street Viewとウェブカメラを使って、ストリートビューを走るウェブアプリを書きました。 走るとストリートビューが進む感じ(雑な判定なので走らなくてもいい)https://t.co/bhYq289QmS 使い方はこちらhttps://t.co/kypr9Oo9JU Google MapのAPIキーは自分で取得する必要があります。 pic.twitter.com/tmD1XNwjSa — azu (@azu_re) May 8, 2020 動画はデバッグ用のモデルに走ってもらっていますが、ウェブカメラで走るなどのアクションに応じてストリートビューを進行できるアプリです。 色々検
気温が高くなる夏の時期に欠かせない『エアコン』。内部にカビが繁殖した状態で使い続けると、部屋中に汚れや菌をまき散らすことにもなりかねません。 こまめなお手入れとともに実践したいのが、カビを繁殖させないための工夫です。 カビ対策で覚えておきたい使い方のコツを、エアコン掃除でおなじみのおそうじ本舗公式アカウント(osoujihonpo_official)のInstagram投稿より紹介します。 重要なのはエアコンを切った後 エアコンの内部は湿度が高い上にホコリが溜まりがち。このような環境下ではカビが発生・繁殖しやすくなってしまいます。 エアコン内部にカビがある状態で稼働させると、エアコンの風に乗って部屋中にカビ菌が拡散。アレルギー症状や気管支喘息、アトピー性皮膚炎といった、健康被害をもたらす可能性があるため注意が必要です。 カビを予防するために、使用後すぐに電源を切るのではなく、送風運転に切り
Want to try more scale comparisons ... not only the Ever Given but anything else? Try the new @bplmaps Insizeor tool! Why should the Suez Canal have all the fun? From the comfort of home you can get the Ever Given stuck wherever you want it. Drag and zoom the map to move this big old boat somewhere else. Click the rotate button to get it wedged perfectly. Hit the "to scale" button to make it appro
React Aria Components は Adobe によって提供されている Headless UI コンポーネントライブラリです。振る舞いや国際化に, アクセシビリティに関する機能を備えており、Button や Input, TextField, Label などのシンプルな要素から、DatePicker や ComboBox などの様々なコンポーネントが提供されています。 今回は React Aria Components の設計について紹介します。 React Aria Components のコンポーネントの設計 React Aria Components の API はコンポジションを中心に設計されています。これにより、パターン間で共通のコンポーネントを共有することも、個別に使用することも可能です。なお、コンポジションについては React Component Compos
本文書は、Taliwind CSSをこれまで使ったことがない人向けの入門者向けの内容になっています。記事を2回にわけて説明を行っていますが、1回目の本文書はTailwind CSSの環境の構築を行い基本的な設定とカスタマイズ方法について説明を行います。2回目では本文書では触れていないFlexboxやブレイクポイント、レスポンシブデザインについて、実践的なナビゲーションバーを作成しながらTailwind CSSの理解を深めていきます。 タイトル通り利用者が爆増中で次々と新たしい機能が追加されています。現在の最新バージョンはv3です。本文書はv2.xの時に作成したので記載している内容もv3.4.3ではより簡単な方法で設定できたり以前のバージョンでできなかったことができるようになっています。しかしUtilify Classという根本は変わっていないので基礎を学ぶための情報は記載されています。
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く