css+div实现图文卡片幻灯片效果代码

代码语言:html

所属分类:幻灯片

代码描述:css+div实现图文卡片幻灯片效果代码

代码标签: css div 图文 卡片 幻灯片

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  
  
  
<style>
@layer reset, base, utilities, components, layout, overrides;
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@layer reset {
  *,
  ::before,
  ::after {
    box-sizing: border-box;
  }

  :where(:not(dialog)) {
    margin: 0;
  }

  :where(html) {
    -webkit-text-size-adjust: none;

    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
  }

  :where(body) {
    min-block-size: 100svb;
    -webkit-font-smoothing: antialiased;
  }
}

@layer base {
  html {
    --placeholder-font: 'Inter';
    --arrow-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%234428c2"><path d="M647-440H160v-80h487L423-744l57-56 320 320-320 320-57-56 224-224Z"/></svg>');
    --caption: 400 0.688rem/1rem var(--placeholder-font), system-ui, sans-serif;
    --headline: 600 2.812rem/3.25rem var(--placeholder-font), Arial, sans-serif;
    --headline-small: 600 2rem / 2.5rem var(--placeholder-font), system-ui, sans-serif;
    --label: 600 1rem / 1.375rem var(--placeholder-font), system-ui, sans-serif;
    --title: 600 1.75rem/2.25rem var(--placeholder-font), system-ui, sans-serif;
    --title-small: 600 1.5rem/2rem var(--placeholder-font), Arial, sans-serif;

    --surface: oklch(96% 0 236);
    --on-surface: oklch(0% 0 0);

    --primary: oklch(91% 0.18 99);
    --on-primary: oklch(0% 0 0);

    --secondary: oklch(43% 0.22 280);
    --on-secondary: oklch(100% 0 0);

    --surface-container: oklch(91% 0.03 64);
    --on-surface-container: oklch(0% 0 0);

    --shadow-02: 0px 1px 2px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12);
    --shadow-04: 0px 2px 4px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12);
  }
}

@layer layout {
  .section {
    --duration: 0;
    --img-translate-delay: 0;

    background-color: var(--surface);
    color: var(--on-surface);
    padding-block: 64px;
    font: var(--body);

    /* motionOK */
    @media (prefers-reduced-motion: no-preference) {
      --duration: 200ms;
      --img-translate-delay: 250ms;
    }
  }
  .section-wrapper {
    container-type: inline-size;
    background-color: var(--secondary);
    color: var(--on-secondary);
    display: block;
    border-start-end-radius: 128px;
    overflow: clip;
    padding-block: 32px;
    padding-block-end: 128px;

    /* md-n-above */
    @media (width >= 768px) {
      padding-block-end: 160px;
    }
  }
  .header {
    padding-block: 32px;
    display: grid;
    place-items: center;
    padding-inline: 16px;
    /* md-n-above */
    @media (width >= 768px) {
      padding-block: 64px;
    }
  }
  .headline {
    text-align: center;
    text-wrap: pretty;
    font: var(--headline-small);

    /* md-n-above */
    @media (width >= 768px) {
      font: var(--headline);
    }
  }
  .cards {
    list-style: none;
    display: grid;
    grid-auto-flow: column;
    place-items: start;
    padding-block: 32px;
    padding-inline: 48px;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    /* motionOK */
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
  }

  .card {
    --card-circle-bg: var(--on-secondary);
    background-color: var(--surface-container);
    color: var(--on-surface-container);
    border-radius: 1rem;
    overflow: clip;
  }

  .card-even {
    --card-circle-bg: var(--secondary);
    background-color: var(--surface);
    color: var(--on-surface);
  }

  .article {
    container-type: size;
    display: grid;
    padding-inline: 32px;
    padding-block-start: 32px;
    gap: 16px;
    inline-size: min(90cqi, 348px);
    aspect-ratio: 3/4;
    grid-template-rows: 1fr 1fr;
  }
  .card-header {
    display: grid;
    gap: 12px;
  }
  .hgroup {
    display: grid;
    gap: 16px;
  }
  .category {
    font: var(--caption);
    text-transform: uppercase;
    letter-spacing: 2px;
  }
  .title {
    font: var(--title-small);
    /* md-n-above */
    @media (width >= 768px) {
      font: var(--title);
    }
  }
  .link {
    --_x: 0px;
    display: flex;
    inline-size: fit-content;
    block-size: 40px;
    background-color: var(--primary);
    align-items: center;
    gap: 8px;
    padding-inline-start: 16px;
    text-decoration: none;
    color: var(--on-primary);
    font: var(--label);
    border-radius: 100px;
    box-shadow: var(--shadow-02);

    &:hover {
      --_x: 3px;
    }
  }
  .icon {
    --_primary-darker: oklch(from var(--primary) calc(l - 0.08) c h);
    background-color: var(--_primary-darker);
    block-size: 100%;
    display: grid;
    a.........完整代码请登录后点击上方下载按钮下载查看

网友评论0