あなたはCSSの新しいを見ました :has() セレクター右?

過去の解決策はせいぜいエレガントであり、今では簡単で満足のいくものであるため、これらすべての「基本的な」ユースケースが私を笑顔にしています。これが1つです:

  1. あなたはあなたの下のマージンが欲しいです

  2. …がない限り その後、そのすぐ下にあります いいえ マージン
  3. …しかし、マージンを下に置きます その代わり。

これへの1つのアプローチ :has() ほんの数行で、私には非常にはっきりと読みます:

h2 {
  margin-block-end: 1.2rem;
  &:has(+ time) {
    margin-block-end: 0;
  }
  &:has(+ time) + time {
    margin-block-end: 1.2rem;
  }
}
デモ

しかし、私が言ったように、それは「基本的な」ユースケースです。の力 :has() ツリーの任意のDOM要素からの検査が可能になり、必要に応じて動きます。時々私の心を包むのは少し難しいです。 ジム・ニールセンが言ったように

たくさんの人が自分の小さな人を持っているような気がします そうそう! このCSS機能の瞬間。 ミシェル・バーカーはそれらのいくつかをブログにしました、との興味深い組み合わせを含む :target セレクタ。特定の要素は、ターゲットにされた要素を「持っていますか」?はい?グリッドをアニメーション化して、それ以外の場合は隠された領域を明らかにします。

自分のコードベースを突っ込んで、私はそれが振りかけ始めるのを見ることができます。テンプレートに入ってくる未知のデータに関していつ見ることに興味があります。 JSXの例は次のとおりです。

{things.map(thing => { return(

{thing.name}

{thing.text}

); })

ここでは、「物」の完全な任意のリストを吐き出します。持っているのが最も便利だと思いました data-category ヘッダーの属性は、それを使用した直接的なスタイリングが役立ちました。しかし、親がそれに基づいてスタイリングを必要とする場合はどうなりますか?簡単:

.thing:has([data-category="widget"]) {
   background: yellow;
}

さらに、グループ全体に特別なスタイルが必要な場合はどうなりますか?そして、もしそうなら、 全て ヘッダーは小さい?

.things:has([data-category="widget"]) h3 {
  font-size: 80%;
}

下ってからバックアップ!

私は、数量クエリが簡単になるという考えについても非常にまとまっています。このリストには少なくとも11個のアイテムがありますか?はい?その後、何かをします:

ol:has(li:nth-child(11)) {
  color: red;
}

ダッジから出てください。


しばらくの間、CSSのブレンドモードがありました。使用します mix-blend-mode 要素をブレンドしようとしているとき コンテンツ 背景で。使用します background-blend-mode 背景を重ね、それらをブレンドしたいとき。

それは私たちがCSSで直接アクセスできる驚くほどクールなものとして私を襲っています。そして、それは私がそれが使用されているのを見るとき、それは通常嬉しい驚きです。

ブラッドウッズには素晴らしい記事があります 彼らがどのように機能するかを披露します。インタラクティブな例は、本当に正義を融合させています。

それらは劇的に見えますが、ブレンドはかなり微妙です。ブラッドには、画像に勾配をブレンドする、テクスチャのブレンド、ブレンドパターンなど、他のあらゆる例があります。

Koding kittyには 同様に良い説明ページ、具体的には、提供されたTailwindクラス名を使用して、シングルカラーアイコンの上にブレンドを行います。私はいつもロビンを思っていました 古いCSS-Tricksページで良い仕事をしました 同じように。

あなたは私がいつもブレンドで考えていることを知っていますか?あなたが学んだばかりで、それを知っているのはCSSプロパティではありません。あなたが学ぶことができるのは、それが何ができるかの一般的なカテゴリーと、それが役立つかもしれない状況だけです。それから、あなたはしなければなりません 推測とテスト 良い結果へのあなたの道。多くのCSSはそのようであると主張するかもしれませんが、ブレンドは特にこのようにブレンディングがそうであると感じています。


優れたインタラクティブなチュートリアルといえば!

ArturBieńがその上にあります CSSのブルールビネット効果

CSSでこれをどのように引きますか?

すぐに、画像の2つのコピーをレイヤーし、上部のコピーをぼかし、マスクを使用してぼやけたバージョンのエッジのみを明らかにすることです。難しい部分はマスクを作成することです。 Arturは、6つの層状勾配でそれを行い、効果を適切にします。

下部にあるWindows 98のインタラクティブなデモをお見逃しなく、効果のさまざまな側面を完全に制御できます。

Arturは、この種の詳細を正しく取得するマスターです。チェックアウト 彼がツイートしたこのクイックスクリーンキャストビデオ 「ガラスオーバーレイ」効果を適切に取得することについて。私は「それが何だ backdrop-filter のためです!」それはそこにありますが、Arturが言うように、それは説明していません:

実際には、ガラスのオブジェクトが目と光源の間に直接配置される前でさえ、光を反射しているのを見ます。


さて、私たちはフィルター、ブレンド、マスキングに触れましたが、影を打つことも並んでいないと思います。私はプレエティサムの考え方を違った楽しみました CSSの影を深み以上使用するいくつかの興味深い方法。影には、ぼやけがゼロで、要素の中にある、好きな色である、さらには階層化さえするなど、まったく非影のようなものにするプロパティがあります。のように これらのホーバーはどれほど良いですか

影に影を使うことに何の問題もありません!私は出くわしました boxshadows.xyz 先日、それは、1つの影だけでできるよりも優れた深さ効果を持つ階層化された影を作るための非常に素晴らしいツールです。

私はそのような見た目が大好きです。その正確な例を見るのは激しいですが、背後に大きな影とわずかな照明効果のインザセットを備えたやや微妙なバージョンは、ウェブ上でうまく機能する本当にジューシーな効果です。

あなたは今他に何が暑いのか知っていますか?背景としてぼやけた色付きのブロブ。相変わらず、それらを画像として作成し、 background-image (Figmaプラグインのようなものを見てきました これ そして これ)。しかし、もちろん、必要に応じて色を塗り、さまざまなサイズを作成し、さらにはアニメーション化できるため、プログラム的に行うのは楽しいです。

アンドリュー・ウォルポールはそれにひびを入れました CSSで輝くぼやけた背景filter プロパティは重い持ち上げがぼやけた状態になりますが、ぼやけて形をつなぐことは非常に賢いです。

(左)の下には(右)に変わります。



フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link