/ Новости и уроки / Анимированная карточка товара на css

Анимированная карточка товара на css

144
Анимированная карточка товара на css

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

Разметка HTML

Давайте начнем с обычной разметки html. Для начало разберемся на что будет она делиться. Карточка будет делиться на два блока. Первый - название, описание и цена товара. Второй - картинка и при наведении будет появляться детальное описание товара. Также нам надо подключить font awesome.


  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">


<div id="container">	
	
    <div class="product-details">
      
    <h1>Biru Putaran</h1>

    <span class="hint-star star">
      <i class="fa fa-star" aria-hidden="true"></i>
      <i class="fa fa-star" aria-hidden="true"></i>
      <i class="fa fa-star" aria-hidden="true"></i>
      <i class="fa fa-star-half-o" aria-hidden="true"></i>
      <i class="fa fa-star-o" aria-hidden="true"></i>
    </span>
      
    
      <p class="information">" Особенно хорош для садоводства в контейнерах, Angelonia будет цвести все лето, даже если старые цветы будут удалены. Как только они станут достаточно высокими, чтобы разрезать их, принесите их внутрь, и вы заметите легкий запах, который, как говорят некоторые, напоминает яблоки. "</p>
  
      
      
  <div class="control">
    
    <button class="btn">
     <span class="price">49 $</span>
     <span class="shopping-cart"><i class="fa fa-shopping-cart" aria-hidden="true"></i></span>
     <span class="buy">Купить сейчас</span>
   </button>
    
  </div>
        
  </div>
    
    
  <div class="product-image">
    
    <img src="https://sc01.alicdn.com/kf/HTB1Cic9HFXXXXbZXpXXq6xXFXXX3/200006212/HTB1Cic9HFXXXXbZXpXXq6xXFXXX3.jpg" alt="Omar Dsoky">
    
  <div class="info">
    <h2>Описание</h2>
    <ul>
      <li><strong>Нужнда в Солнце: </strong>Полное</li>
      <li><strong>Нужнда в почве: </strong>Cырость</li>
      <li><strong>Зона: </strong>9 - 11</li>
      <li><strong>Высота: </strong>2 - 3 feet</li>
      <li><strong>Цветет в: </strong>Середина лета</li>
      <li><strong>Характеристики: </strong>Переносит жару</li>
    </ul>
  </div>
  </div>
  
  
  </div>

Css

Теперь приступаем к стилизации. В этом коде мы добавим позиционирование двум нашим блокам. Также, при наведении у нас будет появляться блок info.


@import url('https://fonts.googleapis.com/css?family=Abel|Aguafina+Script|Artifika|Athiti|Condiment|Dosis|Droid+Serif|Farsan|Gurajada|Josefin+Sans|Lato|Lora|Merriweather|Noto+Serif|Open+Sans+Condensed:300|Playfair+Display|Rasa|Sahitya|Share+Tech|Text+Me+One|Titillium+Web');

body {
background: #DFC2F2;
	background-image: linear-gradient( 135deg, #CE9FFC 10%, #7367F0 100%);
	background-attachment: fixed;	
	background-size: cover;
	}

#container{
	box-shadow: 0 15px 30px 1px rgba(128, 128, 128, 0.31);
	background: rgba(255, 255, 255, 0.90);
	text-align: center;
	border-radius: 5px;
	overflow: hidden;
	margin: 5em auto;
	height: 350px;
	width: 700px;
	
}



/* 	Product details  */
.product-details {
	position: relative;
	text-align: left;
	overflow: hidden;
	padding: 30px;
	height: 100%;
	float: left;
	width: 40%;

}

/* 	Product Name */
#container .product-details h1{
	font-family: 'Old Standard TT', serif;
	display: inline-block;
	position: relative;
	font-size: 34px;
	color: #344055;
	margin: 0;
	
}

#container .product-details h1:before{
  position: absolute;
content: '';
right: -4%;
top: 0%;
transform: translate(25px, -15px);
font-family: 'Farsan', cursive;
display: inline-block;
background: #FFA69E;
border-radius: 5px;
font-size: 11px;
padding: 5px;
color: #FFF;
margin: 0;
animation: chan-sh 6s ease infinite;

}


@keyframes chan-sh {
	from  {content: 'бесплатная доставка';}
	to  {content: 'Новый';}
	
}

/*Product Rating  */
.hint-star {
	display: inline-block;
	margin-left: 0.5em;
	color: gold;
	width: 50%;
}


/* The most important information about the product */
#container .product-details > p {
	font-family: 'Farsan', cursive;
	text-align: center;
	font-size: 15px;
	color: #7d7d7d;
	
}

/* control */

.control{
  position: absolute;
bottom: 19%;
left: 22.8%;
	
}
/* the Button */
.btn {
	transform: translateY(0px);
	transition: 0.3s linear;
	background: #49C608;
	border-radius: 5px;
  position: relative;
  overflow: hidden;
	cursor: pointer;
	outline: none;
	border: none;
	color: #eee;
	padding: 0;
	margin: 0;
	
}

.btn:hover{transform: translateY(-4px);}

.btn span {
  font-family: 'Farsan', cursive;
transition: transform 0.3s;
display: inline-block;
padding: 9px 20px;
font-size: 1.1em;
margin: -1px;
	
}
/* shopping cart icon */
.btn .price, .shopping-cart{
	background: #333;
	border: 0;
	margin: 0;
}

.btn .price {
	transform: translateX(-10%); padding-right: 15px;
}

/* the Icon */
.btn .shopping-cart {
	transform: translateX(-100%);
  position: absolute;
	background: #333;
	z-index: 1;
  left: 0;
  top: 1px;
}

/* buy */
.btn .buy {z-index: 3; font-weight: bolder;}

.btn:hover .price {transform: translateX(-110%);}

.btn:hover .shopping-cart {transform: translateX(0%);}



/* product image  */
.product-image {
	transition: all 0.3s ease-out;
	display: inline-block;
	position: relative;
	overflow: hidden;
	height: 100%;
	float: right;
	width: 50%;
	display: inline-block;
}

#container img {width: 100%;height: 100%;}

.info {
  background: rgba(27, 26, 26, 0.9);
font-family: 'Farsan', cursive;
transition: all 0.3s ease-out;
transform: translateX(-100%);
position: absolute;
line-height: 1.9;
text-align: left;
font-size: 105%;
cursor: no-drop;
color: #FFF;
height: 100%;
width: 100%;
left: 0;
top: 0;
}

.info h2 {text-align: center}
.product-image:hover .info{transform: translateX(0);}

.info ul li{transition: 0.3s ease;}
.info ul li:hover{transform: translateX(50px) scale(1.3);}

.product-image:hover img {transition: all 0.3s ease-out;}
.product-image:hover img {transform: scale(1.2, 1.2);}

На этом все. У нас получилась красивая и анимированная карточка товара на чистом css.