Hướng dẫn thêm Image Effects với CSS

DEMO

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:

Code RUN
<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.

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é:

Code RUN
.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:

Code RUN
<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

GIẢM GIÁ CUỐI TUẦN

Nhân dịp sinh nhật Cường ngày 18/08, mình giảm giá cực mạnh các khóa học fedu đến hết tuần này, các bạn tranh thủ nhé :)

Nguồn: freetuts.net

TỰ TẠO COMBO ĐỂ TIẾT KIỆM CHI PHÍ

Nếu bạn muốn tự tạo combo theo ý mình thì hãy sử dụng chức năng dưới đây, nó cho phép bạn chọn bất kì khóa học nào và cuối cùng là nhấn vào nút tạo combo, nếu mua càng nhiều thì chi phí càng rẻ.

Lập trình Backend

Lập trình Frontend

Thiết kế - Đồ họa