div+css布局实现图文大事记时间线效果代码
代码语言:html
所属分类:布局界面
代码描述:div+css布局实现图文大事记时间线效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> :where(.ui-chronology) { --ui-chronology-bdrs: 50%; --ui-chronology-bdw: 12px; --ui-chronology-connect: 48px; display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); row-gap: 1ch; ol { display: grid; grid-template-rows: var(--ui-chronology-connect) 1fr 1fr 1fr var(--ui-chronology-connect); margin: 0; padding: 0; /* ODD COLUMNS */ &:nth-of-type(odd) { li[value="0"] { &:last-of-type { /* Bottom Left Corner */ &::before { border-block-width: 0 var(--ui-chronology-bdw); border-inline-width: var(--ui-chronology-bdw) 0; border-end-start-radius: var(--ui-chronology-bdrs); justify-self: end; } i { border-block-end: var(--ui-chronology-bdw) solid var(--CanvasText); } } } /* FIRST COLUMN ONLY */ &:first-of-type { li[value="0"]:first-of-type { &::before { display: none; } /* Hide Top Left Corner */ i { grid-column: span 2; } /* Headline */ } } &:not(:first-of-type) { li[value="0"] { &:first-of-type { /* Top Left Corner: Reverse */ &::before { border-block-width: var(--ui-chronology-bdw) 0; border-inline-width: 0 var(--ui-chronology-bdw); border-start-end-radius: var(--ui-chronology-bdrs); justify-self: start; } } } } &:last-of-type li[value="0"]:last-of-type i { width: calc(100% - var(--ui-chronology-bdw)); } /* Round dot at the end of the last list */ &:last-of-type li[value="0"]:last-of-type i::after { aspect-ratio: 1; background-color: var(--CanvasText); border-radius: 50%; content: ""; inset-inline-end: calc(0px - (1 * var(--ui-chronology-bdw))); inset-block-end: calc(0px - (1.5 * var(--ui-chronology-bdw))); position: absolute; width: calc(2 * var(--ui-chronology-bdw)); } } /* EVEN COLUMNS */ &:nth-of-type(even) { li[value="0"] { &:first-of-type { /* Top Left Corner */ &::before { border-block-width: var(--ui-chronology-bdw) 0; border-inline-width: var(--ui-chronology-bdw) 0; border-start-start-radius: var(--ui-chronology-bdrs); justify-self: end; } i { border-block-start: var(--ui-chronology-bdw) solid var(--CanvasText); } .........完整代码请登录后点击上方下载按钮下载查看
网友评论0