Hướng dẫn thêm Image Effects với CSS
Image Effectsr là các hiệu ứng xử lý đối với hình ảnh, chúng ta có thể sử dụng Image Effects để khiến các hình ảnh trên website trở nên đẹp hơn hoặc đơn giản là để phù hợp với hơn với giao diện website. Trong bài viết này mình sẽ hướng dẫn các bạn thêm hiệu ứng cho hình ảnh, hãy bạn xem ví dụ dưới đây:
Cùng tiến hành nhé!
1. Xây dựng giao diện
Bước đầu tiên là chúng ta sẽ tạo file chạy chính index.html
, sau đó các bạn tạo các thành phần của ứng dụng với đoạn mã sau:
<div class="container"> <h2>Freetuts.net hướng dẫn thêm Image Effects</h2> <button onclick="addEffects()" id="btn">Xem hiệu ứng</button> <div> <h3> Grayscale</h3> <img src="https://freetuts.net/upload/tut_post/images/2017/08/02/973/demo.jpg" id="grayscale" alt="car" width="100%" height="50%"> </div> <div> <h3> Blur</h3> <img src="https://freetuts.net/upload/tut_post/images/2017/08/02/973/demo.jpg" id="blur" alt="car" width="100%" height="50%"> </div> </div>
Trong ví dụ này mình tạo ra hai hình ảnh giống để ví dụ về hai hiệu ứng khác nhau. Thêm vào đó mình cũng tạo một button để kích hoạt hiệu ứng hình ảnh.
Bài viết này được đăng tại [free tuts .net]
OK giờ chúng ta sẽ chuyển đến bước tiếp theo.
2. Thêm CSS để định dạng các thành phần
Trong bước này chúng ta sử dụng CSS để định dạng cho các thành phần dễ nhìn hơn, các bạn thêm đoạn mã CSS dưới đây vào bên trong thẻ style nhé:
.container { width: 700px; margin: auto; text-align: center; } div { width: 40%; height: 300px; margin-bottom: 30px; display: inline-block; } #btn { margin: auto; width: 100px; height: 30px; margin-bottom: 10px; display: block; } .grayscale { -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */ filter: grayscale(100%); } .blur { -webkit-filter: blur(5px); /* Safari 6.0 - 9.0 */ filter: blur(5px); }
Tất cả các thuộc tính ở đây đều rất đơn giản, các bạn chú ý đến thuộc tính filter: grayscale(100%);
và filter: blur(5px);
đó chính là thuộc tính quyết định hiệu ứng của hình ảnh.
3. Xử lý với Javascript
Cuối cùng, chúng ta sẽ viết mã script để xử lý quá trình khi click vào button xem hiệu ứng, các bạn thêm đoạn mã script dưới đây vào sau thẻ body:
<script> function addEffects(){ var blur = document.getElementById('blur'); var grayscale = document.getElementById('grayscale'); grayscale.classList.add("grayscale"); blur.classList.add("blur"); } </script>
Đoạn mã này cũng rất đơn giản, mình chỉ thêm các class vào để thêm hiệu ứng đã định dạng trước đó bằng CSS.
Vậy là xong rồi, giờ các bạn chạy file index.html
để xem kết quả.
4. Lời kết
Qua bài viết này, mình đã hướng dẫn các bạn thêm hiệu ứng cho hình ảnh, hi vọng nó sẽ giúp các bạn có thêm sự lựa chọn khi hiển thị hình ảnh trên website. Nếu có bất cứ thắc mắc gì các bạn hãy để lại ở phần bình luận, hẹn gặp lại trong các bài viết tiếp theo trên freetuts.net
Tham khảo: w3schools.com