ホームページ ウェブフロントエンド CSSチュートリアル 現実の世界でCSS変換を使用します

現実の世界でCSS変換を使用します

Feb 10, 2025 am 11:24 AM

Using CSS Transforms in the Real World

CSS変換:設計上の困難を解決するための強力なツール

この記事では、実際のアプリケーションでのCSS変換の力を調査し、さまざまな設計上の課題を効果的に解決し、魅力的な視覚効果を生み出す方法を示します。要素を垂直に整列させ、美しい矢印を作成し、ロードアニメーションを構築し、フリップアニメーションを実装する方法を学びます。

CSS3変換は2012年に標準になり、それ以前には一部のブラウザがサポートを提供していました。変換を使用すると、回転、スケーリング、傾斜要素などのWeb要素を簡単に変換して、1つのコードで達成するのが困難でした。 CSS変換は、2Dおよび3D変換をサポートします。

ブラウザの互換性の観点から、すべての主流のブラウザは、インターネットエクスプローラー9以降を含む2D変換をサポートしています。 3D変換は、IE10以降で部分的にのみサポートされています。

この記事では、変換の基本については説明しません。コンバージョンに慣れていない場合は、最初に2Dおよび3D変換の紹介を読むことをお勧めします。

子要素の垂直アライメント

要素の垂直方向のアライメントは、常にWebデザイナーにとって問題でした。簡単に思えますが、実際には多くの面倒なテクニックがあります。いくつかの方法は、

および

を使用することを推奨する方法もありますが、他の方法ではdisplay: inlineおよびそれらに関連するスタイルを使用することをお勧めします。もちろん、FlexBoxまたはグリッドはこの問題を解決できますが、コンポーネントが小さい場合は、変換がより簡単なオプションになる場合があります。 vertical-align: middle display: table要素が非常に可変的な場合、垂直方向のアライメントはより複雑になる可能性があります。 CSS変換は、この問題を解決するための効果的な方法を提供します。 2つのネストされたdivがある簡単な例です。

親要素の幅、高さ、境界線を設定し、間隔を追加してより美しくするために:

<div class="parent">
  <div class="child">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
  </div>
</div>

<div class="parent">
  <div class="child">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
  </div>
</div>
ログイン後にコピー
ログイン後にコピー

次に、

を使用してテキストを垂直に中央に配置します。
.parent {
  height: 300px;
  width: 600px;
  padding: 0 1em;
  margin: 1em;
  border: 1px solid red;
}
.child {
  font-size: 1.2rem;
}
ログイン後にコピー
ログイン後にコピー

ぼやけを避けるために、transform: translateY(-50%);

を追加できます
.child {
  font-size: 1.2rem;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
ログイン後にコピー
このように、テキストの長さが異なっていても、子の要素は完全に垂直に中心にすることができます。

perspective(1px)

矢印を作成します
.child {
  transform: perspective(1px) translateY(-50%);
}
ログイン後にコピー

もう1つの興味深いユースケースは、スケーラブルなダイアログ矢印を作成することです。グラフィックエディターを使用して矢印を作成できますが、これは面倒で、ビットマップの画像はうまく縮小できない場合があります。

純粋なCSSソリューションがより効果的です。テキストボックスがあると仮定します:

このように、ページのフォントサイズが変更されたとしても、矢印は割合を維持できます。

<div class="box">
  <div class="box-content">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
  </div>
</div>
ログイン後にコピー
「ジャンプボール」の読み込みアニメーション

::beforeを作成します

読み込みプロセスを示すために、CSSアニメーションと変換を使用してジャンプボールロードアニメーションを作成できます。
<div class="parent">
  <div class="child">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
  </div>
</div>

<div class="parent">
  <div class="child">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
  </div>
</div>
ログイン後にコピー
ログイン後にコピー
.parent {
  height: 300px;
  width: 600px;
  padding: 0 1em;
  margin: 1em;
  border: 1px solid red;
}
.child {
  font-size: 1.2rem;
}
ログイン後にコピー
ログイン後にコピー

svgを使用して「ローター」ロードアニメーションを作成します(この部分は元のテキストに似ています。複製を避けるために、詳細コードはここで省略され、概要のみが保持されます)

SVGを使用して、スピナーなどのより複雑なロードアニメーションを作成できます。 SVG要素、CSSアニメーション、および変換を組み合わせることで、視覚的に魅力的な負荷効果を作成できます。

フリップアニメーションを作成します

最後に、フリップアニメーションのある画像の例を見てみましょう。マウスを写真の上にホバリングすると、それはひっくり返り、その説明を表示します。これは、Instagramのようなサイトで非常に便利です。 (コンテンツのこの部分は元のテキストに似ています。複製を避けるために、詳細なコードはここで省略されており、概要のみが保持されます)

3D変換とtransform-style: preserve-3d;、およびtransitionプロパティを使用して、スムーズなフリップアニメーション効果を実現できます。

予防策

CSS変換とアニメーションは強力ですが、ユーザーエクスペリエンスの低下を引き起こすことを避けるためには注意して使用する必要があります。

概要

この記事では、CSS変換を他のテクノロジーと組み合わせてさまざまな設計タスクを解決する方法を示しています。要素を垂直に整列させ、スケーラブルな矢印を作成し、ロードアニメーションをジャンプおよび回転させ、フリップアニメーションを実装する方法を学びました。 CSSは、誇示するだけでなく、ユーザーエクスペリエンスを向上させるために使用する必要があります。

(元のテキストの「CSS変換に関する「よくある質問」の内容は、この記事の内容と非常に一致しているため、ここでは省略されています)

以上が現実の世界でCSS変換を使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

それは&#039; Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

ブラウザから有効なCSSプロパティ値を取得できますか? ブラウザから有効なCSSプロパティ値を取得できますか? Apr 02, 2025 pm 06:17 PM

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

CI/CDで少し CI/CDで少し Apr 02, 2025 pm 06:21 PM

「ウェブサイト」は「モバイルアプリ」よりも適していると言いますが、Max Lynchからのこのフレーミングが好きです。

粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード 粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード Apr 03, 2025 am 10:30 AM

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

WordPressブロックエディターでのマークダウンとローカリゼーションを使用します WordPressブロックエディターでのマークダウンとローカリゼーションを使用します Apr 02, 2025 am 04:27 AM

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

レスポンシブデザインのブラウザを比較します レスポンシブデザインのブラウザを比較します Apr 02, 2025 pm 06:25 PM

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

スティッキーヘッダーとフッターにCSSグリッドを使用する方法 スティッキーヘッダーとフッターにCSSグリッドを使用する方法 Apr 02, 2025 pm 06:29 PM

CSS Gridは、レイアウトをこれまで以上に簡単にするように設計されたプロパティのコレクションです。何でもするように、少し学習曲線がありますが、グリッドは

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

See all articles