Jump to content
  • 0

Вёрстка сетки товаров.


Ivan_A
 Share

Question

Здравствуйте. Я начинающий верстальщик сайтов, столкнулся с проблемой при вёрстке карточек товара.

Код карточки:

HTML

Скрытый текст

<div class="product-wrap">
	  <div class="product-item">
		    <img src="source/img/test.png">
		    <div class="product-buttons">
			      <a href="#" class="button">Купить</a>
			    </div>
		  </div>
	  <div class="product-title">
		    <a href="">Test</a>
		    <span class="product-price">₽ 100</span>
		  </div>
</div>

 

——————————————————————————-

CSS

Скрытый текст

* {
    box-sizing: border-box;
}

.product-wrap {
      position: absolute;
       
    width: 300px;
      margin: 0 auto;
      background: white;
      padding: 0 0 20px;
      text-align: center;
      font-size: 14px;
       
    font-family: Lora;
      text-transform: uppercase;
}

.product-item {
      position: relative;
      overflow: hidden;
}

.product-wrap img {
      display: block;
      width: 100%;
}

.product-buttons {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, .8);
      opacity: 0;
      transition: .3s ease-in-out;
}

.button {
       
    text-decoration: none;
      color: #c0a97a;
      font-size: 12px;
      width: 140px;
      height: 40px;
      line-height: 40px;
      position: absolute;
      top: 50%;
       
    left: 50%;
      border: 2px solid #c0a97a;
      transform: translate(-50%, -50%) scale(0);
      transition: .3s ease-in-out;
}

.button:before {
      font-family: FontAwesome;
      margin-right: 10px;
}

.product-item:hover .product-buttons {
    opacity: 1;
}

.product-item:hover .button {
    transform: translate(-50%, -50%) scale(1);
}

.button:hover {
    background: black;
}

.product-title {
    color: #5e5e5e;
}

.product-title a {
      text-decoration: none;
      color: #2e2e2e;
      font-weight: 600;
      margin: 15px 0 5px;
      padding-bottom: 7px;
      display: block;
      position: relative;
      transition: .3s ease-in-out;
}

.product-title a:after {
         
    content: "";
      position: absolute;
      width: 40px;
      height: 2px;
      background: #2e2e2e;
      left: 50%;
      margin-left: -20px;
      bottom: 0;
      transition: .3s ease-in-out;
}

.product-title a:hover {
    color: #c0a97a;
}

.product-title:hover a:after {
    background: #c0a97a;
}

.product-price {
      font-size: 20px;
      color: #c0a97a;
      font-weight: 700;
}

 

—————————————————

У меня получается карточка.  (скриншот прикреплён)

Хотелось бы узнать как мне сделать так, чтобы следующая шла с право от неё. Если просто скопировать HTML код, то она остаётся на месте.

И как мне сделать так, чтобы когда место справа не осталось, карточка переместилась на следующий ряд.

ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!

Screenshot.png

Edited by klierik
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Mondeus
      Доброго всем времени суток. Прошу помощи. Научите принципу изменения футера. Движок Xenforo. Версия 2.2.10. Стиль дефолтный. Что именно нужно в итоге на фото примере. Мой шаблон app.footer less имеет следующее значение. 
      .p-footer { .xf-publicFooter(); a { .xf-publicFooterLink(); } } .p-footer-inner { .m-pageWidth(); .m-pageInset(); padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingLarge; } .p-footer-row { .m-clearFix(); margin-bottom: -@xf-paddingLarge; } .p-footer-row-main { float: left; margin-bottom: @xf-paddingLarge; } .p-footer-row-opposite { float: right; margin-bottom: @xf-paddingLarge; } .p-footer-linkList { .m-listPlain(); .m-clearFix(); > li { float: left; margin-right: .5em; &:last-child { margin-right: 0; } a { padding: 2px 4px; border-radius: @xf-borderRadiusSmall; &:hover { text-decoration: none; background-color: fade(@xf-publicFooterLink--color, 10%); } } } } .p-footer-rssLink { > span { position: relative; top: -1px; display: inline-block; width: 1.44em; height: 1.44em; line-height: 1.44em; text-align: center; font-size: .8em; background-color: #4682B4; border-radius: 2px; } .fa-rss { color: white; } } .p-footer-copyright { margin-top: @xf-elementSpacer; text-align: center; font-size: @xf-fontSizeSmallest; } .p-footer-debug { margin-top: @xf-paddingLarge; text-align: right; font-size: @xf-fontSizeSmallest; .pairs > dt { color: inherit; } } @media (max-width: @xf-responsiveMedium) { .p-footer-row-main, .p-footer-row-opposite { float: none; } .p-footer-copyright { text-align: left; padding: 0 4px; // aligns with other links } }  

    • By Reergar
      Добрый день, облазил много сайтов но ничего подобного пока что не нашел. Мне хотя бы ссылку на какой то источник, где я могу найти как настроить именно такую систему.
      Меня интересует: есть два пользователя и владелец сайта(я). Один из владельцев пополняет  своей банковской картой(или платежной системой свой личный  счет на моем сайте. За эти деньги он может купить   что то у другого пользователя. Но при этой транзакции берется комиссия (которая идет на мой счет).
      Результат. Первый пользователь, оплатил покупку у другого, второй получил сумму после вычета комиссии. Я получил комиссию.
    • By Reergar
      Подскажите, можно ли через такую команду скачать не весь сайт, а указать которые не нужно(или еще какой способ). При скачивании сайта на котором тысячи аккаунтов и каждый что то пишет и выставляет(в моем случае книги) делает НЕРЕАЛЬНОЕ для скачивания количество фалов. А мне к примеру нужно пару книг всего-то , да и пользователи мне не нужны...  Есть какой то выход? 
    • By Mix9
      есть див с 5 img, при уменьшении экрана див выходит за него. Я добавил overflow: auto для этого div в надежде на то, что я смогу прокручивать фотки с помощью скроллбара, однако даже с ним почему-то я не вижу часть фоток которые вышли за границу. Что с этим можно сделать? класс video повторяется 5 раз, я тут оставил только 1 
      .content{ width: 90%; background-color: #333; } .video{ margin: 0px 4px 0px 4px; width: 310; display: flex; flex-direction:column; } .video_button_text{ margin-top: 10px; display: flex; flex-direction: row; font-size: 20px; color: white; } .video_text_div{ display: inline-block; width: 250px; } .video_text{ text-align: justify-all; margin: 0px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .slidan_videos{ margin: 0px 10px 0px 20px; overflow: auto; width: auto; margin-bottom: 50px; display: flex; flex-direction: row; justify-content: space-around; } <div class="content"> <div class = slidan_videos> <div class = video> <div> <a href = 'ссылка'><img class="img" src=""картинка"></a> </div> <div class = video_button_text> <div class = avatarka_div> <a href="ссылка" target="_blank"><img class = avatarka src="картинка"></a> </div> <div class = video_text_div> <p class = video_text><a href="ссылка">текст</a></p> </div> </div> </div>
    • By Andy_Code
      Здравствуйте! Проблема заключается в следующем: есть стартовый шаблон от "Фрилансера по жизни" версии 2021 года, открываю в VSCode, ввожу в терминале npm i затем gulp, все срабатывает как и должно, создается папка с результатом, начинаю прописывать стили для header, задаю ограничивающий контейнер и при проверке работоспособности данного контейнера выясняется, что стили, прописанные мной перекрывают стили медиа-запросов, прописанных в шаблоне и по итогу адаптив не работает, получается что итоговый css собирается в не правильном порядке! Подскажите, пожалуйста, как подобную проблему можно исправить?)
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy