Пример:
Обратите внимание: каждое слово в заголовке располагается в отдельном столбце. Высота заголовка подстраивается под высоту контента карточки.
HTML:
Карточка:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<div class="atuinCard-col"> <div class="atuinCard"> <div class="atuinCard-left"> <div class="atuinCard-image"> <img src="photo.webp" alt="image"> </div> <div class="atuinCard-title">Заголовок карточки</div> </div> <div class="atuinCard-right"> <div class="atuinCard-content"> <p>Контент карточки</p> </div> <a class="atuinCard-btn" href="#link">Подробнее</a> </div> </div> </div> |
Сетка:
|
1 2 3 4 5 6 7 8 9 10 |
<div class="atuinCard-container"> <div class="atuinCard-col"> <!-- Карточка --> </div> <div class="atuinCard-col"> <!-- Карточка --> </div> <!-- ... --> <!-- Еще колонки --> </div> |
CSS:
Карточка:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
.atuinCard { background: white; border-radius: 10px; border: 4px solid #BFE2FF; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); height: 100%; display: flex; position: relative; } .atuinCard-left { background: #BFE2FF; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1), 0 12px 24px rgba(0, 0, 0, 0.05); border-radius: 8px; border: 3px solid #a1d5ff; margin: -20px 12px; transition: 0.3s ease; display: flex; flex-direction: column; align-items: center; } .atuinCard-image { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1), 0 12px 24px rgba(0, 0, 0, 0.05); width: 80px; flex: 0 0 80px; margin: -3px -3px 0; aspect-ratio: 1 / 1; border-radius: 8px 8px 0 0; overflow: hidden; } .atuinCard-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; will-change: transform; } .atuinCard-title { font-size: 13px; text-transform: uppercase; font-weight: 600; line-height: 1.8; color: #000; writing-mode: vertical-lr; text-orientation: upright; padding: 12px 0; transition: color 0.3s ease; inline-size: 20px; letter-spacing: -2px; } .atuinCard:hover .atuinCard-left { background: #337AB7; border-color: #337AB7; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2), 0 12px 24px rgba(0, 0, 0, 0.12); } .atuinCard:hover .atuinCard-image img { transform: scale(1.2); } .atuinCard:hover .atuinCard-title { color: #fff; } .atuinCard-right { display: flex; flex-direction: column; justify-content: space-between; padding: 14px 20px 14px 6px; } .atuinCard-content p { line-height: 1.3; font-size: 16px; margin-bottom: 10px; } .atuinCard-btn { position: relative; z-index: 1; margin: 4px 0 6px auto; font-size: 14px; font-weight: 600; background: #BFE2FF; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); border-radius: 8px; padding: 10px 26px; text-decoration: none; text-transform: uppercase; overflow: hidden; color: #000; transition: 0.5s; } .atuinCard-btn:before { content: ""; position: absolute; top: 0; left: 0; width: 150%; height: 100%; background: #a1d5ff; transform: skewX(45deg) translateX(-125%); transition: 0.5s; z-index:-1; } .atuinCard-btn:hover { color: #000; } .atuinCard-btn:hover:before { transform: skewX(0) translateX(-25%); } @media (min-width: 992px) { .atuinCard-image { width: 100px; flex: 0 0 100px; } .atuinCard-title { font-size: 16px; } .atuinCard-content p { font-size: 18px; } .atuinCard-btn { font-size: 15px; } } |
Сетка:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
.atuinCard-container { display: flex; flex-wrap: wrap; justify-content: center; margin: 10px -10px; } .atuinCard-container *, .atuinCard-container *::before, .atuinCard-container *::after { box-sizing: border-box; } .atuinCard-col { width: 100%; padding: 25px 10px; } @media (min-width: 576px) { .atuinCard-col { width: 100%; } } @media (min-width: 768px) { .atuinCard-col { width: 50%; } } @media (min-width: 992px) { .atuinCard-col { width: 50%; } } @media (min-width: 1200px) { .atuinCard-col { width: 33.33%; } } @media (min-width: 1400px) { .atuinCard-col { width: 33.33%; } } |

Добавить комментарий: