Как сделать эффект наведения карты профиля с помощью CSS?

Опубликовано: 22 Августа, 2022

Почти все мы, должно быть, слышали, что «первое впечатление — это последнее впечатление». Карточка профиля содержит самые важные детали, которые мы должны знать о человеке в самый первый момент. Лучшее впечатление привлекает больше трафика. Поэтому, чтобы привлечь больше аудитории к веб-сайту, очень важно сосредоточиться на разработке каждой его маленькой части. Карточка профиля является одним из них.

В этой статье мы узнаем, как создать эффект наведения карты профиля с помощью CSS.

Подход:

  • Сначала мы создаем базовый HTML-шаблон (index.html) для вставки изображения и профиля.
  • У нас есть HTML-элемент div с классом «карточка». Внутри div у нас есть изображение с классом «img-box», а также имя профиля и обозначение владельца учетной записи с классом «info».
  • Используется это изображение карточки профиля.
  • Мы включаем «style.css» в файл «index.html», который содержит все стили CSS.
  • Нам нужно импортировать следующий URL-адрес шрифта Google в наш файл CSS для семейства шрифтов: «Merriweather», serif ;
@import url("https://fonts.googleapis.com/css2?family=Merriweather:wght@700&display=swap");

Пример: Изображение переместится вверх и появится имя профиля с обозначением. Также есть кнопка для связи с пользователем.

HTML




<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Profile Card</title>
        <meta name="viewport" 
             content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <div class="card">
            <div class="img-box">
                <img src=
                alt="profile pic">
            </div>
            <div class="info">
                <h2>Profile Card</h2>
                <p>Web Designer | Influencer</p>
  
                <button>Contact Me</button>
            </div>
        </div>
    </body>
</html>

Код CSS: следующий код CSS (style.css) добавит эффект наведения на эту карточку профиля. Следующий код используется в приведенном выше HTML-файле.

style.css




  
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
body{
      height: 100vh;
      background: rgb(11, 80, 136);
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: "Merriweather", serif;
}
  
/* Profile card making starts here */
.card{
    width: 320px;
    height: 400px;
    background-color: white;
    border-radius: 8px;
    position: relative;
}
  
/* Contains the image */
.img-box{
      position: absolute;
      top: 10px;
      bottom: 10px;
      right: 10px;
      left: 10px;
      background-color: white;
      transition: 0.5s;
      z-index: 2;
        
}
  
/* The image dimensions changes on hover and the
   underlaying information shows up*/
.card:hover .img-box {
    top: 10px;
    bottom: 125px;
    right: 10px;
    left: 10px;
  }
  
/* Image radius changes on hover*/
.card:hover img{
    border-radius: 10px;
}
  
/* The image */
img{
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
}
  
/* Contains the name, designation and a button to contact */
.info{
      position: absolute;
      bottom: 40px;
      right: 10px;
      left: 10px;
      text-align: center;
      height: 80px;
}
  
/* Style the name*/
h2 {
    font-weight: bold;
    color: rgb(51, 50, 50);
  }
    
/* Style the paragraph which contains the designation */
p {
    color: rgb(197, 74, 111);
  }
  
/* The button to contact */
button{
    position: absolute;
    background-color: rgb(11, 80, 136);
    border: none;
    border-radius: 10px;
    text-align: center;
    left: 75px;
    margin: 8px;
    font-size: 20px;
    padding: 10px 15px;
    color: wheat;
    font-family: "Merriweather", serif;
    cursor: pointer;
}

Вывод: теперь, как вы можете видеть в выводе, мы создали красивый эффект наведения на карточку профиля, который привлечет больше читателей, чтобы они больше читали содержание определенных писателей/влиятельных лиц на специальной веб-странице.