Chủ đề nổi bật
03/08/2018, 09:43

Bài 07: Học CSS3 - Text Shadow - Box Shadow

Thêm một sự bất ngờ nữa dành cho những bạn yêu mến lập trình CSS3 đó là tạo hiệu ứng shadow mà chỉ có CSS3 mới làm được. Với CSS3 bạn có thể ...

Thêm một sự bất ngờ nữa dành cho những bạn yêu mến lập trình CSS3 đó là tạo hiệu ứng shadow mà chỉ có CSS3 mới làm được.

Với CSS3 bạn có thể thêm shadow vào một đoạn text, border của thẻ HTML bằng cách sử dụng hai thuộc tính:

  • text-shadow dành cho đoạn text
  • box-shadow dành cho thẻ HTML

Hình minh họa:

1. Text-shadow trong CSS3

Thuộc tính CSS3 text-shadow bổ sung hiệu ứng shadow vào một đoạn text giúp nó hiển thị giống chữ 3D chuyên nghiệp.

Ví dụ: XEM DEMO

h2{
    text-shadow: 2px 2px;
}

Kết quả:

Bây giờ chúng ta cùng tìm hiểu cú pháp của nó nhé:

text-shadow: h-shadow v-shadow blur-radius color|none|initial|inherit;

Trong đó:

  • h-shadow : vị trí bóng ngang so với chữ, số âm sẽ đẩy lên trên và số dương sẽ đẩy xuống dưới
  • v-shadow : vị trí bóng dọc so với chứ, số âm sẽ đẩy lui phía sau và số dương sẽ đẩy tới phía trước
  • blur-radius : độ nhòe của chữ bóng, tính bằng pixel
  • color : màu sắc của bóng, chấp nhận các định dạng màu sắc trong CSS3.

Ví dụ: XEM DEMO

Sử dụng nhiều Color shadow:

Nếu bạn muốn shadow có nhiều màu sắc thì hãy bổ sụng thêm shadow cho nó và chúng cách nhau bởi dấu phẩy.

Ví dụ: XEM DEMO

h2{
    text-align: center;
    text-shadow: 
        0px 0px 10px red,
        0px 0px 20px blue,
        0px 0px 30px yellow,
        0px 0px 40px pink;
}

Kết quả:

2. Box-shadow trong CSS3

Hiệu ứng tương tự như text-shadow nhưng nó có tác dụng đối với đường viền (lề) chứ không phải tác dụng với đoạn text.

Ví dụ: XEM DEMO

h2{
    height: 100px;
    awidth: 200px;
    box-shadow: 0px 0px 10px red;
}

Kết quả:

Cú pháp của box-shadow như sau:

box-shadow: h-shadow v-shadow blur spread color |inset|initial|inherit;

Trong đó:

  • h-shadow : vị trí bóng ngang so với chữ, số âm sẽ đẩy lên trên và số dương sẽ đẩy xuống dưới
  • v-shadow : vị trí bóng dọc so với chứ, số âm sẽ đẩy lui phía sau và số dương sẽ đẩy tới phía trước
  • blur-radius : độ nhòe của chữ bóng, tính bằng pixel
  • spread: kích thước của bóng tối.
  • color : màu sắc của bóng, chấp nhận các định dạng màu sắc trong CSS3.
  • inset: thay đổi bóng từ bên ngoài vào trong thay vì từ trong ra ngoài
  • initial: thiết lập giá trị mặc định
  • inherit: kế thừa giá trị từ thẻ HTML cha

Code Hack CSS:

-moz-box-shadow: h-shadow v-shadow blur spread color |inset|initial|inherit;
-webkit-box-shadow: h-shadow v-shadow blur spread color |inset|initial|inherit;

Ví dụ: XEM DEMO

#box1{
    box-shadow: 0px 0px 12px 10px red;
    -moz-box-shadow: 0px 0px 12px 10px red;
    -webkit-box-shadow: 0px 0px 12px 10px red;
}
#box2{
    box-shadow: 0px 0px 12px 10px red inset;
    -moz-box-shadow: 0px 0px 12px 10px red inset;
    -webkit-box-shadow: 0px 0px 12px 10px red inset;
}
#box3{
    box-shadow: 5px 5px 12px 0px red;
    -moz-box-shadow: 5px 5px 12px 0px red;
    -webkit-box-shadow: 5px 5px 12px 0px red;
}
#box4{
    box-shadow: 5px 5px 0px 0px red;
    -moz-box-shadow: 5px 5px 0px 0px red;
    -webkit-box-shadow: 5px 5px 0px 0px red;
}
#box5{
    box-shadow: -5px -5px 5px 0px red;
    -moz-box-shadow: -5px -5px 5px 0px red;
    -webkit-box-shadow: -5px -5px 5px 0px red;
}

Kết quả:

Sử dụng nhiều shadow:

Tương tự như text-shadow ta chỉ cần bổ sung các shadow và chúng cách nhau bởi dấu phẩy.

Ví dụ: XEM DEMO

h2{
    height: 100px;
    awidth: 200px;
    text-align: center;
    margin: 20px;
    border: solid 1px red;
    box-shadow: 
        0px 0px 5px 5px red,
        0px 0px 5px 10px blue,
        0px 0px 5px 15px pink;
    -moz-box-shadow: 
        0px 0px 5px 5px red,
        0px 0px 5px 10px blue,
        0px 0px 5px 15px pink;
    -webkit-box-shadow: 
        0px 0px 5px 5px red,
        0px 0px 5px 10px blue,
        0px 0px 5px 15px pink;
}

Kết quả:

3. Lời kết

Vậy là ta đã tìm hiểu xong hai thuộc tính trong CSS3 dùng để tạo hiệu ứng shadow đó là text-shadow và box-shadow, hai hiệu ứng này sử dụng khá nhiều trong các giao diện web hiện nay.

Để hiểu rõ thì ban nên làm theo các ví dụ và tự thay đổi các giá trị để xem kết quả nhé.

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

Bài liên quan
Mới nhất

CSS căn bản

BÀI KẾ SAU BÀI KẾ TIẾP

CSS Responsive Web Design

Xin giới thiệu với các bạn series tự học CSS Responsive, đây là một series tự mình biên soạn và viết theo khả năng của mình. Trong series này mình sẽ giới thiệu tất cả các kiến thức cần thiết để học responsive, từ cách sử dụng media cho đến Javascript và từ đó sẽ đưa ra một bài tập nho nhỏ để tự ...

CSS3 căn bản

BÀI KẾ SAU BÀI KẾ TIẾP

Tạo hiệu ứng HTML5&CSS3

DANH SÁCH BÀI HỌC Hiệu ứng bóng đổ với thuộc tính box-shadow của CSS3

Bài 10: Học CSS3 - 2D Transforms

CSS3 2D Transforms là những thuộc tính dùng để xử lý hiệu ứng di chuyển 2D ( không gian hai chiều ), ví dụ bạn có thể dụng CSS3 để quay một thẻ ...

Bài 09: Học CSS3 - Sử dụng @fonf-face

Trước đây nếu bạn muốn website chạy những font chữ độc và lạ mà trên máy tính của Client không cài đặt thì đó là điều không thể, trừ khi client ...

Bài 07: Học CSS3 - Text Shadow - Box Shadow

Thêm một sự bất ngờ nữa dành cho những bạn yêu mến lập trình CSS3 đó là tạo hiệu ứng shadow mà chỉ có CSS3 mới làm được. Với CSS3 bạn có thể ...

Bài 08: Học CSS3 - Xử lý Text

CS3 hỗ trợ một số thuộc tính giúp việc xử lý text hiệu quả hơn. Nếu trước đây chúng ta gặp khó khăn trong việc xử lý một từ quá dài và bị tràn ...

Bài 05: Học CSS3 - Định dạng màu sắc

CSS3 hỗ trợ nhận diện color bằng tên màu , mã hexadecimal và mã RGB . Trong bài này chúng ta sẽ tìm hiểu một số định dạng mã màu thường sử ...

Bài 06: Học CSS3 - Gradient Background

Trong Photoshop bạn có thể tạo một hình ảnh với nhiều màu sắc và chúng trộn lẫn với nhau nhìn rất bắt mắt như hình dưới đây. Thì bạn hoàn ...