Hướng dẫn CSS

TRANG CHỦ CSS Giới thiệu CSS Cú pháp CSS Bộ chọn CSS CSS Cách thực hiện Nhận xét CSS Màu CSS Nền CSS Đường viền CSS Lề CSS CSS Padding Chiều cao / Chiều rộng CSS Mô hình hộp CSS Đề cương CSS Văn bản CSS Phông chữ CSS Biểu tượng CSS Liên kết CSS Danh sách CSS Bảng CSS Hiển thị CSS Chiều rộng tối đa CSS Vị trí CSS CSS Z-index CSS Overflow CSS Float Khối nội tuyến CSS Căn chỉnh CSS Bộ kết hợp CSS Lớp giả CSS Phần tử giả CSS Độ mờ của CSS Thanh điều hướng CSS Trình đơn thả xuống CSS Thư viện hình ảnh CSS Hình ảnh CSS Sprites Bộ chọn CSS Attr Biểu mẫu CSS Bộ đếm CSS Bố cục trang web CSS Đơn vị CSS Đặc tính CSS CSS! Quan trọng Các hàm toán học CSS

CSS nâng cao

Góc làm tròn CSS Hình ảnh đường viền CSS Nền CSS Màu CSS Từ khóa màu CSS CSS Gradients Bóng CSS Hiệu ứng văn bản CSS Phông chữ Web CSS Chuyển đổi CSS 2D Chuyển đổi CSS 3D Chuyển đổi CSS Hoạt ảnh CSS Chú giải công cụ CSS Hình ảnh phong cách CSS Phản chiếu hình ảnh CSS CSS object-fit Vị trí đối tượng CSS Mặt nạ CSS Các nút CSS Phân trang CSS CSS Nhiều cột Giao diện người dùng CSS Biến CSS Kích thước hộp CSS Truy vấn phương tiện CSS Ví dụ về CSS MQ CSS Flexbox

CSS đáp ứng

Giới thiệu về RWD RWD Viewport Chế độ xem lưới RWD Truy vấn phương tiện RWD Hình ảnh RWD RWD Video Khung RWD Mẫu RWD

Lưới CSS

Grid Intro Vùng chứa lưới Mục lưới

CSS SASS

Hướng dẫn SASS

Ví dụ về CSS

Mẫu CSS Ví dụ về CSS câu đố css Bài tập CSS Chứng chỉ CSS

Tham chiếu CSS

Tham chiếu CSS Bộ chọn CSS Chức năng CSS Tham chiếu CSS Aural Phông chữ An toàn trên Web CSS Hoạt hình CSS Đơn vị CSS Công cụ chuyển đổi CSS PX-EM Màu CSS Giá trị màu CSS Giá trị mặc định của CSS Hỗ trợ trình duyệt CSS

Hình ảnh CSS Sprites


Sprites hình ảnh

Sprite hình ảnh là một tập hợp các hình ảnh được đưa vào một hình ảnh duy nhất.

Một trang web có nhiều hình ảnh có thể mất nhiều thời gian để tải và tạo ra nhiều yêu cầu máy chủ.

Sử dụng sprite hình ảnh sẽ giảm số lượng yêu cầu máy chủ và tiết kiệm băng thông.


Sprites hình ảnh - Ví dụ đơn giản

Thay vì sử dụng ba hình ảnh riêng biệt, chúng tôi sử dụng hình ảnh duy nhất này ("img_navsprites.gif"):

hình ảnh điều hướng

Với CSS, chúng ta chỉ có thể hiển thị phần hình ảnh mà chúng ta cần.

Trong ví dụ sau, CSS chỉ định phần nào của hình ảnh "img_navsprites.gif" sẽ hiển thị:

Thí dụ

#home {
  width: 46px;
  height: 44px;
  background: url(img_navsprites.gif) 0 0;
}

Ví dụ được giải thích:

  • <img id="home" src="img_trans.gif">- Chỉ định nghĩa một ảnh nhỏ trong suốt vì thuộc tính src không được để trống. Hình ảnh hiển thị sẽ là hình nền mà chúng tôi chỉ định trong CSS
  • width: 46px; height: 44px;- Xác định phần hình ảnh chúng tôi muốn sử dụng
  • background: url(img_navsprites.gif) 0 0;- Xác định hình nền và vị trí của nó (trái 0px, trên cùng 0px)

Đây là cách dễ nhất để sử dụng hình ảnh sprite, bây giờ chúng tôi muốn mở rộng nó bằng cách sử dụng các liên kết và hiệu ứng di chuột.


Sprites hình ảnh - Tạo danh sách điều hướng

Chúng tôi muốn sử dụng hình ảnh sprite ("img_navsprites.gif") để tạo danh sách điều hướng.

Chúng tôi sẽ sử dụng danh sách HTML, vì nó có thể là một liên kết và cũng hỗ trợ hình nền:

Thí dụ

#navlist {
  position: relative;
}

#navlist li {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  top: 0;
}

#navlist li, #navlist a {
  height: 44px;
  display: block;
}

#home {
  left: 0px;
  width: 46px;
  background: url('img_navsprites.gif') 0 0;
}

#prev {
  left: 63px;
  width: 43px;
  background: url('img_navsprites.gif') -47px 0;
}

#next {
  left: 129px;
  width: 43px;
  background: url('img_navsprites.gif') -91px 0;
}

Ví dụ được giải thích:

  • #navlist {position: relative;} - vị trí được đặt thành tương đối để cho phép định vị tuyệt đối bên trong nó
  • #navlist li {margin: 0; padding: 0; list-style: none; position: Absol; top: 0;} - margin và padding được đặt thành 0, list-style bị xóa và tất cả các mục trong danh sách đều được đặt ở vị trí tuyệt đối
  • #navlist li, #navlist a {height: 44px; display: block;} - chiều cao của tất cả các hình ảnh là 44px

Bây giờ hãy bắt đầu định vị và tạo kiểu cho từng phần cụ thể:

  • # nhà {left: 0px; width: 46px;} - Được định vị hết về phía bên trái và chiều rộng của hình ảnh là 46px
  • #home {background: url (img_navsprites.gif) 0 0;} - Xác định hình nền và vị trí của nó (trái 0px, trên cùng 0px)
  • #prev {left: 63px; width: 43px;} - Định vị 63px ở bên phải (# home width 46px + thêm một số khoảng cách giữa các mục) và chiều rộng là 43px.
  • #prev {background: url ('img_navsprites.gif') -47px 0;} - Xác định hình nền 47px ở bên phải (# home width 46px + 1px vạch chia dòng)
  • #next {left: 129px; width: 43px;} - Định vị 129px ở bên phải (phần đầu của #prev là 63px + #prev width 43px + extra space) và chiều rộng là 43px.
  • #next {background: url ('img_navsprites.gif') -91px 0;} - Xác định hình nền 91px ở bên phải (# home width 46px + 1px line divider + #prev width 43px + 1px line divider)


Sprites hình ảnh - Hiệu ứng di chuột

Bây giờ chúng tôi muốn thêm hiệu ứng di chuột vào danh sách điều hướng của chúng tôi.

Mẹo: Bộ :hoverchọn có thể được sử dụng trên tất cả các phần tử, không chỉ trên các liên kết.

Hình ảnh mới của chúng tôi ("img_navsprites_hover.gif") chứa ba hình ảnh điều hướng và ba hình ảnh để sử dụng cho các hiệu ứng di chuột:

hình ảnh điều hướng

Bởi vì đây là một hình ảnh duy nhất, không phải sáu tệp riêng biệt, sẽ không có độ trễ khi tải khi người dùng di chuột qua hình ảnh.

Chúng tôi chỉ thêm ba dòng mã để thêm hiệu ứng di chuột:

Thí dụ

#home a:hover {
  background: url('img_navsprites_hover.gif') 0 -45px;
}

#prev a:hover {
  background: url('img_navsprites_hover.gif') -47px -45px;
}

#next a:hover {
  background: url('img_navsprites_hover.gif') -91px -45px;
}

Ví dụ được giải thích:

  • #home a: hover {background: url ('img_navsprites_hover.gif') 0 -45px;} - Đối với cả ba hình ảnh di chuột, chúng tôi chỉ định cùng một vị trí nền, chỉ 45px thêm xuống