CSSは、position
属性や対応するinset-*
属性などのテキストを含むページ要素を見つけるさまざまな方法を提供します。 translate
属性は別のオプションです。 margin
anchor()
offset
属性は通常、所定のパスに沿って要素をアニメーション化するために使用されます。たとえば、次の例の正方形は、円形の経路に沿って移動します:
offset
<div> <div></div> </div>
@property --p { syntax: '<percentage>'; inherits: false; initial-value: 0%; } .square { offset: top 50% right 50% circle(50%) var(--p); transition: --p 1s linear; /* 等同于: offset-position: top 50% right 50%; offset-path: circle(50%); offset-distance: var(--p); */ /* 其他样式 */ } .circle:hover .square{ --p: 100%; }</percentage>
が次の属性で構成される略語属性であることを知らないかもしれません。
--p
offset-distance
offset
:パスの開始点offset
offset-position
offset-path
offset-distance
offset-rotate
に合わせた要素内の位置
offset-anchor
参照フレーム?これらは、CSSボックスモデルに従って決定された要素サイズであり、、、offset-path
、
コンテナ要素の端のパスに沿って要素を配置する方法を簡素化します。 content-box
以下は例です。下のすべての小さな正方形は、コンテナ要素のデフォルトの左上隅に配置されていますpadding-box
。代わりに、小さな円は、それぞれborder-box
、view-box
、fill-box
の右上隅にあります(コンテナ要素の正方形の周囲の25%)。 stroke-box
content-box
content-box
注:border-box
含有している親要素内の要素にスペースを割り当てたくない場合は、要素のレイアウトコンテキストを取り外すことができます。これは、内部段落テキストがエッジに近づくことができるように、上記の例で取得した方法です。したがって、padding-box
配置された要素(小さな正方形と円)を使用して、独自のコンテキストを取得し、通常のドキュメントストリームからそれらを削除します。
参照フレームに対するこの位置決め方法により、特定のUIモジュールの周辺に沿って通知ポイントや装飾的なリボンの先端などの要素を簡単に配置できます。さらに、、がパスに沿って要素を回転させることができるため、テキストが含まれるブロックの端に沿って配置される方法を簡素化します。簡単な例は、ブロックの右端に配置された記事の日付を示しています。
offset-rotate
offset
見たように、
<div> <div></div> </div>
@property --p { syntax: '<percentage>'; inherits: false; initial-value: 0%; } .square { offset: top 50% right 50% circle(50%) var(--p); transition: --p 1s linear; /* 等同于: offset-position: top 50% right 50%; offset-path: circle(50%); offset-distance: var(--p); */ /* 其他样式 */ } .circle:hover .square{ --p: 100%; }</percentage>
およびコンテナユニットをより効率的に使用しますoffset
-conted要素の幅または高さに基づいてを簡単に設定できます。この記事の最後にある「さらに読む」セクションに、コンテナクエリとコンテナクエリユニットについての学習に関する参照を追加します。
offset-distance
プロパティは、最後の例でも使用されています。要素変位と回転のアンカーポイントを提供します。たとえば、例の90度回転は、要素の左下隅で発生します。また、
値を調整することにより、基準フレームから要素を内側または外側に移動することもできます。たとえば、offset-anchor
パラメーターは、要素のボトムエッジを外側に引っ張ります。これにより、以下に示すように、配置の精度が向上します。 offset-anchor
inset-*
bottom -10px
記事の冒頭に示されているように、padding-box
<div> <div></div> <div></div> <p>She sells sea shells by the seashore</p> </div> <div> <div></div> <div></div> <p>She sells sea shells by the seashore</p> </div> <div> <div></div> <div></div> <p>She sells sea shells by the seashore</p> </div>
.small { /* 其他样式 */ position: absolute; &.square { offset: content-box; border-radius: 4px; } &.circle { border-radius: 50%; } } .big { /* 其他样式 */ contain: layout; /* (或 position: relative) */ &:nth-of-type(1) { .circle { offset: content-box 25%; } } &:nth-of-type(2) { border: 20px solid rgb(170 232 251); .circle { offset: border-box 25%; } } &:nth-of-type(3) { padding: 20px; .circle { offset: padding-box 25%; } } }
要約offset
<h1>The Irreplaceable Value of Human Decision-Making in the Age of AI</h1> <div>Published on 11<sup>th</sup> Dec</div> <cite>An excerpt from the HBR article</cite>
article { container-type: inline-size; /* 其他样式 */ } .date { offset: padding-box 100cqw 90deg / left 0 bottom -10px; /* 等同于: offset-path: padding-box; offset-distance: 100cqw; (容器元素宽度的 100%) offset-rotate: 90deg; offset-anchor: left 0 bottom -10px; */ }
offset
offset-path
プロパティ:css-tricks、mdnoffset-anchor
CSS-tricks、mdn
@property
css-tricks
以上がCSSオフセットを使用した要素の周りにテキストを配置しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。