​​CSS​HTML,JavaScript,Playwright

Thumbnail of post image 133

​

モーダルダイアログの後ろのページを暗くぼかすには、dialog を showModal() で開き、::backdrop に半透明の背景色と backdrop-filter の blur() を指定します。効き方を画素の明るさで測り、 ...

​​CSS​HTML,Playwright,アクセシビリティ

Thumbnail of post image 185

​

kbd 要素に枠線と角丸、下だけ太い枠線を付けると、キーボードのキーのような見た目になります。使い方の説明やヘルプのページで、文章の中のショートカットキーをキーの形で見せたいときに使えます。行の間が広がらない line-height ...

​​CSS​CSS Grid,HTML,Playwright

Thumbnail of post image 048

​

料金プランのカードは、CSS Grid の subgrid を使うと、説明文の長さが違っても、機能の一覧とボタンの位置がとなりのカードとそろいます。flex との違い、おすすめのバッジの置き方、狭い画面で縦に並べる書き方を、位置を測っ ...

​​CSS​HTML,Playwright,フォーム

Thumbnail of post image 145

​

入力欄のまとまりを fieldset で囲むと、legend の見出しが枠線の上に載った枠になります。枠を角丸にする CSS、disabled でまとめて無効にする書き方、細い画面ではみ出すときの直し方を Chromium で確かめま ...

​​CSS​HTML,Playwright

Thumbnail of post image 089

​

セクションの下端を斜めにするには、clip-path の polygon() で右下の角を上げます。切った部分に次のセクションの色を出す重ね方、斜めの辺で文字が切れないための余白、画面の幅が変わっても角度を保つ tan() の使い方も ...

​​CSS​HTML,Playwright

Thumbnail of post image 173

​

方眼紙のようなマス目は、縦線と横線の linear-gradient を2枚重ね、background-size でマスの大きさを決めると描けます。5マスごとの濃い線、端を線で閉じる方法、線がにじむときの直し方、入力欄で線と文字をそろ ...

​​CSS​HTML,Playwright,スクロール駆動アニメーション

Thumbnail of post image 046

​

ページをどこまで読んだかを示す上のバーは、CSS の animation-timeline: scroll() だけで作れます。短いページでバーが伸びきる点の防ぎ方と、枠の中のスクロールに合わせる書き方も確かめました。

​​CSS​HTML,Playwright

Thumbnail of post image 005

​

画像に filter: grayscale(100%) を付けて白黒にし、:hover のときに grayscale(0%) に戻すと、マウスを乗せた画像だけがカラーになります。transition で色が戻る途中の値、ほかのフィルタ ...

​​CSS​HTML,Playwright

Thumbnail of post image 066

​

文字の縁取りは -webkit-text-stroke で付けられます。ただし線は輪郭の内側にも描かれ、太くすると文字が細ります。paint-order: stroke fill で線を文字の後ろに回す書き方と、text-shadow ...

​​CSS​HTML,Playwright,アクセシビリティ

Thumbnail of post image 005

​

タブの数だけラジオボタンを置き、label をタブの見た目にして、:has() と :checked で選ばれたパネルだけを出すと、JavaScript なしでタブが切り替わります。矢印キーでの操作、ラジオボタンの隠し方、:targe ...

​​CSS​HTML,JavaScript,Playwright,アクセシビリティ

Thumbnail of post image 023

​

ボタンと吹き出しを1つの要素で包み、:hover で visibility と opacity を切り替えると、マウスを乗せたときだけ説明が出ます。出るまでの待ち時間、吹き出しへのマウスの移し方、キーボードと Esc キー、読み上げ用 ...

​​React​HTML,Intl.Segmenter,Playwright,TypeScript

Thumbnail of post image 136

​

本文の文字数と「1分に読む文字数」から、「この記事は約3分で読めます」を出すコンポーネントを React で作りました。日本語は見た目の1文字ごと、英語は単語ごとに数える方法、四捨五入の境目、time 要素への入れ方、長い文章で速く数 ...

​​CSS​HTML,Playwright,ダークモード

Thumbnail of post image 040

​

OS のダークモードに合わせて色を変えるには、色をカスタムプロパティにまとめ、prefers-color-scheme のメディアクエリで値を入れ替えます。color-scheme、light-dark()、テーマを選ぶボタンも確かめ ...

​​CSS​HTML,Playwright

Thumbnail of post image 062

​

縦に長い表をスクロールしても見出しの行が上に残るようにするには、表を高さの決まった枠に入れ、見出しのセルに position: sticky と top: 0 を付けます。左の列も固定する書き方と、線が消える・文字が重なるときの直し方 ...

​​CSS​HTML,Playwright,アクセシビリティ

Thumbnail of post image 098

​

入力欄に重ねたラベルを、フォーカスしたときと文字が入っているときに上へ小さく動かす方法です。入力したあとも何の欄かが分かる「フローティングラベル」を、CSS だけで作りたいときに使えます。placeholder に空白を1つ入れて : ...

​​CSS​HTML,JavaScript,Playwright,アクセシビリティ

Thumbnail of post image 132

​

details の中身を包む ::details-content の高さを、0 から auto へ transition で動かすと、アコーディオンがなめらかに開閉します。閉じるときの指定や、details を使わない書き方も Chr ...

​​CSS​HTML,Playwright

Thumbnail of post image 114

​

横に並べたカードを、スクロールしたときにカードの左端でぴたっと止めるには、CSS の scroll-snap を使います。カルーセルやスライダーと呼ばれる、カードを横に送って見せる部品を作るとき、どのカードも同じ位置で止めたい場面で使 ...

​​CSS​HTML,Playwright,アクセシビリティ

Thumbnail of post image 114

​

画像の上の白い文字は、文字の下だけをグラデーションで暗くするか、半透明の箱を敷くと読みやすくなります。ページの先頭に大きく置く画像、いわゆるメインビジュアルやヒーロー画像に、見出しと短い説明を重ねたい場面で使えます。text-shad ...

​​CSS​HTML,JavaScript,Playwright,アクセシビリティ

Thumbnail of post image 095

​

購入手続きなどの「今どの手順にいるか」を示すステップ表示を、ol と CSS で作ります。番号はカウンター、つなぐ線は疑似要素で描き、済んだステップは :has() で選ぶので、JavaScript は aria-current を付 ...

​​CSS​HTML,Playwright

Thumbnail of post image 105

​

文字に蛍光ペンのような線を引くには、上60%を透明にした linear-gradient を背景に置きます。行をまたいでも線は続きます。文章の中で注目してほしい部分を、マーカーで線を引いたように目立たせたいときに使えます。折り返しの端 ...

​​CSS​HTML,JavaScript,Playwright

Thumbnail of post image 065

​

押すと波紋が広がるボタンは、::after の円をふだんは大きく透明にしておき、:active の間だけ大きさ0にすると CSS で作れます。押した位置から広げる方法と、波紋が途中で消える、外にはみ出すときの直し方も確かめました。

​​CSS​HTML,Playwright

Thumbnail of post image 166

​

枠に overflow: hidden を付け、:hover で画像を transform: scale(1.1) にすると、枠の大きさは変わらず、中の画像だけが大きくなります。overflow を付け忘れたときの重なりや、画像の下の ...

​​React​CSS,HTML,TypeScript

Thumbnail of post image 178

​

「{紫陽花|あじさい}」のように書いた文字列から、React で ruby 要素を組み立ててふりがなを表示するコードです。1文字ずつ付ける形、表示の切り替え、行間、コピーしたときにふりがなが混ざる問題の避け方も扱います。

​​CSS​HTML,Playwright

Thumbnail of post image 185

​

カードの角に「NEW」のような斜めのリボンを付けるには、カードに position: relative と overflow: hidden を付け、細長い要素を絶対配置して45度回します。角からの距離とリボンの長さの決め方を、画素を ...

​​CSS​HTML,Playwright,アクセシビリティ

Thumbnail of post image 052

​

パンくずリストの各リンクを clip-path の polygon() で矢印の形に切り抜き、左へずらして前の矢印の先を次のくぼみに入れます。重なった部分のクリック、切れて見えなくなるフォーカスの枠、折り返したときのはみ出しも確かめま ...

​​CSS​HTML,Playwright

Thumbnail of post image 003

​

縦の線と点で出来事を並べるタイムラインを、ol と li の疑似要素だけで作ります。線が最後の点より下に伸びる、点の中に線が透けて見える、文字を大きくすると点がずれるといったつまずきと直し方を、画素を測って確かめました。

​​CSS​HTML,Playwright

Thumbnail of post image 186

​

長い文章を3行で切って「…」を付けるには、-webkit-line-clamp を display: -webkit-box と組み合わせます。max-height では「…」が付かないことと、padding を付けると4行目が見える ...

​​CSS​HTML,Playwright,SVG

Thumbnail of post image 186

​

区画の境目を波の形にするには、波を描いた SVG を横幅いっぱいに置くか、2つの radial-gradient で描きます。波の下にすき間ができる、画面の幅で波が縮むといったつまずきと直し方を、画素の色を測って確かめました。 ...

​​CSS​HTML,Playwright,レスポンシブ

Thumbnail of post image 181

​

grid-template-columns に repeat(auto-fill, minmax(220px, 1fr)) と書くと、親の幅に入るだけカードが並び、余った幅はカードに配られます。auto-fit との違い、狭い画面では ...

​​CSS​HTML,Playwright,アクセシビリティ,フォーム

Thumbnail of post image 160

​

色だけなら accent-color の1行で変えられます。形から変えるなら appearance: none で見た目を消し、枠と ::before のチェックを描きます。未確定の状態と、強制カラーモードでチェックが消える問題の直し ...