首页 > 其他分享 >CSS动画(个人资料卡片)

CSS动画(个人资料卡片)

时间:2024-06-18 21:33:56浏览次数:19  
标签:动画 rotate 个人资料 color transform background margin CSS

1.整体效果

https://mmbiz.qpic.cn/sz_mmbiz_gif/EGZdlrTDJa63Oz8IaRI51Mw7mY02LHmnpXicG4icA3ERN1MVszMdNafsgV3xaVHLhMA6avquSJux4CLV8uggtfbw/640?wx_fmt=gif&from=appmsg&wxfrom=13

今天呈现的不仅是一个个人介绍界面,而是一次交互式的视觉体验。精心编排的HTML与CSS赋予了页面动感与美感,动画效果让每个元素都鲜活起来,吸引着访客的目光。
更进一步,JavaScript的加入让这个界面变得生动,响应每一次点击,带来意想不到的动画变化。

2.完整代码

HTML

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>个人页面</title>  
    <link rel="stylesheet" type="text/css" href="6_18.css">  
</head>  
  
<body>  
<div class="profile-container">  
    <img src="https://q1.itc.cn/q_70/images03/20240609/1c1be14298be4dbe978e55bde6e958b0.jpeg" alt="头像" class="avatar">  
    <h1>shichengfu</h1>  
    <p>你好!我是前端开发新手,正在学习HTML和CSS。</p>  
    <div class="social-links">  
        <a href="#" target="_blank">GitHub</a>  
        <a href="#" target="_blank">Twitter</a>  
    </div>  
  
</div>  
<script rel="6_18,js"></script>  
</body>  
</html>

CSS

body {  
    font-family: Arial, sans-serif;  
    background-color: #f4f4f4;  
    margin: 0;  
    display: flex;  
    justify-content: center;  
    align-items: center;  
    height: 100vh;  
    animation: backgroundFade 10s infinite alternate;  
}  
  
@keyframes backgroundFade {  
    0% { background-color: #f4f4f4; }  
    100% { background-color: #d4e6f1; }  
}  
  
.profile-container {  
    background-color: white;  
    padding: 20px;  
    border-radius: 10px;  
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);  
    text-align: center;  
    max-width: 400px;  
    width: 100%;  
    transform: scale(0.9);  
    transition: transform 0.3s;  
}  
  
.hasClicked{  
    border:1px solid orange  
}  
  
.profile-container:hover {  
    transform: scale(1);  
}  
  
.avatar {  
    width: 100px;  
    height: 100px;  
    border-radius: 50%;  
    margin-bottom: 20px;  
    animation: rotate 4s linear infinite;  
}  
  
@keyframes rotate {  
    0% { transform: rotate(0deg); }  
    100% { transform: rotate(360deg); }  
}  
  
h1 {  
    font-size: 24px;  
    margin: 0 0 10px;  
}  
  
p {  
    color: #666;  
    margin: 0 0 20px;  
}  
  
.social-links a {  
    display: inline-block;  
    margin: 0 10px;  
    color: #3498db;  
    text-decoration: none;  
    position: relative;  
    transition: color 0.3s;  
}  
  
.social-links a::after {  
    content: '';  
    display: block;  
    width: 100%;  
    height: 2px;  
    background-color: #3498db;  
    position: absolute;  
    left: 0;  
    bottom: -5px;  
    transform: scaleX(0);  
    transition: transform 0.3s;  
}  
  
.social-links a:hover {  
    color: #2980b9;  
}  
  
.social-links a:hover::after {  
    transform: scaleX(1);  
}

JavaScript

/**  
 * 当文档加载完成时,添加事件监听器以实现个人资料容器的点击交互效果。  
 * 此函数等待文档完全加载后执行,确保所选元素已经存在于DOM中。  
 */  
document.addEventListener("DOMContentLoaded", function() {  
    // 选择页面中个人资料容器的元素,为后续的交互逻辑做准备。  
    const profileContainer = document.querySelector('.profile-container');  
  
    /**  
     * 为个人资料容器添加点击事件监听器。  
     * 当元素被点击时,切换其上的 'clicked' 类,以实现展开或收起的效果。  
     */  
    profileContainer.addEventListener('click', function() {  
        // 切换 'clicked' 类,实现个人资料容器的展开和收起交互。  
        profileContainer.classList.toggle('hasClicked');  
    });  
});

标签:动画,rotate,个人资料,color,transform,background,margin,CSS
From: https://blog.csdn.net/2303_82176667/article/details/139783723

相关文章

  • ​b站视频演示效果:【web前端特效源码】使用HTML5+CSS3+JavaScript十分钟快速制作一个
    b站视频演示效果:【网页设计期末大作业源代码】使用HTML5+CSS3+JavaScript十分钟快速制作一个简约大气卡通动漫静态网站|自制超简单的卡通类网页,响应式自适应新手友效果图:完整代码:<!DOCTYPEhtml><html><head><title>Home</title><metaname="viewpor......
  • 微信小程序使用PAG动画
    uniapp开发微信小程序播放PAG动画准备工作pag动画文件网络地址uni插件市场搜索pag(腾讯pag)安装导入插件到项目中安装插件中的依赖npminstalllibpag-miniprogram--save注意事项:如果小程序控制台报错提示未加载wasm,请把node_modules/libpag-miniprogram/lib/libpa......
  • CSS学习笔记
    一、盒子模型1.简介盒子模型是网页布局的基础,将页面中所有元素都看作是一个盒子,盒子都包含以下几个属性:width宽度height高度border边框padding内边距margin外边距2.盒子模型2.1border表示盒子的边框分为四个方向:上top、右right、下bottom、左leftborder-top......
  • js+css元素动态出现,前端让元素从底部动态显现,前端让元素从底部跳跃显示
    实现效果实现原理一点也不复杂,耐心看完,思路理解后直接复制粘贴即可使用1.为想要动态出现的元素添加指定class类名,我这里用(animate-element)2.监听屏幕滚动,屏幕滚动时,如果屏幕高度减去元素顶部相对于屏幕的位置大于0的话,说明已经滚动到当前元素,然后给这个元素添加c......
  • JQuery高级29_动画&遍历1
    一、动画三种方式显示和隐藏元素1、默认显示和隐藏方式 1.show([speed,[easing],[fn]]) 参数:   1.speed:动画的速度。三个预定义的值("slow","normal","fast")或表示动画时长的毫秒数值(如:1000)   2.easing:......
  • Character Animator 2024 mac/win版:赋予角色生命,动画更传神
    CharacterAnimator2024是一款强大的角色动画制作软件,以其创新的功能和卓越的性能,为动画师、游戏开发者以及设计师们带来了全新的创作体验。CharacterAnimator2024mac/win版获取 这款软件采用了先进的骨骼绑定技术,使得角色动画的制作变得更为轻松和精准。用户可以轻松地......
  • HTML5期末考核大作业——学生网页设计作业源码HTML+CSS+JavaScript 中华美德6页面带音
    ......
  • HTML+CSS个人静态网页设计
    ......
  • JS 前端动态引用 js 、 css 文件
    JS前端动态引用js、css文件 letjsArrPath=['/web_config_other.js','/web_point.js']letcssArrPath=[]consthead=document.getElementsByTagName("head")[0];jsArrPath.forEach(jsPath=>{letscriptElement=document......
  • django学习入门系列之第三点《快速了解 CSS》
    文章目录CSS快速了解CSS应用方式在标签上在head标签中写到文件中问题:用Flask框架开发不方便往期回顾CSSCSS专门用来"美化"标签基础CSS,写简单的界面&能看懂&会改就行模块,调整和修改快速了解style这种就叫css样式<imgsrc"..."style="height:100px"/><d......