「青训营 X 码上掘金」主题创作活动之我的名片

71 阅读4分钟

当青训营遇上码上掘金

一、前言

本文为 「青训营 X 码上掘金」主题创作活动入营版 的征选文章,活动信息如下链接所示: juejin.cn/post/718775…

二、选题

本文选择的主题是:《主题 1:我的名片》,题目描述为:介绍自我的重要工具,作为一名程序员用代码做自我介绍是一件非常酷炫的事情。请大家围绕“我的名片”这个主题进行代码创作。

三、效果预览图

效果图.png

四、工程结构图

在项目文件夹中,有一个HTML文件,主要用来显示信息;一个CSS文件,是用来描述各个部分的样式格式;以及一个用于存储头像图片的文件夹。其工程结构图如下图所示:

工程结构图.png

五、创作思路

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,卡将如下所示:

无CSS.png

如果想把它变成漂亮一点的卡片,需要为卡片添加背景颜色,字体大小,位置等样式属性。代码如下所示:

.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;
}

现在,如下图所示,卡片上的头像大小已经正常了,但是卡片布局仍然不协调,不美观,需要做出进一步的修改。

修正的卡片.png

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;
}

增加代码后,卡片样式的效果如下图所示。

样式修改后.png

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;
}

修改后的图标外观样式如下。

修改后的图标样式.png

到这里,卡片样式就快完成了。最后,在脚注中添加一些简单的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;
}

修改完成后,我们得到了想要的卡片效果。

效果图.png

5.7 屏幕自适应

在实际中,我们用来查看网页的媒体设备多种多样,具体包括三大类设备,比如电脑、平板以及手机,为了保证网页在各个设备显示正常,我们还需进行一些设置,使得网页能根据屏幕大小进行自适应显示。下面是实现该功能的代码。

@media screen and (max-width: 575px) {
    .card {
        width: 96%;
    }

    .card .card-body {
        padding: 10px 20px;
    }
}

六、总结

通过此次卡片设计,我了解了前端的一些基本知识,包括HTML和CSS的知识,理解了代码和前端运行方式,收获很大。

参考文章链接

juejin.cn/post/719480…