Thứ Bảy, 26 tháng 12, 2015

Thay đổi màu cho sản phẩm

[CSS] - Hướng dẫn thay đổi màu sắc sản phẩm bằng CSS


Thay đổi màu sắc sản phẩm bằng CSS

Thông thường khi làm các trang thương mại điện tử, để thay đổi màu sắc cho sản phẩm của mình, thì nhiều người thường sử dụng nhiều ảnh cho nhiều màu khác nhau. Nhưng ở bài viết này, tôi sẽ hướng dẫn bạn cách làm thay đổi màu sắc sản phẩm chỉ với css.
thay doi mau san pham bang css
Thay đổi màu sắc sản phẩm bằng CSS

Để bạn dễ hình dung thì nhìn demo nhé. Khi bạn click vào mấy nút tương ứng với loại màu ở trên, thì màu sắc của chiếc áo sẽ thay đổi theo. Việc chỉ sử dụng css sẽ làm giảm tối thiểu việc load trang cho các trang thương mại điện tử.

I. HTML





II. CSS

Trước tiên là css cho phần body, viền sản phẩm và các nút check của chúng ta
body{
background: #333 url(/images/classy_fabric.png);
width: 430px;
margin: 0 auto;
padding: 30px;
}
.preview{
background: #ccc;
width: 415px;
height: 430px;
border: solid 10px #fff;
}
input[type='radio'] {
-webkit-appearance: none;
-moz-appearance: none;
width: 25px;
height: 25px;
margin: 5px 0 5px 5px;
background-size: 225px 70px;
position: relative;
float: left;
display: inline;
top: 0;
border-radius: 3px;
z-index: 99999;
cursor: pointer;
box-shadow: 1px 1px 1px #000;
}
input[type='radio']:hover{
-webkit-filter: opacity(.4);
filter: opacity(.4);
}
Đối với các class làm nút check. Ta sử dụng thêm kỹ thuật của CSS3 để thực hiện đổi màu cho nó khi nó được check
.red{
background: red;
}
.red:checked{
background: linear-gradient(brown, red)
}
.green{
background: green;
}
.green:checked{
background: linear-gradient(green, lime);
}
.yellow{
background: yellow;
}
.yellow:checked{
background: linear-gradient(orange, yellow);
}
.purple{
background: purple;
}
.purple:checked{
background: linear-gradient(purple, violet);
}
Và cuối cùng là việc đổi mầu của sản phẩm khi các nút trên được check
.red:checked ~ img{
-webkit-filter: opacity(.5) drop-shadow(0 0 0 red);
filter: opacity(.5) drop-shadow(0 0 0 red);
}
.green:checked ~ img{
-webkit-filter: opacity(.5) drop-shadow(0 0 0 green);
filter: opacity(.5) drop-shadow(0 0 0 green);
}
.yellow:checked ~ img{
-webkit-filter: opacity(.5) drop-shadow(0 0 0 yellow);
filter: opacity(.5) drop-shadow(0 0 0 yellow);
}
.purple:checked ~ img{
-webkit-filter: opacity(.5) drop-shadow(0 0 0 purple);
filter: opacity(.5) drop-shadow(0 0 0 purple);
}
img{
width: 394px;
height: 375px;
position: relative;
}


Vậy là xong, tận hưởng thành quả đi nhé.
Nguồn : hoclaptrinhweb.com

0 nhận xét: