Hello, guys in this tutorial we will create a simple profile card design using HTML & CSS.
If you like the video tutorial, be sure to like the video and comment on it so I can encourage you to create new designs
.
HTML Code:
<div class="profile-card-1">
<!--image-->
<div class="img">
<img src="modi.jpg"/>
</div>
<a class="view-more" href="">
<i class="fa fa-plus-circle"></i>
</a>
<!--text-->
<div class="mid-section">
<div class="name">Narendra Modi</div>
<div class="description">Current Prime Minister of <a href="#">India</a></div>
<div class="line"></div>
<div class="stats">
<div class="stat">53.4M
<div class="subtext">Followers</div>
</div>
<div class="stat">324K
<div class="subtext">Liks</div>
</div>
<div class="stat">236K
<div class="subtext">Shares</div>
</div>
</div>
</div>
<!--social icons-->
<div class="links">
<a class="fb" href="">
<i class="fa fa-facebook-f" aria-hidden="true"></i>
</a>
<a class="twitter" href="">
<i class="fa fa-twitter" aria-hidden="true"></i>
</a>
<a class="follow" href="">
<i class="fa fa-rocket" aria-hidden="true"></i>
</a>
</div>
</div>
CSS Code:
body{
background-color: #f2f2f2;
font-family: "Ubuntu",sans-serif;
}
.profile-card-1{
width: 300px;
height: 390px;
background: white;
margin: 0 auto;
border-radius: 10px;
text-align: center;
box-shadow: 4px 4px 10px #999;
position: relative;
box-sizing: border-box;
overflow: hidden;
}
.profile-card-1 .img img{
width: 160px;
height: 160px;
padding: 3px;
border-radius: 50%;
border: 3px solid rgba(255,255,255,0.6);
position: absolute;
left: calc(50% - 84px);
top: 26px;
}
.profile-card-1 .img {
height: 130px;
width: 100%;
background-image: linear-gradient(rgba(46,204,113,0.4), rgba(46,204,113,0.95)), url("bac.jpg");
padding: 20px;
box-sizing: border-box;
position: relative;
}
.profile-card-1 .mid-section{
position: absolute;
height: 200px;
width: 100%;
top: 200px;
left: 0;
padding: 10px 20px 0;
box-sizing: border-box;
background: white;
}
.profile-card-1 .mid-section .name{
color: #333333;
font-size: 1.4em;
padding-top: 5px;
background: rgba(255,255,255,0.1);
font-weight: bold;
}
.profile-card-1 .mid-section .description{
color: gray;
text-decoration: none;
font-size: 0.9em;
}
.profile-card-1 .mid-section .description a{
color: inherit;
text-decoration: none;
font-weight: bold;
}
.profile-card-1 .mid-section .line{
background: #7ee2a8;
width: 80%;
height: 2px;
margin: 5px auto -3px;
}
.profile-card-1 .mid-section .stats{
display: flex;
position: absolute;
left: 10%;
padding-top: 10px;
width: 80%;
justify-content: space-around;
}
.profile-card-1 .mid-section .stats .stat{
font-size: 1.3em;
color: #333333;
padding: 5px;
font-weight: bold;
}
.profile-card-1 .mid-section .stats .stat .subtext{
color: gray;
font-size: 0.6em;
font-weight: normal;
}
.profile-card-1 .links .fb{
position: absolute;
left: 0;
width: 25%;
height: 100%;
background-color: #3b5998;
}
.profile-card-1 .links .fb:hover{
background-color: #2162db;
}
.profile-card-1 .links{
width: 100%;
height: 50px;
background: #f2f2f2;
border-top: 1px solid #44d581;
margin-top: 35px;
border-radius: 5px;
color: white;
font-size: 2em;
line-height: 1.5em;
position: absolute;
bottom: 0;
}
.profile-card-1 .links a{
color: white;
}
.profile-card-1 .links .twitter{
position: absolute;
left: 25%;
width: 25%;
height: 100%;
background-color: #55acee;
}
.profile-card-1 .links .twitter:hover{
background-color: #50dcff;
}
.profile-card-1 .links .follow {
position: absolute;
left: 50%;
width: 50%;
height: 100%;
background-color: #2ecc71;
}
.profile-card-1 .links .follow:hover{
background-color: #03cc57;
}
/* image after effect */
.profile-card-1 .img::after{
content: "";
position: absolute;
width: 180px;
height: 180px;
border-radius: 50%;
left:calc(50% - 91.5px);
top: 20px;
border: 3px solid rgba(255,255,255,0.4);
}
/* image before effect */
.profile-card-1 .img::before{
content: "";
position: absolute;
width: 190px;
height: 190px;
border-radius: 50%;
left: calc(50% - 95px);
top: 15.5px;
border: 2px solid rgba(255,255,255,0.2);
}
.profile-card-1 .view-more{
position: absolute;
top: calc(50% - 0.5em);
left: calc(50% - 0.5em);
z-index: 2;
font-size: 2em;
color: #2ecc71;
}
.profile-card-1 .view-more .fa-plus-circle{
position: absolute;
background: white;
border-radius: 50%;
width: 1.004em;
}
Top comments (5)
Good work, but on quick view you have some unnecessary elements.
in .profile-card-1 .links you have defined
background: #f2f2f2; -> not needed you are overlapping color with anchor
border-top: 1px solid #44d581; -> not need because visualy is not different
margin-top: 35px; -> not needed because you use position absolute and height
border-radius: 5px; -> not needed
color: #de2121; -> not needed
Thanks for pointing out my mistakes and guiding me
Very good work!
Looks great 🙌. But why you didn't use flexbox for links too... and i can see so many CSS position properties. Is that a good or bad practice?
You're right I'm using a lot of CSS code here. Since it is a basic design, I am using proper CSS code to better understand it
NB: There is a lot of CSS code to use some animations and effects