ホームページ >ウェブフロントエンド >CSSチュートリアル >ATOZ CSS:翻訳と位置の相対の違い
xは翻訳と位置
用ですページに要素を配置するための多くのCSSプロパティがあります。これらには、フロート、マージン、パディングなどの大きさのレイアウトプロパティ、および位置や翻訳()などのよりきめ細かいツールが含まれます。 表面上、位置:相対的および変換:翻訳()は非常に似たように機能しているようですが、把握することが重要な微妙な違いがあるので、仕事に適したツールを選択します。
翻訳と位置の違いは何ですか:相対?配置要素の境界を作成することができます。これはおそらく相対的なポジショニングのより一般的な使用ですが、ここで議論している使用は
ではありません。位置を組み合わせた場合:相対的なオフセットプロパティの上部、下、左、または右の1つを使用すると、要素はレイアウトの元の場所から移動し、かつて占有していたドキュメント内のスペースを保存します。要素は新しいレイヤーに移動され、その「レイヤー順」またはそのスタッキング順序はz-indexプロパティで制御できます。
上記の例では、要素は上から100px離れ、元の位置の左側から50pxから移動します。<span><span>.thing</span> { </span> <span>position: relative; </span> <span>top: 100px; </span> <span>left: 50px; </span><span>}</span>変換を使用する場合:翻訳(x、y)相対位置を使用することと非常によく似た視覚的結果が得られます。上記と同じ結果は、次のスニペットで達成できます。
この場合、要素の座標をX軸に沿って50px、Y軸に沿って100pxで翻訳しています。最終結果は、前の位置の例と視覚的に同じです。
では、なぜ同じことをする2つの方法があるのですか?まあ、
<span><span>.thing</span> { </span> <span>transform: translate(50px, 100px); </span><span>}</span>これらのアプローチの間にいくつかの違いがあります…
ブラウザサポート
位置はCSS2プロパティですが、変換はCSS3プロパティです。結果としてブラウザサポートには違いがありますが、実際には2D変換をサポートしていないブラウザはIE8以下です。 IEの古いバージョンをサポートする必要がある場合、変換はあなたにとって選択肢ではありません。
gpu加速遷移またはキーフレームアニメーションの一部として要素を移動する場合は、位置ではなく翻訳を使用することを支持します(これは絶対的なポジショニングと相対的なポジショニングの両方に役立ちます)。説明やパフォーマンスプロファイリングなど、この詳細については、ポールアイルランドのこのビデオをご覧ください。
パーセンテージベースの値は異なる動作要素を配置するこれら2つの方法の1つの大きな違いは、それらがパーセンテージベースの値にどのように応答するかです。
両方の要素には、左端から50%のオフセットが与えられています。
赤いボックスの左端は、親コンテナの端から50%離れています。翻訳でパーセンテージ値を設定する場合、パーセンテージは、計算された幅または高さの要素の割合として測定されます。
CodepenのSitePoint(@SitePoint)のペンVyyxgjを参照してください最後のポイントの1つは、位置と変換が2つの異なるプロパティであるため、それらを結合できるためです。これにより、絶対的な位置を組み合わせて、要素をページ上の非常に特定の場所に配置し、その位置を変換で変更できます。
この例は、位置付けられた要素を上下または左右にアニメーション化することです。または、ポジショニングと翻訳を組み合わせて、柔軟な垂直センタリングを実現することもできます。したがって、要素を配置するこれらの2つの方法を使用して同様の結果を達成することができますが、いくつかの大きな違いがあり、各アプローチの強みを組み合わせることで、それらは非常に強力なツールセットになります。
CSSがポジションと位置を翻訳することに関するよくある質問(FAQ)CSSの翻訳と位置の主な違いは何ですか?
CSS翻訳を使用して、ピクセル値、パーセンテージ、およびビューポートユニットを使用できます。パーセンテージは、その親ではなく、要素自体のサイズに関連しています。これにより、要素の動きに対する柔軟性と制御が得られます。 CSS翻訳は、要素のzインデックスにどのように影響しますか?ただし、翻訳関数を要素に適用すると、新しいスタッキングコンテキストが作成されます。これは、z-indexの適用方法に影響を与える可能性があります。 、CSS翻訳を使用して、要素を斜めに移動できます。翻訳関数のx値とy値の両方を指定することで、これを行うことができます。たとえば、翻訳(50px、50px)は要素を右に50ピクセル、50ピクセルを下に移動し、効果的に対角数の動きを作成します。 🎜>いいえ、CSS翻訳は、要素のクリック可能な領域に影響しません。クリック可能な領域は、要素の視覚的なレンダリングが翻訳で移動されたとしても、ドキュメントフローの元の位置に残ります。
以上がATOZ CSS:翻訳と位置の相対の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。