亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
GSSの使用を開始するには、Bowerを介してインストールするか、githubを介してzipファイルとしてダウンロードする必要があります。その後、GSSスタイルシートは、a
は:
キャッソワリー制約アルゴリズムの紹介
github経由でzipファイルとしてバージョン2.0.0をダウンロードすることもできます。
GSS(グリッドスタイルシート)
GSS(グリッドスタイルのシート)とは?
GSSはオープンソースですか?
GSSの將來は何ですか?
キャッソワリーアルゴリズムの計(jì)算制限
ホームページ ウェブフロントエンド CSSチュートリアル GSSの紹介:グリッドスタイルシート

GSSの紹介:グリッドスタイルシート

Feb 23, 2025 am 09:26 AM

Introducing GSS: Grid Style Sheets

GSSの紹介:グリッドスタイルシート

最近、HTMLとCSSの世界でグリッドスタイルのシート(GSS)を聞いたことがあるかもしれません。 GSSはCSSレイアウトを再想像し、ブラウザのレイアウトエンジンを cassowary Constraint Solverを活用するエンジンに置き換えます。その言葉を理解していなかったあなた方は…こんにちは、歓迎!

GSSはより良い未來を約束します。 GSSは、相対的なポジショニングとサイジングを約束します。 GSSは、ある1行のコードで別の要素を別の要素に集中させることを約束します。 GSSは配信します。問題は、どのように?

です この記事では、GSSの簡(jiǎn)単な歴史と、それが提供する機(jī)能の詳細(xì)な概要について説明します。また、制約ベースのレイアウト、Cassowary Constraint AlgorithmのGSSを調(diào)べて、GSSのインストールと使用のプロセスを説明します。

W3Cやブラウザが追いつくのを待たない人たちは、GSSである謎を説明しながら、そこに固執(zhí)して細(xì)心の注意を払うことをお?jiǎng)幛幛筏蓼?。そのメモで、少し歴史から始めましょう。

キーテイクアウト

GSSの使用を開始するには、Bowerを介してインストールするか、githubを介してzipファイルとしてダウンロードする必要があります。その後、GSSスタイルシートは、a

タグにtype = text/gssを追加するか、a
  • >を使用してロードできます。 簡(jiǎn)単な歴史
  • GSSは、Dan Tocchiniが創(chuàng)設(shè)者兼CEOとしてのグリッドの作成です。これは、なぜそれほどグリッドではないスタイルシートがグリッドスタイルのシートと呼ばれるのかと答えています。

    ウェブ開発者とフロントエンドテクノロジーとの間の戦爭(zhēng)は、ウェブにアイデアを提示することが何年も続いています。 CSSは、過去10年間に勝利していることが証明されています。ただし、時(shí)間とともに進(jìn)化していないツールを使用してますます複雑なユーザーインターフェイスを構(gòu)築することは、Web開発者が定期的に行うことが期待されることです。たとえば、要素をCSSで垂直に中心にすることは、特に可変高さの要素を使用して、最も単純なタスクではありませんでした。

    FlexBoxは最新のソリューションの1つですが、そこで小さな変更でさえ、HTMLコンテンツとCSSプレゼンテーションの奧深くに進(jìn)み、変更を加える必要があります。

    GSSがアリーナを取る時(shí)が來ました。 GSSはこれらの問題やその他多くの問題に取り組んでいます - 開発者が10年以上抱えてきた問題。

    本質(zhì)的に、GSSはCSSプリプロセッサであり、cassowary.jsを悪用するJavaScriptランタイムです。まだ知らない人、cassowary.jsは、cocoa autolayoutで使用しているJavaScript Port Appleです。

    GSSとCassowaryの両方が制約プログラミングに基づいているため、CSSのような宣言言語(yǔ)に力を與えるのに理想的です。制約プログラミングは、Web開発者が「What」を宣言し、「方法」を數(shù)學(xué)的ソルバーに任せることに関心があるパラダイムです。

    制約プログラミングは、実裝ではなく意図に焦點(diǎn)を當(dāng)てています

    背景情報(bào)をいくつか確立したので、GSSオファーの機(jī)能に進(jìn)みましょう。 GSSの概要

    CSSの最大の問題の1つは相対性です。 CSS要素には、パディング、高さ、幅、フロート、マージン、境界線、アウトラインなどのプロパティの終わりのないリストがあると期待できますが、この情報(bào)は、ページ上の他の要素に関連して要素がどこにあるかを教えてくれません(またはページ全體)。また、エンドレスリストは、異なる畫面サイズで要素が表示される場(chǎng)所にも答えません。

    これは、GSSの最初の機(jī)能に私たちをもたらします。レイアウトが何であるかを定義します。無數(shù)の時(shí)間を費(fèi)やし、レイアウトの構(gòu)築方法を戦略化する時(shí)代は終わりました。

    GSSがcassowary.jsを利用していることをすでに説明しているため、GSSのもう1つの優(yōu)れた機(jī)能を次に示します。要素は、1つのコードを持つ他の任意の任意の中心にできます。これにより、多くの回避策が不要になり、過去のものがあります。 たとえば、

    たとえば、サイトのページの右側(cè)にある見出しと垂直にサブスクライブボタンを追加する場(chǎng)合は、次のコードを使用します。

    別の機(jī)能:GSSは、フロート、テーブルセル、クリアフィックス、および水平/垂直センタリングを廃止します。フロート自體がアプリケーションレイアウトに理想的ではないと言っているため、フロートである危険な落とし穴に別れを告げます。

    「ウェブサイトが簡(jiǎn)単なドキュメントから複雑でインタラクティブなアプリケーション、ドキュメントレイアウト用のツールに進(jìn)化したため。フロートは、アプリケーションレイアウトに必ずしも適していませんでした?!?

    - W3Cグリッドレイアウトモジュール(作業(yè)ドラフト)
    .subscribe-button[right] == <span>::window[width];
    </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>

    重要なCSS機(jī)能はどうですか?重要ですか? GSSの4番目の機(jī)能は同様のことを行います。GSSは制約階層を使用して、制約を強(qiáng)度で優(yōu)先順位付けします。ここでは、4つの組み込み強(qiáng)度レベルについて話しています:


    !弱い

    !medium

    !strong
    • !
    • を要求します
    • requireは、制約が保持されることを保証する
    • 特別
    • 強(qiáng)度であり、それがそうでない場(chǎng)合、すべてが壊れることに注意してください。慎重かつ頻繁に使用することをお?jiǎng)幛幛筏蓼?
    • 強(qiáng)度のレベルがリストの下に上昇し、実行中により強(qiáng)い制約がより高い優(yōu)先度を與えられます。例を見てみましょう:

    ここまで行ったことがあります。制約ベースのレイアウトを今すぐ見てみましょう。 制約ベースのレイアウトのGSS

    制約は、基本的に、保持される可能性のある2つ以上の変數(shù)間の関係です。要素のすべての數(shù)値特性は、制約される資格があります。例を次に示します:

    .subscribe-button[right] == <span>::window[width];
    </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
    • pはセレクター
    • と呼ばれます
    • line-heightは、GSSが
    • の値を計(jì)算するプロパティです。
    • []は、プロパティへのアクセスに使用されます
    • =不平等制約を定義します
    • 10および20は、ピクセル
    • の數(shù)値値です

    上記の例では、両方の制約が有効になります。以下は、保持されない制約の例です。

    #light[years] == <span>50 !weak;
    </span>#light[years] == <span>20 !medium;
    </span>#light[years] == <span>35 !strong;
    </span>
    <span>/* #light[years] will hold the value 35 */</span>

    最初に、Elements ElementaとElementBの両方が150pxの高さを持つように制約されています。 3行目では、2つの要素の合計(jì)は225pxです。したがって、2つの要素の制約の1つは保持されません。 GSS

    のセレクター GSSのセレクターは、HTML要素のグループに対するクエリであり、最終的に制約の影響を受ける要素を決定するために使用されます。セレクターは、制約を適用する前にDOMから要素を選択して観察する必要があるため、重要です。

    次の基本的なセレクターは、GSSによってサポートされています

    GSSのルールセット

    ルールセットでは、単一のセレクターを介して複數(shù)の制約を定義できます。それらをネストして、それらにCSSプロパティを使用することもできます。

    このネストされたルールセット:

    p[line-height] >= <span>10;
    </span>p[line-height] <= <span>::window[height] / 20;</span>

    は:

    と同じです

    GSS

    のプロパティ

    上記の例ではすでにプロパティをカバーしていますが、もう少し詳しく見てみましょう。 GSSでは、プロパティは要素に屬する変數(shù)です。 CSSで知られているプロパティを使用する場(chǎng)合、対応するGSS計(jì)算値は、要素のインラインスタイルとして割り當(dāng)てられます。

    このようなもの:
    #elementa[height] == <span>150;
    </span>#elementb[height] == <span>150;
    </span>#elementa[height] <span>+ #elementb[height] == 225;</span>

    は次のとおりです
    #elementID[height] == <span>150;   /* id      */
    </span>div[height] == <span>150;         /* element */
    </span>.className[height] == <span>150; /* class   */</span>

    キャッソワリー制約アルゴリズムの紹介

    GSSは、1999年にバドロス、ボーニング、スタッキーによるキャッサワリー線形算術(shù)制約解くアルゴリズムのJavaScriptポート(cassowary.js)を採(cǎi)用しています。

    ユーザーは、入力の制約が互いに矛盾しないことを確認(rèn)する必要はありません。実際、これはキャッソワリーアルゴリズムの本質(zhì)です。制約を段階的に評(píng)価し、最適なソリューションを自動(dòng)的に発見します。

    キャッソワリーアルゴリズムの計(jì)算制限
    <span>section < article {
    </span>  <span><span>.aclass</span> {
    </span>    <span>height: == 150;
    </span>  <span>}
    </span><span>}</span>

    GSSの背後にある制約ソルバーは、Cassowaryアルゴリズムと呼ばれます。このアルゴリズムは、線形の制約のみを計(jì)算できます(つまり、y = mx cの形式)?;狙菟阕樱?、 - 、 *、 /)はアルゴリズムによってサポートされています。 2つ(またはそれ以上)制約された変數(shù)の乗算と分割は線形ではないため、エラーが発生します。

    <span>(section < article .aclass)[height] == 150;</span>
    gss

    のインストール クライアント側(cè)のインストールの場(chǎng)合、Bower:

    を介してインストールします

    次に、このコードをマークアップのセクションに追加します:

    github経由でzipファイルとしてバージョン2.0.0をダウンロードすることもできます。

    gssをインストールしたら、タグにtype = text/gssを追加して.gss styleSheetsをロードしてください:

    .subscribe-button[right] == <span>::window[width];
    </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>

    または

    #light[years] == <span>50 !weak;
    </span>#light[years] == <span>20 !medium;
    </span>#light[years] == <span>35 !strong;
    </span>
    <span>/* #light[years] will hold the value 35 */</span>

    すべてが稼働していると、いくつかのコードの例とともにフォローを開始できます。以下に、初心者のチュートリアルについて説明します

    a GSS初心者のチュートリアル

    作成する例はCodepenを介して表示されますが、標(biāo)準(zhǔn)のHTMLドキュメントなどのチュートリアルを使用します。最初に、次のコード行をHTMLに追加して、GSSエンジンスクリプトを追加します。

    ファイルのCodepen-Hostedバージョンを使用しますが、ここでCDNホストバージョンを見つけることができます。次に、GSSリファレンススクリプト(上記に追加した行)の下に次のコードを追加して、GSSをドキュメントオブジェクトに渡します。
    p[line-height] >= <span>10;
    </span>p[line-height] <= <span>::window[height] / 20;</span>

    必要に応じて、これはエンジンスクリプトの後に含まれる別のJavaScriptファイルに配置できます。

    例1:要素を垂直に中心に
    #elementa[height] == <span>150;
    </span>#elementb[height] == <span>150;
    </span>#elementa[height] <span>+ #elementb[height] == 225;</span>

    divを作成し、GSSレイアウトのH2タグにいくつかのテキストを囲み、HTMLに追加します:

    基本的なスタイリングを追加した後、レイアウトを作成するためにいくつかのGSSを追加することができます。これが楽しみが始まるところです。

    私の目標(biāo)は、そのサイズにもかかわらず、ビューポート內(nèi)の.foo要素を垂直に中央に集中させ、要素のサイズが変更されても同じアライメントを所定の位置に保つことができることです。
    #elementID[height] == <span>150;   /* id      */
    </span>div[height] == <span>150;         /* element */
    </span>.className[height] == <span>150; /* class   */</span>
    この目標(biāo)を達(dá)成するために適用する制約は次のとおりです。

    ::ウィンドウセレクターを使用して、要素をブラウザ內(nèi)のページの可視部分と中央に集中させます。

    使用:: [Intrinsic-Height]屬性は、相対幅を決定するために使用される要素の高さの相対値を取得します。

    最初に、type屬性をテキスト/gssに設(shè)定して、

      追加するGSSを定義するには、
    • a
    • そしてそれが必要なすべてです。この要素は、GSSを垂直に使用して(動(dòng)的高さで)中心になっています。以下はデモです:
    CodepenのSitePoint(@SitePoint)のGSSを使用したペンの垂直センタリングを參照してください。

    フル畫面のデモを試して、ブラウザを垂直にサイズ変更して、任意のウィンドウサイズの中心にある要素を確認(rèn)してみてください。

    例2:動(dòng)的に変更されたウィンドウ幅に基づく要素の回転
    <span>section < article {
    </span>  <span><span>.aclass</span> {
    </span>    <span>height: == 150;
    </span>  <span>}
    </span><span>}</span>
    この次の例では、シンプルな色の正方形の形狀を作成し、動(dòng)的に回転させます。まず、ドキュメントのセクションに次のコード行を追加してGSSを起動(dòng)しましょう。
    .subscribe-button[right] == <span>::window[width];
    </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>

    上記のコードを編集して、ファイルの正しい場(chǎng)所を指す必要があることに注意してください。 worker.jsファイルはこちらで、gss.jsファイルをこちらを入手できます。

    注:いくつかのバグのため、上記のファイルパスは、これを機(jī)能させるためにGSSの2.0.0以前のバージョンを指します。 ここで、これをHTMLに追加して正方形の形狀を作成しましょう:

    …そして、CSSにいくつかのスタイリングを追加します:
    #light[years] == <span>50 !weak;
    </span>#light[years] == <span>20 !medium;
    </span>#light[years] == <span>35 !strong;
    </span>
    <span>/* #light[years] will hold the value 35 */</span>

    ここで、HTMLに戻り、GSS制約をいくつか追加します。
    p[line-height] >= <span>10;
    </span>p[line-height] <= <span>::window[height] / 20;</span>
    GSSを使用すると、意図を作成し、數(shù)學(xué)的計(jì)算をアルゴリズムに任せたままにしておくことに留意してください。この例では、ウィンドウの幅が動(dòng)的に変化するときに要素と要素で回転が生成される要素とウィンドウの間に制約を作成しようとしています。

    この目標(biāo)を達(dá)成するために適用する制約は次のとおりです。

    :: window [center] selectorを使用して、要素を中心にブラウザ內(nèi)のページの可視部分を中心にします。

    >

    使用:: window [width]回転zで制約を作成し、z軸の周りの要素に回転効果を作成します。ここで、:: window [width]から受け取った値は、回転の程度を表します。

      最初の例のように、テキスト/gssにセットされたタイプセットを使用して、HTMLにスタイルブロックを追加します。追加するGSSを定義するためにスタイルブロックが必要であることを忘れないでください。
    • スタイルタグ內(nèi)に次のコードを追加することにより、GSS制約を使用してスクエアボックスを畫面に関連付けます。
    • そしてそれで、それは完了です。最終的なCodepenデモをご覧ください:

    codepenでSitePoint(@sitepoint)によるGSSを使用したペン動(dòng)的回転を參照してください。

    フル畫面のデモを表示する場(chǎng)合は、ウィンドウを変更してみてください。ウィンドウの幅が変更されたときに、四角いボックスが回転位置を変更することに気付くでしょう。
    #elementa[height] == <span>150;
    </span>#elementb[height] == <span>150;
    </span>#elementa[height] <span>+ #elementb[height] == 225;</span>
    GSSの未來

    GSSの未來は有望に見えます。フロントエンドテクノロジーで前進(jìn)する時(shí)が來ました。 StyleSheetライブラリ全體を引き裂く前に、小規(guī)模なプロトタイプで練習(xí)することをお?jiǎng)幛幛筏蓼埂?
    #elementID[height] == <span>150;   /* id      */
    </span>div[height] == <span>150;         /* element */
    </span>.className[height] == <span>150; /* class   */</span>
    ここで取り上げたのは、GSSでできることのほんの一部ですが、このチュートリアルがあなたを始めるために役立つ有益であることを願(yuàn)っています。

    まだGSSを使用しましたか?あなたの経験はどうでしたか?コメントセクションでお知らせください。

    GSS(グリッドスタイルシート)

    に関するよくある質(zhì)問

    GSS(グリッドスタイルのシート)とは?

    GSS、またはグリッドスタイルシートは、Web開発者とデザイナーにとって強(qiáng)力なツールです。これは、シンプルで直感的な構(gòu)文を使用してレスポンシブで柔軟なレイアウトを作成できる制約ベースのレイアウトエンジンです。 GSSは、制約の概念を?qū)毪工毪长趣摔瑜陱緛恧蜟SSモデルを拡張します。これにより、要素間の関係をより正確かつ柔軟な方法で制御できるようになります。

    従來のCSSは、レイアウトにボックスモデルを使用します。これは、複雑なレイアウトを作成するときに制限されて複雑になる可能性があります。一方、GSSは制約ベースのモデルを使用します。これにより、柔軟性と精度が向上します。 GSSを使用すると、要素間の関係を定義し、より直感的な方法で動(dòng)作を制御できます。あなたのプロジェクトで。これは、公式WebサイトからGSSライブラリをダウンロードするか、NPMのようなパッケージマネージャーを使用することで実行できます。 GSSエンジンがプロジェクトに含まれると、CSSファイルにGSSコードの書き込みを開始できます。

    既存のCSSコードでGSSを使用できますか?従來のCSSと並んで。これは、既存のCSSコードを書き換えることなく、プロジェクトにGSSを徐々に導(dǎo)入できることを意味します。 GSSコードは、個(gè)別のファイルで記述したり、通常のCSSコードと混合したりすることができます。

    GSSを使用することの利點(diǎn)は何ですか?レイアウトをより正確に制御できるようになり、複雑で応答性の高いデザインを簡(jiǎn)単に作成できます。また、GSSはコードを簡(jiǎn)素化するため、読みやすくなりやすくなります。さらに、GSSはライブ編集をサポートしています。つまり、コーディングとしてリアルタイムで変更を確認(rèn)できます。

    GSSはすべてのブラウザーによってサポートされていますか?エンジンは、JavaScriptをサポートする最新のブラウザで機(jī)能する必要があります。ただし、新しいテクノロジーと同様に、複數(shù)のブラウザでデザインをテストして互換性を確保することをお?jiǎng)幛幛筏蓼埂?GSSを?qū)W習(xí)するために利用可能なリソース。公式のGSS Webサイトは、包括的なガイドとドキュメントを提供しています。 GSSを詳細(xì)にカバーするいくつかのオンラインチュートリアルとコースもあります。その制約ベースのレイアウトエンジンは、さまざまな畫面サイズと向きに適応するレスポンシブデザインを可能にします。これにより、さまざまなデバイスで一貫したユーザーエクスペリエンスを簡(jiǎn)単に作成できます。

    GSSはオープンソースですか?

    はい、GSSはオープンソースプロジェクトです。これは、誰(shuí)でも開発に貢獻(xiàn)し、プロジェクトで無料で使用できることを意味します。 GSSのソースコードはGithubで入手できます。

    GSSの將來は何ですか?

    比較的新しいテクノロジーとして、GSSはまだ進(jìn)化しています。ただし、その強(qiáng)力な機(jī)能と制約ベースのレイアウトへの関心の高まりは、有望な未來があることを示唆しています。より多くの開発者がGSSを採(cǎi)用するにつれて、この革新的なテクノロジーに対するリソース、ツール、コミュニティのサポートが増えることが期待できます。

      グリッドスタイルシート(GSS)は、ブラウザのレイアウトエンジンをキャッソワリー制約ソルバーに置き換えるCSSプリプロセッサとJavaScriptランタイムであり、相対的なポジショニングとサイジングを約束し、1つのコードを別のラインで中央に配置する能力を約束します。 >
    • GSSは、実裝ではなく意図に焦點(diǎn)を當(dāng)てた制約プログラミングを採(cǎi)用しているため、開発者は「何」を宣言し、「方法」を數(shù)學(xué)的なソルバーに任せることができます。
    • GSSは、フロート、テーブルセル、クリアフィックス、および水平/垂直センタリングを廃止し、制約階層を使用して強(qiáng)度を持つ制約を優(yōu)先し、4つの組み込み強(qiáng)度レベルを提供します。
    • GSSは、キャッソワリー線形算術(shù)制約解くアルゴリズムを使用して、ユーザーによって自然言語(yǔ)で與えられた入力制約に基づいてレイアウトに最適なソリューションを見つけ、制約を徐々に評(píng)価し、最適なソリューションを自動(dòng)的に発見します。
    • GSSの使用を開始するには、Bowerを介してインストールするか、githubを介してzipファイルとしてダウンロードする必要があります。その後、GSSスタイルシートは、a
    • タグにtype = text/gssを追加するか、a
    • >を使用してロードできます。
    • 簡(jiǎn)単な歴史
    • GSSは、Dan Tocchiniが創(chuàng)設(shè)者兼CEOとしてのグリッドの作成です。これは、なぜそれほどグリッドではないスタイルシートがグリッドスタイルのシートと呼ばれるのかと答えています。
    ウェブ開発者とフロントエンドテクノロジーとの間の戦爭(zhēng)は、ウェブにアイデアを提示することが何年も続いています。 CSSは、過去10年間に勝利していることが証明されています。ただし、時(shí)間とともに進(jìn)化していないツールを使用してますます複雑なユーザーインターフェイスを構(gòu)築することは、Web開発者が定期的に行うことが期待されることです。たとえば、要素をCSSで垂直に中心にすることは、特に可変高さの要素を使用して、最も単純なタスクではありませんでした。

    FlexBoxは最新のソリューションの1つですが、そこで小さな変更でさえ、HTMLコンテンツとCSSプレゼンテーションの奧深くに進(jìn)み、変更を加える必要があります。

    GSSがアリーナを取る時(shí)が來ました。 GSSはこれらの問題やその他多くの問題に取り組んでいます - 開発者が10年以上抱えてきた問題。

    本質(zhì)的に、GSSはCSSプリプロセッサであり、cassowary.jsを悪用するJavaScriptランタイムです。まだ知らない人、cassowary.jsは、cocoa autolayoutで使用しているJavaScript Port Appleです。

    GSSとCassowaryの両方が制約プログラミングに基づいているため、CSSのような宣言言語(yǔ)に力を與えるのに理想的です。制約プログラミングは、Web開発者が「What」を宣言し、「方法」を數(shù)學(xué)的ソルバーに任せることに関心があるパラダイムです。

    制約プログラミングは、実裝ではなく意図に焦點(diǎn)を當(dāng)てています

    背景情報(bào)をいくつか確立したので、GSSオファーの機(jī)能に進(jìn)みましょう。 GSSの概要

    CSSの最大の問題の1つは相対性です。 CSS要素には、パディング、高さ、幅、フロート、マージン、境界線、アウトラインなどのプロパティの終わりのないリストがあると期待できますが、この情報(bào)は、ページ上の他の要素に関連して要素がどこにあるかを教えてくれません(またはページ全體)。また、エンドレスリストは、異なる畫面サイズで要素が表示される場(chǎng)所にも答えません。

    これは、GSSの最初の機(jī)能に私たちをもたらします。レイアウトが何であるかを定義します。無數(shù)の時(shí)間を費(fèi)やし、レイアウトの構(gòu)築方法を戦略化する時(shí)代は終わりました。

    GSSがcassowary.jsを利用していることをすでに説明しているため、GSSのもう1つの優(yōu)れた機(jī)能を次に示します。要素は、1つのコードを持つ他の任意の任意の中心にできます。これにより、多くの回避策が不要になり、過去のものがあります。 たとえば、

    たとえば、サイトのページの右側(cè)にある見出しと垂直にサブスクライブボタンを追加する場(chǎng)合は、次のコードを使用します。

    別の機(jī)能:GSSは、フロート、テーブルセル、クリアフィックス、および水平/垂直センタリングを廃止します。フロート自體がアプリケーションレイアウトに理想的ではないと言っているため、フロートである危険な落とし穴に別れを告げます。

    「ウェブサイトが簡(jiǎn)単なドキュメントから複雑でインタラクティブなアプリケーション、ドキュメントレイアウト用のツールに進(jìn)化したため。フロートは、アプリケーションレイアウトに必ずしも適していませんでした?!?

    - W3Cグリッドレイアウトモジュール(作業(yè)ドラフト)

    .subscribe-button[right] == <span>::window[width];
    </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>

    重要なCSS機(jī)能はどうですか?重要ですか? GSSの4番目の機(jī)能は同様のことを行います。GSSは制約階層を使用して、制約を強(qiáng)度で優(yōu)先順位付けします。ここでは、4つの組み込み強(qiáng)度レベルについて話しています:

    !弱い

    !medium

    !strong

      !
    • を要求します
    • requireは、制約が保持されることを保証する
    • 特別
    • 強(qiáng)度であり、それがそうでない場(chǎng)合、すべてが壊れることに注意してください。慎重かつ頻繁に使用することをお?jiǎng)幛幛筏蓼?p>強(qiáng)度のレベルがリストの下に上昇し、実行中により強(qiáng)い制約がより高い優(yōu)先度を與えられます。例を見てみましょう:

      .subscribe-button[right] == <span>::window[width];
      </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>

      ここまで行ったことがあります。制約ベースのレイアウトを今すぐ見てみましょう。

      制約ベースのレイアウトのGSS

      制約は、基本的に、保持される可能性のある2つ以上の変數(shù)間の関係です。要素のすべての數(shù)値特性は、制約される資格があります。例を次に示します:

      #light[years] == <span>50 !weak;
      </span>#light[years] == <span>20 !medium;
      </span>#light[years] == <span>35 !strong;
      </span>
      <span>/* #light[years] will hold the value 35 */</span>
        pはセレクター
      • と呼ばれます
      • line-heightは、GSSが
      • の値を計(jì)算するプロパティです。
      • []は、プロパティへのアクセスに使用されます
      • =不平等制約を定義します
      • 10および20は、ピクセル
      • の數(shù)値値です
      上記の例では、両方の制約が有効になります。以下は、保持されない制約の例です。

      p[line-height] >= <span>10;
      </span>p[line-height] <= <span>::window[height] / 20;</span>
      最初に、Elements ElementaとElementBの両方が150pxの高さを持つように制約されています。 3行目では、2つの要素の合計(jì)は225pxです。したがって、2つの要素の制約の1つは保持されません。 GSS

      のセレクター GSSのセレクターは、HTML要素のグループに対するクエリであり、最終的に制約の影響を受ける要素を決定するために使用されます。セレクターは、制約を適用する前にDOMから要素を選択して観察する必要があるため、重要です。

      次の基本的なセレクターは、GSSによってサポートされています

      GSSのルールセット

      ルールセットでは、単一のセレクターを介して複數(shù)の制約を定義できます。それらをネストして、それらにCSSプロパティを使用することもできます。

      このネストされたルールセット:

      #elementa[height] == <span>150;
      </span>#elementb[height] == <span>150;
      </span>#elementa[height] <span>+ #elementb[height] == 225;</span>
      は:

      と同じです

      GSS

      のプロパティ

      上記の例ではすでにプロパティをカバーしていますが、もう少し詳しく見てみましょう。 GSSでは、プロパティは要素に屬する変數(shù)です。 CSSで知られているプロパティを使用する場(chǎng)合、対応するGSS計(jì)算値は、要素のインラインスタイルとして割り當(dāng)てられます。

      このようなもの:

      #elementID[height] == <span>150;   /* id      */
      </span>div[height] == <span>150;         /* element */
      </span>.className[height] == <span>150; /* class   */</span>

      は次のとおりです

      <span>section < article {
      </span>  <span><span>.aclass</span> {
      </span>    <span>height: == 150;
      </span>  <span>}
      </span><span>}</span>
      キャッソワリー制約アルゴリズムの紹介

      GSSは、1999年にバドロス、ボーニング、スタッキーによるキャッサワリー線形算術(shù)制約解くアルゴリズムのJavaScriptポート(cassowary.js)を採(cǎi)用しています。

      ユーザーは、入力の制約が互いに矛盾しないことを確認(rèn)する必要はありません。実際、これはキャッソワリーアルゴリズムの本質(zhì)です。制約を段階的に評(píng)価し、最適なソリューションを自動(dòng)的に発見します。

      キャッソワリーアルゴリズムの計(jì)算制限

      GSSの背後にある制約ソルバーは、Cassowaryアルゴリズムと呼ばれます。このアルゴリズムは、線形の制約のみを計(jì)算できます(つまり、y = mx cの形式)?;狙菟阕樱?、 - 、 *、 /)はアルゴリズムによってサポートされています。 2つ(またはそれ以上)制約された変數(shù)の乗算と分割は線形ではないため、エラーが発生します。

      .subscribe-button[right] == <span>::window[width];
      </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
      gss

      のインストール クライアント側(cè)のインストールの場(chǎng)合、Bower:

      を介してインストールします

      次に、このコードをマークアップのセクションに追加します:
      #light[years] == <span>50 !weak;
      </span>#light[years] == <span>20 !medium;
      </span>#light[years] == <span>35 !strong;
      </span>
      <span>/* #light[years] will hold the value 35 */</span>

      github経由でzipファイルとしてバージョン2.0.0をダウンロードすることもできます。
      p[line-height] >= <span>10;
      </span>p[line-height] <= <span>::window[height] / 20;</span>
      gssをインストールしたら、タグにtype = text/gssを追加して.gss styleSheetsをロードしてください:

      または

      #elementa[height] == <span>150;
      </span>#elementb[height] == <span>150;
      </span>#elementa[height] <span>+ #elementb[height] == 225;</span>

      すべてが稼働していると、いくつかのコードの例とともにフォローを開始できます。以下に、初心者のチュートリアルについて説明します

      a GSS初心者のチュートリアル
      #elementID[height] == <span>150;   /* id      */
      </span>div[height] == <span>150;         /* element */
      </span>.className[height] == <span>150; /* class   */</span>

      作成する例はCodepenを介して表示されますが、標(biāo)準(zhǔn)のHTMLドキュメントなどのチュートリアルを使用します。最初に、次のコード行をHTMLに追加して、GSSエンジンスクリプトを追加します。

      ファイルのCodepen-Hostedバージョンを使用しますが、ここでCDNホストバージョンを見つけることができます。次に、GSSリファレンススクリプト(上記に追加した行)の下に次のコードを追加して、GSSをドキュメントオブジェクトに渡します。

      必要に応じて、これはエンジンスクリプトの後に含まれる別のJavaScriptファイルに配置できます。

      例1:要素を垂直に中心に
      <span>section < article {
      </span>  <span><span>.aclass</span> {
      </span>    <span>height: == 150;
      </span>  <span>}
      </span><span>}</span>

      divを作成し、GSSレイアウトのH2タグにいくつかのテキストを囲み、HTMLに追加します:

      <span>(section < article .aclass)[height] == 150;</span>

      基本的なスタイリングを追加した後、レイアウトを作成するためにいくつかのGSSを追加することができます。これが楽しみが始まるところです。

      私の目標(biāo)は、そのサイズにもかかわらず、ビューポート內(nèi)の.foo要素を垂直に中央に集中させ、要素のサイズが変更されても同じアライメントを所定の位置に保つことができることです。

      この目標(biāo)を達(dá)成するために適用する制約は次のとおりです。

      ::ウィンドウセレクターを使用して、要素をブラウザ內(nèi)のページの可視部分と中央に集中させます。
      <span><span>.container</span> {
      </span>  <span>height: == #elm[height];
      </span><span>}</span>
      使用:: [Intrinsic-Height]屬性は、相対幅を決定するために使用される要素の高さの相対値を取得します。

      最初に、type屬性をテキスト/gssに設(shè)定して、
    • codepenでSitePoint(@sitepoint)によるGSSを使用したペン動(dòng)的回転を參照してください。
    • フル畫面のデモを表示する場(chǎng)合は、ウィンドウを変更してみてください。ウィンドウの幅が変更されたときに、四角いボックスが回転位置を変更することに気付くでしょう。
    • GSSの未來

    GSSの未來は有望に見えます。フロントエンドテクノロジーで前進(jìn)する時(shí)が來ました。 StyleSheetライブラリ全體を引き裂く前に、小規(guī)模なプロトタイプで練習(xí)することをお?jiǎng)幛幛筏蓼埂?/p>

    ここで取り上げたのは、GSSでできることのほんの一部ですが、このチュートリアルがあなたを始めるために役立つ有益であることを願(yuàn)っています。

    まだGSSを使用しましたか?あなたの経験はどうでしたか?コメントセクションでお知らせください。

    GSS(グリッドスタイルシート)

    に関するよくある質(zhì)問 GSS(グリッドスタイルシート)とは何ですか?

    GSS、またはグリッドスタイルのシートは、Web開発者とデザイナーにとって強(qiáng)力なツールです。これは、シンプルで直感的な構(gòu)文を使用してレスポンシブで柔軟なレイアウトを作成できる制約ベースのレイアウトエンジンです。 GSSは、制約の概念を?qū)毪工毪长趣摔瑜陱緛恧蜟SSモデルを拡張します。これにより、要素間の関係をより正確で柔軟な方法で制御できるようになります。

    従來のCSSは、レイアウトにボックスモデルを使用します。これは、複雑なレイアウトを作成するときに制限されて複雑になる可能性があります。一方、GSSは制約ベースのモデルを使用します。これにより、柔軟性と精度が向上します。 GSSを使用すると、要素間の関係を定義し、より直感的な方法で動(dòng)作を制御できます。 GSSの使用を開始するにはどうすればよいですか?

    GSSの使用を開始するには、プロジェクトにGSSエンジンを含める必要があります。これは、公式WebサイトからGSSライブラリをダウンロードするか、NPMのようなパッケージマネージャーを使用することで実行できます。 GSSエンジンがプロジェクトに含まれたら、CSSファイルにGSSコードの書き込みを開始できます。

    既存のCSSコードでGSSを使用できますか?

    はい、GSSは従來のCSSと一緒に作業(yè)するように設(shè)計(jì)されています。これは、既存のCSSコードを書き換えることなく、プロジェクトにGSSを徐々に導(dǎo)入できることを意味します。 GSSコードは、個(gè)別のファイルで記述するか、通常のCSSコードと混合できます。

    GSSは、従來のCSSよりもいくつかの利點(diǎn)を提供します。レイアウトをより正確に制御できるようになり、複雑で応答性の高いデザインを簡(jiǎn)単に作成できます。また、GSSはコードを簡(jiǎn)素化するため、読みやすくなりやすくなります。さらに、GSSはライブ編集をサポートしています。つまり、コードするときにリアルタイムで変更を確認(rèn)できます。 GSSはJavaScriptを使用して制約ベースのレイアウトエンジンを?qū)g裝しています。つまり、JavaScriptをサポートする最新のブラウザで動(dòng)作するはずです。ただし、新しいテクノロジーと同様に、複數(shù)のブラウザでデザインをテストして互換性を確保することをお?jiǎng)幛幛筏蓼埂?

    はい、GSSを?qū)W習(xí)するために利用可能ないくつかのリソースがあります。公式のGSS Webサイトは、包括的なガイドとドキュメントを提供しています。 GSSを詳細(xì)にカバーするいくつかのオンラインチュートリアルとコースもあります。

    はい、GSSはモバイルWeb開発のための優(yōu)れたツールです。その制約ベースのレイアウトエンジンは、さまざまな畫面サイズと向きに適応するレスポンシブデザインを可能にします。これにより、さまざまなデバイスで一貫したユーザーエクスペリエンスを作成しやすくなります。 はい、GSSはオープンソースプロジェクトです。これは、誰(shuí)でも開発に貢獻(xiàn)し、プロジェクトで無料で使用できることを意味します。 GSSのソースコードはGitHubで入手できます。

    比較的新しいテクノロジーとして、GSSはまだ進(jìn)化しています。ただし、その強(qiáng)力な機(jī)能と制約ベースのレイアウトへの関心の高まりは、有望な未來があることを示唆しています。より多くの開発者がGSSを採(cǎi)用するにつれて、この革新的なテクノロジーに対するリソース、ツール、コミュニティのサポートが増えることが期待できます。

    以上がGSSの紹介:グリッドスタイルシートの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

    このウェブサイトの聲明
    この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

    ホットAIツール

    Undress AI Tool

    Undress AI Tool

    脫衣畫像を無料で

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード寫真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    寫真から衣服を削除するオンライン AI ツール。

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中國(guó)語(yǔ)版

    SublimeText3 中國(guó)語(yǔ)版

    中國(guó)語(yǔ)版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    ロードスピナーとアニメーションを作成するためのCSSチュートリアル ロードスピナーとアニメーションを作成するためのCSSチュートリアル Jul 07, 2025 am 12:07 AM

    CSSロード回転子を作成するには3つの方法があります。1。境界の基本回転子を使用して、HTMLとCSSを介してシンプルなアニメーションを?qū)g現(xiàn)します。 2。複數(shù)のポイントのカスタム回転子を使用して、異なる遅延時(shí)間を経てジャンプ効果を?qū)g現(xiàn)します。 3.ボタンに回転子を追加し、JavaScriptを介してクラスを切り替えて、読み込みステータスを表示します。各アプローチは、ユーザーエクスペリエンスを向上させるために、色、サイズ、アクセシビリティ、パフォーマンスの最適化などのデザインの詳細(xì)の重要性を強(qiáng)調(diào)しています。

    CSSブラウザの互換性の問題とプレフィックスに対処します CSSブラウザの互換性の問題とプレフィックスに対処します Jul 07, 2025 am 01:44 AM

    CSSブラウザの互換性とプレフィックスの問題に対処するには、ブラウザサポートの違いを理解し、ベンダーのプレフィックスを合理的に使用する必要があります。 1. FlexBoxやグリッドのサポート、位置:粘著性の無効、アニメーションのパフォーマンスなどの一般的な問題を理解することは異なります。 2. CANIUSE確認(rèn)機(jī)能サポートステータスを確認(rèn)します。 3. -webkit-、-moz-、-ms-、-o-およびその他のメーカーのプレフィックスを正しく使用します。 4.自動(dòng)的にプレフィックスを追加するためにAutoprefixerを使用することをお?jiǎng)幛幛筏蓼埂?5. PostCSSをインストールし、ターゲットブラウザを指定するようにBrowserSlistを構(gòu)成します。 6.建設(shè)中の互換性を自動(dòng)的に処理します。 7. Modernizr検出機(jī)能は、古いプロジェクトに使用できます。 8.すべてのブラウザの一貫性を追求する必要はありません、

    スタイリングは、CSSとは異なるリンクを訪問しました スタイリングは、CSSとは異なるリンクを訪問しました Jul 11, 2025 am 03:26 AM

    アクセスしたリンクのスタイルを設(shè)定すると、特にコンテンツ集約型のWebサイトでユーザーエクスペリエンスを向上させることができ、ユーザーがより良いナビゲートを支援します。 1。CSSを使用してください:訪問した擬似クラスは、色の変化などの訪問されたリンクのスタイルを定義します。 2。ブラウザは、プライバシーの制限により、いくつかの屬性の変更のみを許可することに注意してください。 3.突然の狀態(tài)を避けるために、色の選択は全體的なスタイルと調(diào)整する必要があります。 4.モバイル端子はこの効果を表示しない場(chǎng)合があり、アイコン補(bǔ)助ロゴなどの他の視覚的なプロンプトと組み合わせることをお?jiǎng)幛幛筏蓼埂?/p>

    CSSクリップパスでカスタムシェイプを作成します CSSクリップパスでカスタムシェイプを作成します Jul 09, 2025 am 01:29 AM

    CSSのクリップパス屬性を作物要素に使用して、寫真やSVGに依存することなく、三角形、円形ノッチ、ポリゴンなどのカスタム形狀になります。その利點(diǎn)には、次のものが含まれます。1。円、楕円、ポリゴンなどのさまざまな基本的な形狀をサポートします。 2。レスポンシブ調(diào)整とモバイル端子に適応可能。 3.アニメーションが簡(jiǎn)単で、HoverまたはJavaScriptと組み合わせて動(dòng)的効果を?qū)g現(xiàn)できます。 4.レイアウトフローには影響せず、ディスプレイエリアのみを収穫します。一般的な使用法は、円形のクリップパス:円(50pxatcenter)および三角クリップパス:ポリゴン(50%0%、100 0%、0 0%)などです。知らせ

    ディスプレイの違いは何ですか:インライン、ディスプレイ:ブロック、ディスプレイ:インラインブロック? ディスプレイの違いは何ですか:インライン、ディスプレイ:ブロック、ディスプレイ:インラインブロック? Jul 11, 2025 am 03:25 AM

    Themaindifferencesbetweendisplay:インライン、ブロック、およびinline-blockinhtml/cssarelayoutbehavior、spaceusage、andstylingcontrol.1.inlineelementsflowwithtext、notstartonnewlines、nagrorewidth/height、height、andonlyhorizo??ntalpadddddddddddddddding

    CSSペイントAPIとは何ですか? CSSペイントAPIとは何ですか? Jul 04, 2025 am 02:16 AM

    thecsspaintingapienablesdynamicimagegeneration incssusingjavascript.1.developerscreateapaintclasswithapaint()method.2.they registeritviaregisterpaint()

    CSSを使用して応答性のある畫像を作成する方法は? CSSを使用して応答性のある畫像を作成する方法は? Jul 15, 2025 am 01:10 AM

    CSSを使用してレスポンシブ畫像を作成するには、主に次の方法で達(dá)成できます。1。最大幅を使用してください:100%と高さ:自動(dòng)化して、割合を維持しながら畫像がコンテナ幅に適応できるようにします。 2。HTMLのSRCSETおよびサイズの屬性を使用して、異なる畫面に適合した畫像ソースをインテリジェントにロードします。 3.オブジェクトフィットとオブジェクトポジションを使用して、畫像のトリミングとフォーカスディスプレイを制御します。一緒に、これらの方法により、畫像がさまざまなデバイスで明確かつ美しく表示されるようになります。

    CSSとは何ですか? CSSとは何ですか? Jul 03, 2025 am 01:48 AM

    CSS、orcascadingStylesheets、iSthepartofwebdevelopment oncontrolsawebpageのvisualapearance、colors、fonts、spacing、andlayout.theterm「cascading」

    See all articles