순수한 HTML, CSS를 사용하여 완전히 반응하는 제품 카드를 만드는 방법.
23656 단어 webdevcssjavascripthtml
데모를 보거나 코딩 자습서를 원합니다. 아래에서 튜토리얼을 볼 수 있습니다.
비디오 튜토리얼
I appreciate if you can support me by subscribing my youtube channel.
따라서 더 이상 시간을 낭비하지 않고 이를 코딩하는 방법을 살펴보겠습니다.
암호
이 프로젝트에는 index.html
및 style.css
파일만 있습니다. 그리고 img
폴더에는 3개의 이미지가 포함되어 있으며 here에서 다운로드할 수 있습니다.
이제 코딩을 시작하겠습니다.
기본 HTML5 구조 및 링크style.css
파일을 페이지에 작성하여 시작하십시오. 그런 다음 이와 같은 제품 카드 구조를 만듭니다.
<div class="product">
<div class="product-img">
<img src="img/bag.png" alt="">
<span class="tag">new</span>
</div>
<div class="product-listing">
</div>
</div>
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@600&family=Roboto:wght@300;400;500;700;900&display=swap');
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body{
width: 100%;
min-height: 100vh;
position: relative;
display: flex;
justify-content: center;
align-items: center;
background: #966e4f;
font-family: 'roboto', sans-serif;
}
body::before{
content: '';
position: absolute;
left: 0%;
transform: translateX(-50%) skewX(-15deg);
width: 20px;
height: 100%;
background: #966e4f;
border-left: 60px solid #eae3d2;
border-right: 30px solid #eae3d2;
opacity: 0;
animation: slide-in 2s 1.5s forwards 1;
}
@keyframes slide-in{
100%{
opacity: 1;
left: 50%;
}
}
.product{
position: relative;
width: 1000px;
min-width: 350px;
min-height: 500px;
height: auto;
display: flex;
justify-content: center;
align-items: center;
}
.product-img{
width: 40%;
height: 500px;
background: #fff;
position: relative;
opacity: 0;
transform: translateY(-50px);
animation: fade-in 1s forwards 1;
}
.product-img img{
width: 100%;
height: 100%;
object-fit: contain;
user-select: none;
}
.tag{
position: absolute;
top: 20px;
left: -10px;
transform-origin: left;
opacity: 0;
transform: rotate(-90deg);
text-transform: capitalize;
color: #eae3d2;
padding: 5px 10px;
width: 100px;
font-size: 18px;
text-align: center;
background: #292929;
user-select: none;
animation: tag .5s 1s forwards 1;
}
@keyframes tag{
100%{
opacity: 1;
transform: rotate(-20deg);
}
}
.product-listing{
width: 60%;
min-height: 500px;
height: auto;
background: #292929;
padding: 40px;
display: flex;
justify-content: center;
color: #eae3d2;
opacity: 0;
transform: translateY(50px);
animation: fade-in 1s forwards 1;
}
@keyframes fade-in{
100%{
opacity: 1;
transform: translateY(0);
}
}
산출
Great Now는 제품 정보 요소를 만듭니다.
<div class="product-listing">
<div class="content">
<h1 class="name">leather bag</h1>
<p class="info">Lorem ipsum dolor sit amet consectetur adipisicing elit. Doloremque laborum optio natus quibusdam ea nam odit vitae id unde officia.</p>
<p class="price">$ 299</p>
<div class="btn-and-rating-box">
<div class="rating">
<img src="img/star.png" alt="">
<img src="img/star.png" alt="">
<img src="img/star.png" alt="">
<img src="img/star.png" alt="">
<img src="img/star stroke.png" alt="">
</div>
<button class="btn">buy now</button>
</div>
</div>
</div>
.name{
font-family: 'dosis';
font-size: 70px;
text-transform: capitalize;
}
.info{
font-size: 18px;
line-height: 30px;
margin: 50px 0;
}
.price{
font-size: 70px;
font-weight: 100;
margin-bottom: 20px;
}
.btn-and-rating-box{
width: 100%;
display: flex;
justify-content: space-between;
}
.rating{
width: fit-content;
display: flex;
justify-content: center;
align-items: center;
}
.rating img{
width: 20px;
height: 20px;
margin: 0 2px;
}
.btn{
background: #eae3d2;
color: #292929;
border: none;
text-transform: capitalize;
font-size: 16px;
padding: 10px 20px;
cursor: pointer;
}
.btn:hover{
background-color: #eedbaf;
}
산출
제품 카드가 완성되었습니다. 이제 반응형으로 만들어 봅시다.
@media (max-width: 1100px){
body::before{
transform: translateX(-50%) skewX(-5deg);
}
.product{
flex-direction: column;
width: 90%;
margin: 5vh 0;
}
.product-img{
width: 100%;
height: 300px;
}
.product-listing{
width: 100%;
min-height: auto;
}
.name,.price{
font-size: 50px;
}
.info{
font: 16px;
}
}
산출
그게 다야. 나는 당신이 하나하나 모든 것을 이해하기를 바랍니다. 의심스럽거나 내가 놓친 것이 있으면 의견에 알려주십시오.
유용한 자습서
I appreciate if you can support me by subscribing my youtube channel.
이 프로젝트에는
index.html
및 style.css
파일만 있습니다. 그리고 img
폴더에는 3개의 이미지가 포함되어 있으며 here에서 다운로드할 수 있습니다.이제 코딩을 시작하겠습니다.
기본 HTML5 구조 및 링크
style.css
파일을 페이지에 작성하여 시작하십시오. 그런 다음 이와 같은 제품 카드 구조를 만듭니다.<div class="product">
<div class="product-img">
<img src="img/bag.png" alt="">
<span class="tag">new</span>
</div>
<div class="product-listing">
</div>
</div>
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@600&family=Roboto:wght@300;400;500;700;900&display=swap');
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body{
width: 100%;
min-height: 100vh;
position: relative;
display: flex;
justify-content: center;
align-items: center;
background: #966e4f;
font-family: 'roboto', sans-serif;
}
body::before{
content: '';
position: absolute;
left: 0%;
transform: translateX(-50%) skewX(-15deg);
width: 20px;
height: 100%;
background: #966e4f;
border-left: 60px solid #eae3d2;
border-right: 30px solid #eae3d2;
opacity: 0;
animation: slide-in 2s 1.5s forwards 1;
}
@keyframes slide-in{
100%{
opacity: 1;
left: 50%;
}
}
.product{
position: relative;
width: 1000px;
min-width: 350px;
min-height: 500px;
height: auto;
display: flex;
justify-content: center;
align-items: center;
}
.product-img{
width: 40%;
height: 500px;
background: #fff;
position: relative;
opacity: 0;
transform: translateY(-50px);
animation: fade-in 1s forwards 1;
}
.product-img img{
width: 100%;
height: 100%;
object-fit: contain;
user-select: none;
}
.tag{
position: absolute;
top: 20px;
left: -10px;
transform-origin: left;
opacity: 0;
transform: rotate(-90deg);
text-transform: capitalize;
color: #eae3d2;
padding: 5px 10px;
width: 100px;
font-size: 18px;
text-align: center;
background: #292929;
user-select: none;
animation: tag .5s 1s forwards 1;
}
@keyframes tag{
100%{
opacity: 1;
transform: rotate(-20deg);
}
}
.product-listing{
width: 60%;
min-height: 500px;
height: auto;
background: #292929;
padding: 40px;
display: flex;
justify-content: center;
color: #eae3d2;
opacity: 0;
transform: translateY(50px);
animation: fade-in 1s forwards 1;
}
@keyframes fade-in{
100%{
opacity: 1;
transform: translateY(0);
}
}
산출
Great Now는 제품 정보 요소를 만듭니다.
<div class="product-listing">
<div class="content">
<h1 class="name">leather bag</h1>
<p class="info">Lorem ipsum dolor sit amet consectetur adipisicing elit. Doloremque laborum optio natus quibusdam ea nam odit vitae id unde officia.</p>
<p class="price">$ 299</p>
<div class="btn-and-rating-box">
<div class="rating">
<img src="img/star.png" alt="">
<img src="img/star.png" alt="">
<img src="img/star.png" alt="">
<img src="img/star.png" alt="">
<img src="img/star stroke.png" alt="">
</div>
<button class="btn">buy now</button>
</div>
</div>
</div>
.name{
font-family: 'dosis';
font-size: 70px;
text-transform: capitalize;
}
.info{
font-size: 18px;
line-height: 30px;
margin: 50px 0;
}
.price{
font-size: 70px;
font-weight: 100;
margin-bottom: 20px;
}
.btn-and-rating-box{
width: 100%;
display: flex;
justify-content: space-between;
}
.rating{
width: fit-content;
display: flex;
justify-content: center;
align-items: center;
}
.rating img{
width: 20px;
height: 20px;
margin: 0 2px;
}
.btn{
background: #eae3d2;
color: #292929;
border: none;
text-transform: capitalize;
font-size: 16px;
padding: 10px 20px;
cursor: pointer;
}
.btn:hover{
background-color: #eedbaf;
}
산출
제품 카드가 완성되었습니다. 이제 반응형으로 만들어 봅시다.
@media (max-width: 1100px){
body::before{
transform: translateX(-50%) skewX(-5deg);
}
.product{
flex-direction: column;
width: 90%;
margin: 5vh 0;
}
.product-img{
width: 100%;
height: 300px;
}
.product-listing{
width: 100%;
min-height: auto;
}
.name,.price{
font-size: 50px;
}
.info{
font: 16px;
}
}
산출
그게 다야. 나는 당신이 하나하나 모든 것을 이해하기를 바랍니다. 의심스럽거나 내가 놓친 것이 있으면 의견에 알려주십시오.
유용한 자습서
제 유튜브 채널을 구독해주시면 정말 감사하겠습니다. 멋진 웹 콘텐츠를 만듭니다.
읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(순수한 HTML, CSS를 사용하여 완전히 반응하는 제품 카드를 만드는 방법.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kunaal438/how-to-create-fully-responsive-product-card-using-pure-html-css-12hm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)