当青训营遇上码上掘金
一、前言
本文为 「青训营 X 码上掘金」主题创作活动入营版 的征选文章,活动信息如下链接所示: juejin.cn/post/718775…
二、选题
本文选择的主题是:《主题 1:我的名片》,题目描述为:介绍自我的重要工具,作为一名程序员用代码做自我介绍是一件非常酷炫的事情。请大家围绕“我的名片”这个主题进行代码创作。
三、效果预览图
四、工程结构图
在项目文件夹中,有一个HTML文件,主要用来显示信息;一个CSS文件,是用来描述各个部分的样式格式;以及一个用于存储头像图片的文件夹。其工程结构图如下图所示:
五、创作思路
5.1 HTML
首先,我们应当完成基本html结构的建立。下面是我们的HTML代码,它描述了卡片的主要信息。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/>
<link rel="stylesheet" href="style.css">
<title>My Personal Card</title>
</head>
<body>
<div class="card">
<div class="card-header">
<img src="img/profile-image-placeholder.jpg" alt="Profile Image" class="profile-img">
</div>
<div class="card-body">
<p class="name">Wyn Jones</p>
<a href="#" class="mail">wynjones@gmail.com</a>
<p class="job">Developer | Technical Art</p>
</div>
<div class="social-links">
<a href="#" class="fab fa-github social-icon"></a>
<a href="#" class="fab fa-twitter social-icon"></a>
<a href="#" class="fab fa-youtube social-icon"></a>
<a href="#" class="fab fa-linkedin social-icon"></a>
</div>
<div class="card-footer">
<p class="count"><span>100k</span> Followers | <span>21k</span> Following</p>
</div>
</div>
</body>
</html>
我们需要将添加style.css到index.html。此外,我们还需要链接社交图标。 接下来,我们需要为卡片添加CSS样式。从现在开始,我们将使用该style.css文件。
5.2 CSS
首先,添加一些基本样式,这些样式将被应用于卡片的所有部分。
* {
margin: 0;
padding: 0;
box-sizing: border-box;
text-decoration: none;
transition: 0.3s;
}
body {
font-family: "Montserrat";
background-color: #b8b6b6;
color: #fdfdfd;
}
没有CSS,卡将如下所示:
如果想把它变成漂亮一点的卡片,需要为卡片添加背景颜色,字体大小,位置等样式属性。代码如下所示:
.card {
max-width: 250px;
margin: 150px auto 0;
background-color: #26506a;
box-shadow: 0 10px 90px #00000024;
text-align: center;
font-size: 20px;
border-radius: 15px;
}
.card .card-header {
position: relative;
height: 48px;
}
5.3 个人介绍图片
然后,我们给个人头像添加样式,并制作了一些简单的悬停效果。
.card .card-header .profile-img {
width: 130px;
height: 130px;
border-radius: 1000px;
position: absolute;
left: 50%;
transform: translate(-50%, -50%);
border: 8px solid #3030aa;
box-shadow: 0 0 20px #00000033;
}
.card .card-header .profile-img:hover {
width: 180px;
height: 180px;
border: 8px solid #cea860;
}
现在,如下图所示,卡片上的头像大小已经正常了,但是卡片布局仍然不协调,不美观,需要做出进一步的修改。
5.4 卡片布局设计
该card-body内容包含姓名,电子邮件和职业信息。我们将为每个属性添加不同的样式以及为部分样式制作悬停效果。
.card .card-body {
padding: 10px 40px;
}
.card .card-body .name {
margin-top: 30px;
font-size: 22px;
font-weight: bold;
color: #22b7bf;
}
.card .card-body .name:hover {
margin-top: 30px;
font-size: 24px;
color: #3cad76;
}
.card .card-body .mail {
font-size: 14px;
color: #c2bdbd;
}
.card .card-body .mail:hover {
font-size: 16px;
color: #ffffff;
}
.card .card-body .job {
margin-top: 10px;
font-size: 14px;
}
增加代码后,卡片样式的效果如下图所示。
5.5 图标样式的修改
使用CSS修改一下图标样式,实现更加个性化的显示效果
.card .social-links {
display: flex;
justify-content: center;
align-items: center;
margin-top: 30px;
}
.card .social-links .social-icon {
display: inline-flex;
align-items: center;
justify-content: center;
height: 40px;
width: 40px;
background-color: #2f7c36;
color: #ffffff;
font-size: 20px;
border-radius: 100%;
text-decoration: none;
margin: 0 13px 30px 0;
}
.card .social-links .social-icon:last-child {
margin-right: 0;
}
.card .social-links .social-icon:hover {
background-color: #d885af;
height: 50px;
width: 50px;
text-decoration: none;
}
修改后的图标外观样式如下。
到这里,卡片样式就快完成了。最后,在脚注中添加一些简单的CSS,就基本实现卡片的效果了。
5.6 添加页脚
对card-footer做一些小部分更改。
.card .card-footer {
background-color: #7f2a55;
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
padding: 20px 0 20px 0;
}
.card .card-footer .count {
font-size: 14px;
}
修改完成后,我们得到了想要的卡片效果。
5.7 屏幕自适应
在实际中,我们用来查看网页的媒体设备多种多样,具体包括三大类设备,比如电脑、平板以及手机,为了保证网页在各个设备显示正常,我们还需进行一些设置,使得网页能根据屏幕大小进行自适应显示。下面是实现该功能的代码。
@media screen and (max-width: 575px) {
.card {
width: 96%;
}
.card .card-body {
padding: 10px 20px;
}
}
六、总结
通过此次卡片设计,我了解了前端的一些基本知识,包括HTML和CSS的知识,理解了代码和前端运行方式,收获很大。