当前位置: 首页 > Web前端 > HTML5

前端CSS:6#纯CSS实现时间轴

时间:2023-04-05 01:42:29 HTML5

介绍刚要写的时候,自以为CSS已经精通了,随便写一下应该差不多了。15分钟才写出一个半成品,而且很丑。一定是这十天写CSS的原因(甩锅)。所以还是稳妥的按套路来吧,先写一个DIV,然后填充,重复多次...感谢comehop??e的【前端日常实战】效果预览github.io浏览源码地址https://github.com/shanyuhai1...代码解读1.HTML基本结构

文档时间轴

普通样式初始化:*{margin:0;填充:0;框大小:边框框;}body{height:100vh;}h1{text-align:center;}2。基本卡牌风格整体布局的时间线暂时不用考虑。卡片先完成,然后在组合多张卡片时需要考虑。卡片分为两部分:header存储标题,article存储内容的详细信息。修改DOM结构="title__date">2019-03-09subtitle

今天是个好日子day

修改卡片style.card{position:relative;宽度:400px;高度:200px;显示:弹性;弹性方向:列;框阴影:0px3px1px-2pxrgba(0,0,0,0.2),0px2px2px0pxrgba(0,0,0,0.14),0px1px5px0pxrgba(0,0,0,0.12);/*用于观察,待删*/border:1pxdasheddarkorange;}这样一个基本的卡片就实现了。3.改进卡片的表头结构style.card__header{display:flex;对齐项目:居中;宽度:100%;高度:35%;颜色:#fff;背景色:#134857;overflow:hidden;}header里面。header__number{显示:flex;对齐项目:居中;证明内容:居中;边距:020px;填充:6px14px;字体大小:2rem;背景色:rgba(0,0,0,0.17);}.header__title{显示:flex;左边距:10px;弹性方向:列;font-size:0.6rem;}.title__sub{padding-top:6px;font-size:1.2rem;}article结构文章初步思路还是比较简单的:.card__article{width:100%;高度:65%;背景色:#fff;边框:1px实心rgba(200,200,200,0.5);边框顶部:无;padding:10px;}4.MoreOnecard修改DOM结构在.cards中添加多张卡片,这里只展示DOM结构,省略部分内容。

飞越山海的鱼

1
2019-03-09副标题

今天是个好日子

.cards时间轴修改.cards和.card的大小,使用伪中间增加元素Line:.cards{position:relative;显示:弹性;弹性方向:列;宽度:100%;高度:100%;/*用于观察,将被删除*/border:1pxsolid#000;}.cards::after{z-index:9;内容:””;位置:腹肌奥特;顶部:0;底部:0;左:50%;border-left:1pxsolidrgba(200,200,200,0.5);}.card{width:46%;}cardonbothsides.card:nth-child(odd){align-self:flex-start;}.card:nth-child(even){align-self:flex-end;}增加三角标记,利用header伪元素实现.card:nth-child(odd)。card__header::after{位置:绝对;左:100%;内容:””;宽度:0;高度:0;边框样式:实心;边框宽度:10px010px18px;134857;}.card:nth-child(even).card__header::after{position:absolute;右:100%;内容:””;宽度:0;高度:0;边框样式:实心;10像素18像素10像素0;border-color:transparent#134857transparenttransparent;}在中间线上添加一个标记点??。card:nth-child(odd).card__header::before{z-index:10;位置:绝对;左:计算(111.11%-2.5px);内容:””;宽度:10px;高度:10px;边界半径:10px;背景色:#bdbdbd;-孩子(甚至).card__header::before{z-index:10;位置:绝对;右:计算(111.11%-5px);内容:””;宽度:10px;高度:10px;边界半径:10px;#bdbdbd;box-shadow:002px6px#fff;}5.美化去除边框注释可以直接删除。标题被分配了不同的颜色以设置默认颜色::root{--bg-color:#10aec2;}.card__header{background-color:var(--bg-color);}.card:nth-child(odd).card__header::after{border-color:transparenttransparenttransparentvar(--bg-color);}.card:nth-child(even).card__header::after{border-color:transparentvar(--bg-color)transparenttransparent;}修改为4个颜色循环(如果要循环更多颜色,增加n即可):.card:nth-child(4n){--bg-color:#10aec2;}.card:nth-child(4n+1){--bg-color:#fbc82f;}.card:nth-child(4n+2){--bg-color:#74759b;}.card:nth-child(4n+3){--bg-color:#346c9c;}修改间隔h1{margin-bottom:10px;}。cards{padding:10px16px;}最后这个只完成了一半,进一步适配移动端还没有完成,后续会补上。更新了移动端效果:效果,具体实现稍后补充。参考选色参考款式