コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
HTML
<h1 split-by="letter" letter-animation="hover">
hover-me letters
</h1>
CSS
@media (prefers-reduced-motion:no-preference) {
[letter-animation=hover]:hover>span {
transform: scale(.75) perspective(1px)
}
[letter-animation=hover]>span {
transition: transform .3s ease;
cursor: pointer;
will-change: transform
}
[letter-animation=hover]>span:hover {
transform: scale(1.25) perspective(1px)
}
}
JS
const span = (text, index) => {
const node = document.createElement('span')
node.textContent = text
node.style.setProperty('--index', index)
return node
}
const byLetter = text =>
[...text].map(span)
const {matches:motionOK} = window.matchMedia(
'(prefers-reduced-motion: no-preference)'
)
if (motionOK) {
const splitTargets = document.querySelectorAll('[split-by]')
splitTargets.forEach(node => {
let nodes = byLetter(node.innerText)
if (nodes)
node.firstChild.replaceWith(...nodes)
})
}
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-03-06 UTC。
[null,null,["最終更新日 2025-03-06 UTC。"],[],[]]