vue3实现一个时间线效果代码

代码语言:html

所属分类:其他

代码描述:vue3实现一个时间线效果代码

代码标签: vue 时间线

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


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

<head>

 
<meta charset="UTF-8">
 

 
 
 
<style>
@import url("https://fonts.googleapis.com/css2?family=Play&display=swap");

* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
}

:root {
        --bkg: #242429;
        --card-bkg: #540880;
        --white: #dfdfdf;
}

body {
        min-height: 100vh;
        display: grid;
        justify-items: center;
        font-family: "Play", sans-serif;
        background-color: var(--bkg);

}
header {
        margin: 3em auto;
        padding: 1em;
        text-align: center;
        color: var(--white);
}
header p {
        margin: 1em 0;
}

.container {
        width: 100%;
        max-width: 700px;
        grid-auto-rows: min-content;
}

ul {
        list-style: none;
        margin: 5em 0;
}

.timeline {
        max-width: 960px;
        position: relative;
}
.timeline::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        height: 100%;
        background-color: #208a00;
}

.card {
        color: var(--white);
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        perspective: 1000px;
}

/* Left side cards */
.card:nth-child(odd) .card--title {
        grid-template-columns: 1fr 6ch;
        grid-column: 1/2;
        grid-row: 1/2;
        justify-self: end;
        transform-origin: 100% 0%;
        transition: 1s cubic-bezier(0.39, 0, 0.26, 1.37);
}
.card:nth-child(odd) .card--title::after {
        content: "";
        position: absolute;
        display: block;
        width: 0;
        z-index: 1;
        border-style: solid;
        border-color: transparent var(--card-bkg);
        border-width: 15px 0 15px 15px;
        top: 50%;
        right: -15px;
        margin-top: -15px;
}

/* Right side cards */
.card:nth-child(even) .card--title {
        grid-template-columns: 6ch 1fr;
        grid-column: 2/3;
        grid-row: 1/2;
        padding: 0.5em 1em 0.5em 0.5em;
        transform-origin: 0% 0%;
        transition: 1s cubic-bezier(0.39, 0, 0.26, 1.37);
}
.card:nth-child(even) .card--title time {
        justify-self: start;
}
.card:nth-child(even) .card--title p {
        text-align: right;
}
.card:nth-child(even) .card--title::after {
        content: "";
        position: absolute;
        display: block;
        width: 0;
        z-index: 1;
        border-style: solid;
        border-color: transparent var(--card-bkg);
        border-width: 15px 15px 15px 0;
        top: 50%;
        left: -15px;
        margin-top: -15px;
}

.card--title {
        width: 75%;
        background-color: var(--card-bkg);
        border-radius: 10px;
        display: grid;
        place-items: center;
        padding: 0.5em 0.5em 0.5em 1em;
        margin: 2em 20px 2em;
        box-shadow: rgba(0, 0, 0, 0.15) 0px 15px 25px, rgba(0, 0, 0, 0.05) 0px 5px 10px;
        position: relative;
}

.card--title.........完整代码请登录后点击上方下载按钮下载查看

网友评论0