タグ

html+cssに関するginpeiのブックマーク (214)

  • なぜ HTML の form は PUT / DELETE をサポートしないのか? | blog.jxck.io

    Intro 10 年ほど前に同じことを調べたことがある。 なぜ html の form は PUT / DELETE をサポートしないのか? - Block Rockin' Codes https://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete 当時は全くの素人で、素人なりに調査はしたが、ほとんどが推測の域を出ない結論だった。 この問題についてあらためて記す。 仕様策定の経緯 表題の通り、 <form> の method には GET と POST しかサポートされていない。 HTTP には他にも PUT や DELETE といったメソッドもあるのに、なぜサポートされていないのかという疑問から始まった。 仕様が決定した経緯は、以下に残っている。 Status: Rejected Change Descriptio

    なぜ HTML の form は PUT / DELETE をサポートしないのか? | blog.jxck.io
    ginpei
    ginpei 2023/11/28
    サポートしない理由は有用な場面がなく開発者を満足させる以上の利点がないから。またHTML/HTTPに手を入れるよりFlutterやWebSocketのような方向性の方が将来の拡張性が高いかも、と。
  • pointer/hover/any-pointer/any-hover test results

    ginpei
    ginpei 2023/11/13
    CSSエディアクエリーのhoverやpointerの値が各環境でどの値を取るか調査した結果。同じ端末でもブラウザーによって違ったり、同じ環境でもOSのモードで変わったり。
  • 横並びになったボタンを同じ幅で配置するCSS

    複数のボタンを横並びにしつつ、それぞれのボタンが同じ幅になるように合わせたいということがある。ボタンに同じwidthを指定すれば合わせられるが、するとラベルの長さに応じた幅にできなくなる。 縦方向に並んだボタンであれば、いずれか幅の広い方に合わせることは難しくない。次のようにすれば、最も幅の広いボタンに合わせて他のボタンも配置することができる。 <div class="wrapper"> <button type="button">Hi</button> <button type="button">Hello</button> <button type="button">Lorem ipsum dolor</button> </div> .wrapper { display: flex; flex-direction: column; gap: 1em; width: fit-conten

    横並びになったボタンを同じ幅で配置するCSS
    ginpei
    ginpei 2023/09/06
    gridを使う。grid-auto-flow:columnのときwidth:fit-contentとgrid-auto-columns:1frを併用すると全体で同じ最小の幅に。
  • decoding="async" について詳しく調べてみる

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

    decoding="async" について詳しく調べてみる
    ginpei
    ginpei 2023/07/21
    <img>に付けるloading="lazy"とdecoding="async"に関する説明。Chromeの挙動。decodingは指定なしで良さそう。
  • Tip - Use fetchpriority=high to load your LCP hero image sooner

    Tip - Use fetchpriority=high to load your LCP hero image sooner August 14, 2022 Tip: Add fetchpriority="high" to your Largest Contentful Paint (LCP) image to get it to load sooner. Priority Hints sped up Etsy’s LCP by 4% with some sites seeing an improvement of up to 20-30% in their lab tests. In many cases, fetchpriority should lead to a nice boost for LCP. Code snippets Priority Hints let you ad

    Tip - Use fetchpriority=high to load your LCP hero image sooner
    ginpei
    ginpei 2023/06/30
    img要素他の属性。ページ上部のドデカ画像で<img fetchpriority="high">すると優先して読み込まれるので速度指標の数値向上になるそう。
  • The truth about CSS selector performance

    If you’re a web developer, you may have already heard that some CSS selectors are faster than others. And you’re probably hoping to find a list of the better selectors to use in this article. Well, not quite. But bear with me, I promise that by the end, you’ll have learnt something new about CSS selector performance. A quick look behind the scenes The way you write CSS selectors does play a role i

    The truth about CSS selector performance
    ginpei
    ginpei 2023/01/19
    CSSセレクターがどう速度に影響したか計測するEdge新機能の紹介。Chromeには(まだ?)ない。DevTools>Performance>歯車アイコン>EnabIe advanced rendering instrumentation (slow)をオン、計測、Recalculate Styleを探して選択、下部Selector Stats。
  • Incomplete List of Mistakes in the Design of CSS [CSS Working Group Wiki]

    That should be corrected if anyone invents a time machine. :P

    ginpei
    ginpei 2022/08/17
    CSS言語設計失敗一覧。CSSWGはタイムマシンが発明されたら直したいそう。!importはもちろん新しめのflexにも反省点がある。単行コメントあるかと思ったらコメント自体をなくしたい様子、たしかに解析側からは邪魔かも。
  • Modal Dialog Example

    This is just a demonstration. If it were a real application, it would provide a message telling whether the entered address is valid. For demonstration purposes, this dialog has a lot of text. It demonstrates a scenario where: The first interactive element, the help link, is at the bottom of the dialog. If focus is placed on the first interactive element when the dialog opens, the validation messa

    Modal Dialog Example
    ginpei
    ginpei 2022/01/04
    アクセシブルなダイアログの作り方。初期フォーカスは、OKボタンが主ならそれ、フォームのようなものは最初の操作対象に。長いダイアログでは最初の段落に説明を置きtabindex="-1"にして初期フォーカスを与えるのが良い。
  • [CSSWG] Minutes and Resolutions 2010-03-24 from fantasai on 2010-03-31 (www-style@w3.org from March 2010)

    ginpei
    ginpei 2021/07/20
    CSSに行コメントが追加されない理由。2010年の会議。"// Comments"の節を参照。当時既に「またか」「今さら追加できない」という雰囲気。
  • Webフォント読み込み戦略(2021年) - MOL

    Preload web fonts 前回、といっても2年前だが、display=swapとはなにかで、Google Fontsを読み込むときはURLパラメータに display=swap をつけるといいよと言った。というわけで、それ以降、『目標をセンターに入れて、display=swap…』と盲目的に考えるようになってた。 おさらいとして display=swap では、まず代替フォントを表示し、Webフォントをダウンロードしたら、随時スワップするという挙動になる。この場合、代替フォントからWebフォントへ切り替わる FOUT (flash of unstyled text) が起こってしまう。こんな感じ↓ 出典:font-face descriptor playground まぁ何も表示されないよりかは良いかと思うわけだが、時は流れ、最近ではWebの指標として、Web Vitalsという

    Webフォント読み込み戦略(2021年) - MOL
    ginpei
    ginpei 2021/04/23
    かつてはfont-display:swapでフォント読み込み中の文章不可視化を防いだが、CLSが重要視される今日ではfont-display:optionalとpreloadを組み合わせて全体をブロックするのが良さそう、と。フォント使わないのが最善手かも。
  • WAI-ARIAを学ぶときに整理しておきたいこと

    結論 ロールについて知る HTMLの暗黙のロールを知る ロールを知った上でロールに対して使用できるプロパティ/ステートを使う (おまけ) markuplintを使おう aria属性を使う前に まず、いきなりaria-labelやaria-selectedとかに手を出さない。 aria-selectedとかを発見してしまうと「option要素以外にもselectedみたいな意味を付加できるんだ!すげえ!使ってみよう!」みたいな気持ちが沸き上がってしまう。わかる。とってもよくわかるよ。当時ぼくもそうだったから。 ただ、そこはぐっと我慢してほしい。 なぜかと言うと、aria属性は、使っていいときと悪いときがある。きちんとWAI-ARIAという仕様と、ARIA in HTMLやCore Accessibility API Mapping (Core-AAM)という仕様で決められていっている[1]の

    WAI-ARIAを学ぶときに整理しておきたいこと
    ginpei
    ginpei 2021/03/10
    まず要素ごとのロールを意識し、本当に必要ならrole属性を与え、ロールの範囲でaria-*属性でプロパティを設定する。良し悪しの例などが多くてわかりやすい。
  • 21 Bad Front-End Habits to Drop in 2021

    I get it. 2020 wasn’t the best year. We stopped exercising, started spending way too much time on Twitter, ate a lot of junk, and generally let ourselves go – and with good reason! But 2021 has a chance to be different. So here are 21 bad front-end habits we would all be better off leaving behind. Note: I help run the State of CSS and State of JS surveys. Leave us your email if you'd like to know

    21 Bad Front-End Habits to Drop in 2021
    ginpei
    ginpei 2021/03/03
    やめるべき21のフロントエンドしぐさ2021、みたいな。クッキーやめろとかスクロールジャックやめろとか、あとTypeScriptから逃げるなとか。アレゲな題名だけど意外と共感が多かった。
  • CSSのCascadingに追加されようとしているLayerという概念 - araya's reservoir

    2021 年 1 月に CSS Cascading and Inheritance Level 5 の First Public Working Draft が公開された。 CSS Cascading and Inheritance はその名の通り、CSS の Cascade や継承などについての仕様を定義しているもので、つい先日 Level3 が晴れて W3C Recommendation となった。 CSS Cascading and Inheritance Level 3 is a W3C Recommendation そして、新たに First Public Working Draft が公開された Level5 では、今までの Cascading に、新たにLayerという概念の導入が検討されている。 記事では CSS の Cascading についておさらいし、新しい概念であ

    CSSのCascadingに追加されようとしているLayerという概念 - araya's reservoir
    ginpei
    ginpei 2021/02/17
    CSSのスタイル適用順序に追加されそうなLayerについて。詳細度より優先順位が高い基準だが、先にレイヤー名だけ記述することで各スタイルの記述順序に依らない宣言が可能。
  • <css-doodle />

    There's an alternative way to set up the grid by using the @grid property. <css-doodle> :doodle { @grid: 5 / 8em; } background: #60569e; transform: scale(@rand(.2, .9)); </css-doodle> :doodle { @grid: 5; @size: 8em; } background: #60569e; transform: scale(@r(.2, .9)); use Import rules from CSS custom properties (CSS variables). <css-doodle use="var(--rule)"></css-doodle> It's highly recommended to

    ginpei
    ginpei 2021/02/10
    ウェブコンポーネントを使って独自に拡張したCSSを記述できるもの。こういう使い方もあるんだ。
  • Markuplint - An HTML linter for all markup developers. | Markuplint

    Conformance checkingThe markup needs to written valid code. This is important to keep the promise of the standards that do not break webpages through each user agent. Markuplint can conformance checking given the specs that are HTML Standard, WAI-ARIA, and more. On Your House RulesYou may have the house rules on your project or your organization. You can check based on your policy or your manageme

    Markuplint - An HTML linter for all markup developers. | Markuplint
    ginpei
    ginpei 2020/10/01
    HTMLのlinter。IDや属性の重複といった凡ミスやul>divのように不正な構造を検出してくれる。インデントやタグ名の大文字小文字といったスタイルも。
  • What does 100% mean in CSS?

    Spoiler: it dependsOne of the CSS units I use most is the wonderful % — so handy for positioning elements on the page. Unfortunately, the rules aren’t exactly straightforward. One question I’m always asking myself is: Percent of what?Hopefully this guide can help clear things up. Just give me the gist!#The basics: width & heightIn these examples, the purple box is our lovely self element — this is

    ginpei
    ginpei 2020/08/07
    CSSの長さ%の動きを動かして試せるツール。基本は包含要素の同方向の長さに対する割合だが、marginは必ず幅に対する割合で、translate()は自身の長さ。paddingの件はbox-sizingなのでちょっと混乱しそう。
  • Sassを@importから@useに置き換えるための手引き - kojika17

    Sassの@importルールは、廃止されることが予定されています。 @useや@forwardといったルールに置き換わるのですが、これらは全く新しいシステムです。 これらの知見が溜まってきたのでご紹介します。 @import と 新しいモジュールシステム Sassの初期の方から実装されていた@importは、テキスト形式でSassファイルを読み込むための機能です。便利な機能ですが、CSSの@importと重複しているため、SassなのかCSSなのか一見してわかりにくい側面がありました。 新しいモジュールシステムは、この問題を解消し、Sassをより柔軟に使用できるようにします。 @importではグローバルに指定されていた変数などは、ファイルごとにカプセル化され、ファイルの内容に基づいて解決できるようになりました。 現在、Dart Sassしか新しいモジュールシステムは使えませんが、Lib

    Sassを@importから@useに置き換えるための手引き - kojika17
    ginpei
    ginpei 2020/05/26
    @useの紹介と@importから移行するために必要な知識、変更すべきコード例。ミックスインや変数を多用してきっちり組み立てていると逆に大変そう。
  • Let's Take a Deep Dive Into the CSS Contain Property | CSS-Tricks

    ginpei
    ginpei 2020/05/14
    CSSのcontainプロパティの説明。要素ごとにレイアウトの独立性を明示することでブラウザーの計算省略に繋がり描画効率向上。
  • 元Webデザイナーのセキュリティエンジニアが警告する、CSSインジェクションの脅威 | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ

    ※この座談会は緊急事態宣言以前に実施しました。 イエラエセキュリティの顧問を務める川口洋が、イエラエセキュリティを支える多彩なメンバーと共に、サイバーセキュリティやサイバーリスクの今を語り合う座談会シリーズ、第11回をお送りします。 川口洋氏は、株式会社川口設計 代表取締役として、情報セキュリティEXPO、Interop、各都道府県警のサイバーテロ対策協議会などで講演、安全なITネットワークの実現を目指してセキュリティ演習なども提供しています。 イエラエ顧問として、「川口洋の座談会シリーズ」を2019年に開始。サイバーセキュリティを巡る様々な話題を、社内外のゲスト達と共に論じ語ってきました(川口洋の座談会シリーズ)。 今回ゲストとして登場するのは、イエラエセキュリティのペネトレーション課に所属する馬場将次。Webデザイナーとしての経験から、Webに関するセキュリティへの鋭い視点を持つ馬場。

    元Webデザイナーのセキュリティエンジニアが警告する、CSSインジェクションの脅威 | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ
    ginpei
    ginpei 2020/05/13
    CSSの属性セレクターと外部URLのbackground-imageを組み合わせて入力値を探す手法。さらに遅延importを入れ子にして先頭から順次1文字ずつ検索。CSRFトークンを抜き出したりできちゃうよ、と。
  • CSS での OpenType 機能の構文 | Adobe Fonts User Guide

    この機能は、一連の字形を「合字」と呼ばれる 1 つの字形に置き換えます。合字は、タイポグラフィの目的で好んで使用されます。この機能を有効にすると、通常の状況ではデザイナーやベンダーの審査に使用するような合字が挿入されます。 この合字機能は、デフォルトで有効です。そのため、通常は CSS を記述しなくても動作します。ただし、Chrome ではデフォルトで有効になりません。また、Safari(Mac または iOS)では無効にできません。Chrome と Firefox の一部のバージョンでは、スペースを含む合字で問題が発生します。 .class { font-variant-ligatures: common-ligatures; -moz-font-feature-settings: "liga", "clig"; -webkit-font-feature-settings: "liga"

    ginpei
    ginpei 2020/04/27
    CSSのfont-feature-settingsプロパティについて。OpenTypeフォントの表示を制御する機能。MDNによると広くサポートされている様子。