欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

用户社交信息交互卡片怎么写,用户交互行为

终极管理员 知识笔记 51阅读
效果展示 CSS 知识点 CSS 基础知识回顾transition-delay 属性的运用 整体页面布局实现
<div classcard>  <div classuser>    <div classimg_box>      <img srcbg.jpg />    </div>    <div classcontent>      <h2>        Someone Famous        <br />        <span>Product Designer</span>      </h2>    </div>    <span classtoggle></span>  </div>  <ul classcontact>    <li style--clr: #c71610;--i:0>      <a href#>        <div classicon_box>          <i classfa-solid fa-envelope></i>        </div>        <p>someoneemail.com</p>      </a>    </li>    <li style--clr: #171515;--i:1>      <a href#>        <div classicon_box>          <i classfa-brands fa-weixin></i>        </div>        <p>18372876781</p>      </a>    </li>    <li style--clr: #0a66c2;--i:2>      <a href#>        <div classicon_box>          <i classfa-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);}
完整代码下载

完整代码下载

标签:
声明:无特别说明,转载请标明本文来源!