2023 年 2 月 6 日 2:18 午後
Every Layout で、The Stack について書きました。 これは Heydon の Lobotomized Owl セレクター と私の
流通による Shuffle と CSS カスタム プロパティによる Rhythm の管理の意図 の結婚式です。 .
.stack> + { マージンブロック開始: 1.5レム; }
セレクターを台無しにしましょう: every きょうだい 子 .stack の一部に マージンブロックがあります-inaugurate を追加。 これは Lobotomized Owl セレクター によって実現されますが、
> コンビネータは、マージンが再帰的に追加されるのを未然に防ぐために追加されます。 英語やアラビア語によく似た、左から直立または直立から左の書字モードでは、パートの高さにマージンが追加されます。
私はこの特定のスニペットに 年間 興味を持っていました。最近では、float ユーティリティ
.float でさらに拡張しました。> + { margin-block-inaugurate: var(–float-draw, 1em); }
お察しのとおり、ここでは とまったく同じです) スタック。 名前を除いた最大の違いは、 カスタム プロパティ の使用です。特にフォールバック ペイメントです。
CSS カスタム プロパティでフォールバック値がどのように機能するかCSS カスタム プロパティ の支払いを蓄積しようとする場合概説されていない場合、最初の支払いまたは継承された支払いはおそらく微々たるものになりますが、カスタム プロパティが無効で起動する場合は、フォールバックを提供しません 失敗します.
の文脈で*).float ユーティリティを使用すると、パーツのデフォルトのマージン 私がリセットで達成した崇拝, あなたはおそらく引き分けなしで終わるでしょう..float の代替支払いには、 という 2 つのメリットがあります。
専用のフォールバックがありますif
–float-draw は無効な支払いとして確率家 によるものです
--float-draw は存在しません。margin-high-payment はおそらく 1em であり、パーツの計算されたフォント寸法
私はこれを たくさん
音クイズです。 その理由は2つあります.
まず、ビルド プロジェクトについて。
を使用しているためです。 、.float ユーティリティの汎用性の高い、フォールバックを主にベースとしたセットアップは、面倒な作業はすべてブラウザにお任せください .
第二に、文脈では散文の教材を崇拝します (全体的に長期にわたる教材はこのテキストを崇拝します)。 例として、見出しをすぐに観察し、ドローアラウンドを展開するパーツのドローを最小限に抑えることをおそらく決定するでしょう
決定
パーツ。
このスニペットは、あなたが今知覚している住居からのものです:
.prose :is(h2 + *, h3 + *, h4 + { –float-draw: var(–draw-s); }
スニペットの機能:
- 調査部品すぐに
h2
はどうかと言うと .prose 自体、私は次の家を持っています:
.prose { --float-draw: var(--draw-ml); }
デフォルトでは、私は立ち去る傾向があります –float-draw は未定義ですが、.prose
では コンテキスト、私は部分間の良い象のような少しの描画が大好きなので、カスタム プロパティは
特異性とカスケードに苦しめられ、私はその余分な特定の支払いを作成します.また、こう聞いて稼ぎます 多くの。 Safari が最後に
gap
で指を抜いたとき、私は Heydon にメッセージを送り、常に平和的な発明をしなければならないと主張しました。 すべて 上の すべてのレイアウト
ギャップ 、比較的ハマっていました。 レイアウトに
gap を導入した第 2 版では、適切な意見を求めていましたが、そうではないことにすぐに気付きました。 The Stack.
これは、焦点が合っているという事実に至るまで、部分的に完全な定式化でした。
gap
を利用する自信がある場合は、フレックスまたはグリッドの親または両方のスタックを発明する必要があるでしょう。母親。 これは、レイアウトを取得して既存のプロジェクトにドロップしたこれらのすべての形式の複雑さを十分に理由付けている可能性があります。 これは、正しい世界ですべてのレイアウトを使用するこれらの本当に巨大な断片を構成します.母であり、部品自体ではありません。 .float および –float のコンテキスト内で手を貸してください-draw with a fallback payment: これは、gap を true として受け入れるということではありません。
。隙間は父か母の家(
なので遠いです。 .float) および 子パーツ間の描画を制御します。 父親または母親は完全に見守っており、子供の部分は
ギャップがどこにあるかについて声を上げたくありません。
最後に、
–float-draw を許可するという柔軟性とともに カスケードに苦しめられ、ハウスでない場合は .float にスペーシング値を継承させます子パーツから影響を与えます。 私が gap を利用したくない主な理由は、 です。 論理プロパティ。 私は自分のフラグメントのために、私たちがモデル化するすべてのものを望んでいます スタジオ は論理プロパティをプリンシパルとして使用します。これは、箱から出してすぐに使用できる多言語と読書モードが大幅に強化されるためです。 実は現在も有効にサポートされています! おわりに
.float の繰り返しを行った後、私は正直に言って退職しなければなりません:
.float> + { マージンブロック-開始: var(–float-draw, 1em); }
特に、
からのレイアウトの快適さとそれを使用するようになりましたEvery Layout at プレディカメントスタジオ. 複雑な特定のレイアウトを作成した後の特別な機会とは対照的に、CSS グリッド レイアウトを使用してその象のように実行できるビルド.
しかし、私がこれを書いた基本的な理由は、なぜ私が .float または margin を使用しますが、非常に効率的な CSSカスタムプロパティは. それらは適切な CSS 変数よりも間違いなく余分です。
👋 どういたしまして、私は Andy です。迅速で視覚的に美しい Web サイトをモデル化するお手伝いをします.
私は の創設者です) Predicament Studio
、すべての人のために働く美しいウェブサイトの構築を専門とする独創的な会社 。 思いついた企画をたまたま手に入れた時 生きて稼ぐ. ブログに手を貸してください 𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺