Atroposは、以下の機能をサポートするブラウザと互換性があります。
AtroposはNPMからインストールできます。
npm i atropos
Atroposコンポーネントのスタイルを設定するには、`part`属性を使用してコンポーネントのさまざまな部分をターゲットにしてカスタマイズできます。スタイルに使用できるパーツを以下に示します。
atropos-componentの内部パーツをスタイル設定するためのCSSルールの書き方の例を以下に示します。
atropos-component::part(inner) {/* Your styles for the inner part */}
<script>// import Atropos componentimport AtroposComponent from 'atropos/element';// register Atropos componentcustomElements.define('atropos-component', AtroposComponent);</script><atropos-component class="my-atropos"><!-- ... --></atropos-component>
AtroposのメインCSSスタイルに加えて、Atroposのサイズを設定するなど、カスタムスタイルを追加する必要がある場合があります。
.my-atropos {width: 320px;height: 160px;}
名前 | 型 | デフォルト | 説明 |
---|---|---|---|
active-offset | 数値 | 50 | アクティブ化(ホバー時)時のメインコンテナのオフセット。基本的に、 `translateZ`値 |
always-active | ブール値 | false | Atroposを常にアクティブにします。 |
duration | 数値 | 300 | アクティブ化、離脱、回転中のトランジション時間(ミリ秒) |
rotate | ブール値 | true | ポインターの移動時にコンテナを回転させるかどうかを定義します(アクティブ化時)。 |
rotate-touch | ブール値 | 文字列 | true | タッチ移動時にコンテナを回転させるかどうかを定義します(アクティブ化時)。`rotate`を有効にする必要があります。特別な値も受け入れます。
|
rotate-x-max | 数値 | 15 | X軸に沿った最大回転(度) |
rotate-y-max | 数値 | 15 | Y軸に沿った最大回転(度) |
rotate-x-invert | ブール値 | false | X軸に沿った回転を反転します(度) |
rotate-y-invert | ブール値 | false | Y軸に沿った回転を反転します(度) |
stretch-x | 数値 | 0 | この値(パーセンテージ)でX軸に沿ってAtroposコンテナを移動(平行移動)します。例:`50`の値は、コンテナを幅の±50%移動します。複数のAtroposが同じ親`eventsEl`コンテナを使用する場合のみ。 |
stretch-y | 数値 | 0 | この値(パーセンテージ)でY軸に沿ってAtroposコンテナを移動(平行移動)します。例:`50`の値は、コンテナの高さを±50%移動します。複数のAtroposが同じ親`eventsEl`コンテナを使用する場合のみ。 |
stretch-z | 数値 | 0 | この値(パーセンテージ)でZ軸に沿ってAtroposコンテナを移動(平行移動)します。例:`50`の値は、コンテナの高さを±50%移動します。複数のAtroposが同じ親`eventsEl`コンテナを使用する場合のみ。 |
common-origin | ブール値 | true | 同じ親を持つすべてのAtroposコンポーネントの`transform-origin`を同じ点(通常はポインターの位置)に動的に設定します。複数のAtroposが同じ親`eventsEl`コンテナを使用する場合のみ。 |
shadow | ブール値 | true | 影を有効にします。 |
shadow-offset | 数値 | 50 | 影のオフセット。基本的には影要素の`translateZ`です。値 |
shadow-scale | 数値 | 1 | 影のスケール係数 |
highlight | ブール値 | true | ハイライトを有効にします。 |
イベント | |||
enter | 関数 | イベントAtroposがアクティブ化されたとき(ホバー時)に発生します。 | |
leave | 関数 | イベントAtroposが非アクティブ化されたとき(ポインターアウト時)に発生します。 | |
rotate | function(event) | イベント回転時に発生します。 | |
スロット | |||
root | ここに渡された要素は `atropos`ルート要素に追加されます。 | ||
scale | ここに渡された要素は `atropos-scale`要素 | ||
rotate | ここに渡された要素は `atropos-rotate`ルート要素 |
例:
<script>import AtroposComponent from 'atropos/element';customElements.define('atropos-component', AtroposComponent);</script><atropos-component class="my-atropos"active-offset="40"shadow-scale="1.05"></atropos-component><script>const atroposComponent = document.querySelector('.my-atropos');atroposComponent.addEventListener('enter', function() {console.log('Enter');});atroposComponent.addEventListener('leave', function() {console.log('Leave');});atroposComponent.addEventListener('rotate', function(event) {console.log('Rotate', event.detail);</script>
Atroposインスタンスには次のようにアクセスできます。
const atroposComponent = document.querySelector('atropos-component');const atroposInstance = atroposComponent.atroposRef;
Atroposは、要素オフセット(パララックス効果)を制御するために特別な`data-`属性を使用します。
`data-atropos-offset` - 要素のオフセット/平行移動をパーセンテージで制御します。
基本的に、要素をより近くに表示したい(シーンの手前に表示したい)場合は、この値を正にする必要があります。そして、要素を遠くに表示したい(シーンの後ろに表示したい)場合は、この値を負にする必要があります。
例:
<atropos-component><!--Element with negative offset will move in reverse direction,making it appear behind the scene--><img src="image-bg.png" data-atropos-offset="-5" /><!--Element with no offset will not move--><img src="image-middle.png" data-atropos-offset="0" /><!--Element with positive offset will move in same direction,making it appear in front of the scene--><img src="image-front.png" data-atropos-offset="5" /></atropos-component>
ご覧のとおり、AtroposをWebサイトやアプリに統合するのは簡単です。そのため、次の手順を示します。