Bài F10. Định kiểu CSS cho siêu liên kết và danh sách

Nội dung lý thuyết

1. Định kiểu CSS cho siêu liên kết

  • Siêu liên kết là đường dẫn đến phần khác của trang web hoặc một trang web khác, được tạo bằng thẻ <a> và thuộc tính href.

  • Khi định kiểu CSS cho siêu liên kết, ta thường quan tâm đến 5 trạng thái: bình thường (normal), lướt qua (hover), kích hoạt (active), đã truy cập (visited). tập trung (focus)

  • Các trạng thái này được định kiểu bằng các lớp giả (pseudo-class), ví dụ:
    a:hover, a:active, a:visited, a:focus

a) Trạng thái bình thường

  • Trạng thái mặc định khi chưa có tương tác.

  • Định kiểu bằng cách chọn a, ví dụ:

a {
  color: orange;
  text-decoration: none;
}
  • color: orange: màu cam cho liên kết

  • text-decoration: none: bỏ gạch chân

Định dạng bằng CSS

b) Trạng thái lướt qua (hover)

  • Khi con trỏ chuột nằm trên siêu liên kết.

  • Định kiểu bằng a:hover, ví dụ:

a:hover {
  color: red;
  text-decoration: underline;
}

Khi trỏ chuột nằm trên đường liên kết

c) Trạng thái kích hoạt (active)

  • Khi đang nhấn chuột vào liên kết.

  • Định kiểu bằng a:active, ví dụ:

a:active {
  color: green;
}

Khi liên kết dạng được nháy và giữ chuột

d) Trạng thái đã truy cập (visited)

  • Khi người dùng đã truy cập liên kết trước đó.

  • Định kiểu bằng a:visited, ví dụ:

a:visited {
  color: pink;
}

Khi liên kết đã được truy cập

e) Trạng thái tập trung (focus)

  • Khi người dùng chọn liên kết bằng bàn phím.

  • Định kiểu bằng a:focus, ví dụ:

a:focus {
  outline: 2px solid yellow;
}

Liên kết được chọn bằng bàn phím

2. Định kiểu CSS cho danh sách

  • Ngoài màu sắc, nền, căn lề,… CSS còn cho phép định kiểu cho dấu đầu dòng của danh sách.

a) Đánh số hoặc dấu đầu dòng theo những kiểu có sẵn

  • Dùng thuộc tính list-style-type để định kiểu dấu đầu dòng theo CSS quy định sẵn.

  • Ví dụ: Định kiểu dấu đầu dòng là hình tròn rỗng:

ul {
  list-style-type: circle;
}

Dấu đầu dòng của mỗi mục là hình tròn rỗng

Bảng 1: Một số giá trị của list-style-type

Giá trịKiểu hiển thị
discHình tròn tô đen (giá trị mặc định)
circleHình tròn rỗng
squareHình vuông
noneKhông hiển thị dấu đầu dòng
decimalSố thập phân: 1, 2, 3…
decimal-leading-zeroSố có số 0 đầu: 01, 02, 03…
lower-romanSố La Mã thường: i, ii, iii…
upper-romanSố La Mã hoa: I, II, III…
lower-alphaChữ thường: a, b, c…
upper-alphaChữ hoa: A, B, C…

b) Đánh dấu đầu dòng bằng hình ảnh

  • Dùng thuộc tính list-style-image kết hợp url() để chèn hình ảnh làm dấu đầu dòng.

  • Ví dụ: Dấu đầu dòng là ảnh pointer.svg
ul {
  list-style-image: url('pointer.svg');
}

Dấu đầu dòng của mỗi mục lấy từ tệp ảnh

c) Vị trí dấu đầu dòng

  • Dùng thuộc tính list-style-position để xác định dấu đầu dòng nằm:

    • outside: bên ngoài nội dung

    • inside: bên trong nội dung

  • Ví dụ: Đặt dấu đầu dòng nằm ngoài nội dung
ul {
  list-style-image: url('pointer.svg');
  list-style-position: outside;
}

Kết quả hiện thị dấu đầu dòng nằm bên ngoài phần nội dung của mỗi mục