已解决
用户社交信息交互卡片
来自网友在路上 174874提问 提问时间:2023-10-28 22:55:27阅读次数: 74
最佳答案 问答题库748位专家为你答疑解惑
效果展示
CSS 知识点
- CSS 基础知识回顾
- transition-delay 属性的运用
整体页面布局实现
<div class="card"><div class="user"><div class="img_box"><img src="bg.jpg" /></div><div class="content"><h2>Someone Famous<br /><span>Product Designer</span></h2></div><span class="toggle"></span></div><ul class="contact"><li style="--clr: #c71610;--i:0"><a href="#"><div class="icon_box"><i class="fa-solid fa-envelope"></i></div><p>someone@email.com</p></a></li><li style="--clr: #171515;--i:1"><a href="#"><div class="icon_box"><i class="fa-brands fa-weixin"></i></div><p>18372876781</p></a></li><li style="--clr: #0a66c2;--i:2"><a href="#"><div class="icon_box"><i class="fa-brands fa-qq"></i></div><p>38572913</p></a></li></ul>
</div>
实现整体用户卡片样式
.card {position: relative;height: 100px;transition: 0.5s;transition-delay: 0.5s;
}.card .user {position: relative;width: 400px;min-height: 150px;background: #2196f3;display: flex;justify-content: center;align-items: center;flex-direction: column;gap: 10px;border-radius: 10px;padding: 60px 40px 30px;
}
实现用户头像样式
.card .user .img_box {position: absolute;top: 0;transform: translateY(-50%);width: 100px;height: 100px;border-radius: 50%;border: 6px solid #fff;overflow: hidden;transition: 0.5s;z-index: 10;
}.card .user .img_box img {position: absolute;width: 100%;height: 100%;object-fit: cover;
}
实现用户信息部分样式
.card .user .content {position: relative;text-align: center;
}.card .user .content h2 {font-size: 1.2em;line-height: 1.05;color: #fff;
}.card .user .content h2 span {font-size: 0.75em;font-weight: 400;
}
实现用户社交信息展示的按钮样式
.card .user .toggle {position: absolute;bottom: 0;width: 120px;padding: 5px 15px;background: #fff;border-radius: 30px;transform: translateY(50%);border: 6px solid var(--bg);text-align: center;cursor: pointer;font-weight: 500;transition: 0.5s;
}.card .user .toggle::before {content: "Hire me";
}
使用 JavaScript 实现按钮交互事件
let toggle = document.querySelector(".toggle");
let card = document.querySelector(".card");toggle.onclick = () => {card.classList.toggle("active");
};
编写社交项的样式
.card .contact {position: relative;top: 30px;width: 100%;height: 0;display: flex;overflow: hidden;flex-direction: column;gap: 10px;transition: 0.5s;
}.card .contact li {list-style: none;width: 100%;min-height: 100px;background: #fff;border-radius: 10px;display: flex;transition: 0.5s;opacity: 0;transform: scale(0);padding: 10px 30px;
}/* 剩余样式在完整代码中展示 */
编写卡片激活后的样式
/* 只是展示部分样式 */.card.active {height: 450px;transition-delay: 0;
}.card.active .user .toggle {background: #ff4383;color: #fff;
}.card.active .contact {height: 325px;
}.card.active .contact li {opacity: 1;transform: scale(1);transition-delay: calc(0.25s * var(--i));
}.card.active .contact:hover li {opacity: 0.15;filter: blur(2px);transition-delay: 0s;
}.card.active .contact li:hover {opacity: 1;filter: blur(0px);
}
完整代码下载
完整代码下载
查看全文
99%的人还看了
相似问题
- 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
- QT中样式表常见属性与颜色的设置与应用
- vue.js中使用三元运算符设置动态样式
- 修改el-radio-group样式,自定义单选组件
- el-popover和el-tooltip样式修改(普通的组件样式修改方法,对popover是不生效的)
- 禁止点击-样式及事件不可用
- css实现原生form表单label必填选项红色*样式,以及js控制必填校验
- duilib 实现登录界面 之 样式设计
- 用css实现原生form中radio单选框和input的hover已经focus的样式
- CSS---关于font文本属性设置样式总结
猜你感兴趣
版权申明
本文"用户社交信息交互卡片":http://eshow365.cn/6-27161-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: Maven入门与开箱即用
- 下一篇: 变异系数法:一种强大的数据离散度度量工具