JSFiddle - React, Tailwind, and code Playground
by Константин Дралюк
HTML
<div class="item">
<div class="item__preview">
<img class="item__image" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRTI8mbdGpOrnapXYwwYj9k-ffkiAmqH0bpBA&s" alt=""/>
</div>
<div class="item__caption">
<div class="item__meta">
<div class="item__collection">💞 Love & Relationships</div>
</div>
<div class="item__title">Consectetur adipisicing elit debitis rerum!</div>
<div class="item__actions">
<div class="item__action btn">Get Reading ➜</div>
</div>
<div class="item__description">
2 cards | easy
</div>
</div>
</div>
SCSS
* {
box-sizing: border-box;
}
html {
line-height: 1.1;
font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
font-size: 10px;
background: #1a0d52;
}
body {
font-size: 1.6rem;
}
.item {
width: 25rem;
border: 1px solid;
background: linear-gradient(to top,#c8d1fd,#f9faff);
border-radius: .6rem;
overflow: hidden;
text-align: center;
&__preview {
width: 100%;
height: 15rem;
position: relative;
}
&__collection {
text-align: center;
display: block;
width: 100%;
}
&__image {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
&__caption {
padding: 1rem;
color: #656086;
display: flex;
flex-direction: column;
gap: .6rem;
}
&__meta {
display: flex;
justify-content: space-between;
font-size: 1.3rem;
gap: 1rem;
}
&__title {
font-size: 1.8rem;
font-weight: 600;
color: #4f44b0;
}
&__description {
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-inline-box;
}
&__actions {
display: flex;
}
&__action {
background: #000;
width: 100%;
text-align: center;
}
}
.btn {
padding: 1rem 1.5rem;
border-radius: 1rem;
color: #eeefff;
background: #6341fa;
box-shadow: 0 0 2rem #0c08300d,inset 0 1rem 2.5rem 1rem #8025ef;
font-size: 1.4rem;
transition: .3s ease,font-size 0s;
display: inline-block;
border: none;
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
outline: 1px solid rgba(238,239,255,.2);
outline-offset: .3rem
}
.btn:hover {
background: #8025ef;
box-shadow: 0 0 2rem #0c08301a,inset 0 1rem 3rem 1rem #da10ff80
}