CSS100Day(6)-卡片练习和绝对定位圆圈
833 字
4 分钟
CSS100Day(6)-卡片练习和绝对定位圆圈
设计简介
头像外围圆圈可以使用绝对定位把 width 和 height 稍微调大一点,然后 top 、 left 除以2然后变负数
- 知识点1:
filter: brightness(0.9)可以加深背景,但注意该属性作用整个元素和子元素
效果展示
Jessica Potter
Visual Artist
523
Posts
1387
Likes
146
Follower
实现代码和步骤
HTML部分
<div class="frame"> <div class="container"> <div class="profile"> <div class="image"> <div class="circle-1"></div> <div class="circle-2"></div> <img src="./jessica-potter.jpg" alt="头像" width="70" height="70" /> </div> <div class="name">Jessica Potter</div> <div class="job">Visual Artist</div>
<div class="actions"> <button class="btn">Follow</button> <button class="btn">Message</button> </div> </div> <div class="stats"> <div class="box"> <span class="value">523</span> <span class="parameter">Posts</span> </div> <div class="box"> <span class="value">1387</span> <span class="parameter">Likes</span> </div> <div class="box"> <span class="value">146</span> <span class="parameter">Follower</span> </div> </div> </div></div>CSS部分
- 关键1:头像外面两个圈是两个div绝对定位,然后宽度比img元素大一点,然后跳转其top、left为负数,值为宽度差/2
- 关键2:之前理解错误了,transition是不继承的最好放在元素初始状态上
:root { --brown: #786450; font-family: "微软雅黑";}
.frame { width: 400px; height: 400px; border-radius: 2px; box-shadow: 1px 2px 10px 0px rgba(0, 0, 0, 0.3); background: linear-gradient(to top right, #eebe6c 0%, #ca7c4e 100%); color: var(--brown); display: grid; place-content: center;}
.container { width: 320px; height: 299px; background-color: #fff; border-radius: 2px; overflow: hidden; box-shadow: 10px 10px 15px 0 rgba(0, 0, 0, 0.3); display: flex;}
.profile { display: flex; flex-direction: column; justify-content: center; width: 200px; height: 320px; text-align: center; align-items: center;
.image { margin: 10px 0; margin-bottom: 20px; position: relative; width: 70px; height: 70px;
.circle-1 { width: 76px; height: 76px; border-width: 1px; border-style: solid; border-color: var(--brown) var(--brown) var(--brown) transparent; position: absolute; top: -3px; left: -3px; border-radius: 50%; transition: all 1.5s ease-in-out; }
.circle-2 { width: 82px; height: 82px; border-width: 1px; border-style: solid; border-color: var(--brown) transparent var(--brown) var(--brown); position: absolute; top: -6px; left: -6px; border-radius: 50%; transition: all 1.5s ease-in-out; }
img { border-radius: 50%; display: block; }
&:hover { cursor: pointer; .circle-1 { rotate: 360deg; } .circle-2 { rotate: -360deg; } } }
.name { font-size: 1rem; font-weight: 700; }
.job { font-size: 0.8rem; }
.actions { display: flex; flex-direction: column; gap: 10px; align-items: center; margin: 25px 0;
.btn { width: 120px; height: 30px; border-radius: 15px; font-size: 12px; border: 1px solid var(--brown); transition: all 0.3s ease-in-out; color: var(--brown); background-color: #fff;
&:hover { background-color: var(--brown); color: #fff; } } }}
.stats { display: flex; flex-direction: column; flex: 1;
.box { box-sizing: border-box; flex: 1; text-align: center; display: grid; place-content: center; background: #f5e8df; transition: all 0.5s ease;
.value { font-weight: 700; }
.parameter { font-size: 0.8rem; }
&:hover { filter: brightness(0.9); cursor: pointer; } }}分享给其他人
如果该文章对您有帮助,欢迎分享给其他人阅读!
复制链接
相关文章
推荐筛选
1
CSS100Day(14)-3D卡片翻转
设计灵感 一个3D卡片翻转原理理解
2
CSS100Day(7)-菜单列表和公告在一起
设计灵感 菜单隐藏在后面,利用transform的translateX点击移动展开
3
CSS100Day(13)-图片hover上方出现蒙层和元素
设计灵感 图片hover常规出现蒙层和元素,点击后过渡呈现卡片内容
4
CSS100Day(3)-clip-path和动画实现金字塔日出日落
设计灵感 一个训练clip-path和关键帧贝塞尔曲线的练习
5
CSS100Day(4)-利用关键帧三圆嵌套动画
设计灵感 一个训练keyframe的练习,利用box-shadow造成嵌套感觉
随机文章
随机推荐