gsap+svg实现可调参数的分页滑动效果代码
代码语言:html
所属分类:布局界面
代码描述:gsap+svg实现可调参数的分页滑动效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@import url('https://unpkg.com/normalize.css') layer(normalize);
@layer normalize, base, prototype, bridge;
@layer bridge {
@supports (anchor-name: --pagination) {
/* gap bridging... */
[data-bridge=true][data-debug=true] {
li:has(+ li.pagination__gap) a::after,
li.pagination__gap + li a::after {
opacity: 1;
}
}
[data-bridge=true] {
li:has(+ li.pagination__gap) a::after,
li.pagination__gap + li a::after {
position: absolute;
content: '';
opacity: 0;
border: 1px solid currentColor;
background: repeating-linear-gradient(45deg, color-mix(in hsl, currentColor, #0000) 0 1px, #0000 1px 5px);
}
li:has(+ li.pagination__gap) a::after {
inset: 0 -50% 0 100%;
color: hsl(320 90% 75%);
}
li.pagination__gap + li a::after {
color: hsl(220 90% 75%);
inset: 0 100% 0 -50%;
}
}
}
}
@layer prototype {
.pagination {
--size: 36px;
--inset: 2px;
position: relative;
.pagination__list {
display: flex;
list-style: none;
align-items: center;
padding: 0;
margin: 0;
li {
width: var(--size);
aspect-ratio: 1;
display: grid;
place-items: center;
a {
display: grid;
place-items: center;
color: inherit;
text-decoration: none;
width: 100%;
height: 100%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
position: relative;
outline-color: canvasText;
-webkit-tap-highlight-color: #0000;
@media (prefers-reduced-motion: no-preference) {
transition: color 0.2s ease-out, opacity 0.2s ease-out;
}
&[aria-current=page] {
color: light-dark(#fff, #000);
}
&.pagination__link--disabled {
opacity: 0.3;
cursor: not-allowed;
pointer-events: none;
}
}
}
}
}
@supports not (anchor-name: --active-page) {
.pagination a.pagination__link:not(.pagination__link--arrow) {
&::before, &::after {
content: '';
position: absolute;
inset: var(--inset);
border-radius: calc(var(--pagination-radius) * 1px);
background: light-dark(color-mix(in srgb, canvasText 10%, canvas), color-mix(in srgb, canvasText 20%, canvas));
z-index: -1;
opacity: 0;
}
&[aria-current=page]::before {
background: light-dark(#000, hsl(0, 0%, 80%));
}
&:hover:not([aria-current=page])::before,
&[aria-c.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0