cursor

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2021.

* Some parts of this feature may have varying levels of support.

Thuộc tính CSS cursor đặt con trỏ chuột, nếu có, để hiển thị khi con trỏ chuột nằm trên một phần tử.

Thiết lập con trỏ nên thông báo cho người dùng về các thao tác chuột có thể thực hiện tại vị trí hiện tại, bao gồm: chọn văn bản, kích hoạt trợ giúp hoặc menu ngữ cảnh, sao chép nội dung, thay đổi kích thước bảng, v.v. Bạn có thể chỉ định kiểu con trỏ bằng từ khóa, hoặc tải một biểu tượng cụ thể để sử dụng (với hình ảnh dự phòng tùy chọn và từ khóa bắt buộc làm dự phòng cuối cùng).

Try it

cursor: pointer;
cursor: help;
cursor: wait;
cursor: crosshair;
cursor: not-allowed;
cursor: zoom-in;
<section class="default-example container" id="default-example">
  <div id="example-element">
    Move over this element to see the cursor style.
  </div>
</section>
#example-element {
  display: flex;
  background-color: #1766aa;
  color: white;
  height: 180px;
  width: 360px;
  justify-content: center;
  align-items: center;
  font-size: 14pt;
  padding: 5px;
}

Cú pháp

css
/* Giá trị từ khóa */
cursor: auto;
cursor: pointer;
/* … */
cursor: zoom-out;

/* URL với từ khóa dự phòng bắt buộc */
cursor: url("hand.cur"), pointer;

/* URL và tọa độ, với từ khóa dự phòng bắt buộc */
cursor:
  url("cursor_1.png") 4 12,
  auto;
cursor:
  url("cursor_2.png") 2 2,
  pointer;

/* URL và URL dự phòng (một số có tọa độ), với từ khóa dự phòng bắt buộc */
cursor:
  url("cursor_1.svg") 4 5,
  url("cursor_2.svg"),
  /* …, */ url("cursor_n.cur") 5 5,
  progress;

/* Giá trị toàn cục */
cursor: inherit;
cursor: initial;
cursor: revert;
cursor: revert-layer;
cursor: unset;

Thuộc tính cursor được chỉ định là không hoặc nhiều giá trị <url>, phân tách bằng dấu phẩy, theo sau là một giá trị từ khóa bắt buộc duy nhất. Mỗi <url> nên trỏ đến một tệp ảnh. Trình duyệt sẽ thử tải ảnh đầu tiên được chỉ định, nếu không tải được sẽ chuyển sang ảnh tiếp theo, và nếu không tải được ảnh nào (hoặc không có ảnh nào được chỉ định) sẽ dùng giá trị từ khóa.

Mỗi <url> có thể tùy chọn theo sau bởi một cặp số phân tách bằng khoảng trắng, đặt tọa độ <x><y> của điểm nóng con trỏ so với góc trên bên trái của ảnh.

Giá trị

<url> Optional

Một url() hoặc danh sách phân tách bằng dấu phẩy url(), url(), …, trỏ đến một tệp ảnh. Có thể cung cấp nhiều hơn một <url> làm dự phòng, trong trường hợp một số loại ảnh con trỏ không được hỗ trợ. Một dự phòng không phải URL (một hoặc nhiều giá trị từ khóa) phải nằm ở cuối danh sách dự phòng.

<x>, <y> Optional

Tọa độ x và y tùy chọn cho biết điểm nóng của con trỏ; vị trí chính xác trong con trỏ đang được trỏ tới.

Các số tính bằng đơn vị pixel ảnh. Chúng tương đối với góc trên bên trái của ảnh, tương ứng với 0 0, và bị giới hạn trong phạm vi ảnh con trỏ. Nếu các giá trị này không được chỉ định, chúng có thể được đọc từ chính tệp, và nếu không có sẽ mặc định về góc trên bên trái của ảnh.

keyword

Một giá trị từ khóa phải được chỉ định, cho biết kiểu con trỏ cần sử dụng, hoặc con trỏ dự phòng sẽ dùng nếu tất cả các biểu tượng đã chỉ định đều tải thất bại.

Các từ khóa có sẵn được liệt kê trong bảng bên dưới. Ngoại trừ none, có nghĩa là không có con trỏ, có một ảnh cho thấy cách các con trỏ từng được hiển thị. Bạn có thể di chuột qua các hàng trong bảng để xem tác dụng của các giá trị từ khóa con trỏ khác nhau trên trình duyệt của bạn hiện nay.

Danh mục Từ khóa Ví dụ Mô tả
Chung auto Tác nhân người dùng sẽ xác định con trỏ hiển thị dựa trên ngữ cảnh hiện tại. Ví dụ: tương đương với text khi di chuột qua văn bản.
default wide arrow pointing up and to the left Con trỏ mặc định phụ thuộc nền tảng. Thường là một mũi tên.
none Không hiển thị con trỏ.
Liên kết & trạng thái context-menu wide arrow pointing up and to the left slightly obscuring a menu icon Có một menu ngữ cảnh.
help wide arrow pointing up and to the left next to a question mark Có thông tin trợ giúp.
pointer right hand with an index finger pointing up Con trỏ là một mũi tên chỉ liên kết. Thường là ảnh bàn tay đang chỉ.
progress wide arrow and hour glass Chương trình đang bận trong nền, nhưng người dùng vẫn có thể tương tác với giao diện (khác với wait).
wait hour glass Chương trình đang bận, và người dùng không thể tương tác với giao diện (khác với progress). Đôi khi là ảnh đồng hồ cát hoặc đồng hồ.
Lựa chọn cell wide plus symbol Ô bảng hoặc tập hợp ô có thể được chọn.
crosshair plus symbol composed of two thin lines. Con trỏ hình chữ thập, thường dùng để chỉ lựa chọn trong ảnh bitmap.
text vertical i-beam Văn bản có thể được chọn. Thường có hình dạng chữ I.
vertical-text horizontal i-beam Văn bản dọc có thể được chọn. Thường có hình dạng chữ I nằm ngang.
Kéo & thả alias wide arrow pointing up and to the left partially obscuring a smaller folder icon with a curved arrow pointing up and to the right Sẽ tạo một bí danh hoặc lối tắt.
copy wide arrow pointing up and to the left partially obscuring a smaller folder icon with a plus sign Sẽ sao chép thứ gì đó.
move plus sign made of two thin lines. The four points are small arrows facing out Sẽ di chuyển thứ gì đó.
no-drop pointer icon and a not allowed icon Một mục không thể được thả tại vị trí hiện tại.
Firefox bug 275173: Trên Windows và macOS, no-drop giống với not-allowed.
not-allowed Not allowed icon, which is a circle with a line through it Hành động yêu cầu sẽ không được thực hiện.
grab fully opened hand icon Thứ gì đó có thể được nắm (kéo để di chuyển).
grabbing closed hand icon, of the back of the hand Thứ gì đó đang được nắm (kéo để di chuyển).
Thay đổi kích thước & cuộn all-scroll icon of a medium size dot with four triangles around it. Thứ gì đó có thể cuộn theo bất kỳ hướng nào (kéo).
Firefox bug 275174: Trên Windows, all-scroll giống với move.
col-resize col-resize.gif Mục/cột có thể thay đổi kích thước theo chiều ngang. Thường được hiển thị dưới dạng mũi tên trái và phải với thanh dọc phân tách.
row-resize two narrow parallel horizontal lines with a small arrow pointing up and another pointing down Mục/hàng có thể thay đổi kích thước theo chiều dọc. Thường được hiển thị dưới dạng mũi tên lên và xuống với thanh ngang phân tách.
n-resize thin long arrow pointing towards the top Một cạnh nào đó sẽ được di chuyển. Ví dụ: con trỏ se-resize được sử dụng khi di chuyển bắt đầu từ góc đông nam của hộp.
Trong một số môi trường, một con trỏ thay đổi kích thước hai chiều tương đương sẽ được hiển thị. Ví dụ: n-resizes-resize giống với ns-resize.
e-resize thin long arrow pointing towards the right
s-resize thin long arrow pointing down
w-resize thin long arrow pointing towards the left
ne-resize thin long arrow pointing top-right
nw-resize thin long arrow pointing top-left
se-resize thin long arrow pointing bottom-right
sw-resize thin long arrow pointing bottom-left
ew-resize thin long arrow pointing left and right Con trỏ thay đổi kích thước hai chiều.
ns-resize thin long arrow pointing up and down
nesw-resize thin long arrow pointing both to the top-right and bottom-left
nwse-resize thin long arrow pointing both to the top-left and bottom-right
Thu phóng zoom-in magnifying glass with a plus sign

Thứ gì đó có thể được phóng to hoặc thu nhỏ.

zoom-out magnifying glass with a minus sign

Định nghĩa hình thức

Initial valueauto
Applies toall elements
Inheritedyes
Computed valueas specified, but with <url> values made absolute
Animation typediscrete

Cú pháp hình thức

Parse error: Unexpected input

Ghi chú sử dụng

Giới hạn kích thước biểu tượng

Mặc dù đặc tả không giới hạn kích thước ảnh con trỏ cursor, tác nhân người dùng thường hạn chế chúng để tránh lạm dụng tiềm ẩn. Ví dụ: trên Firefox và Chromium, ảnh con trỏ bị hạn chế ở 128x128 pixel theo mặc định, nhưng khuyến nghị giới hạn kích thước ảnh con trỏ xuống còn 32x32 pixel. Các thay đổi con trỏ sử dụng ảnh lớn hơn kích thước tối đa được tác nhân người dùng hỗ trợ thường sẽ bị bỏ qua.

Định dạng tệp ảnh được hỗ trợ

Tác nhân người dùng được yêu cầu theo đặc tả phải hỗ trợ tệp PNG, tệp SVG v1.1 ở chế độ tĩnh bảo mật có kích thước tự nhiên, và bất kỳ định dạng tệp ảnh không hoạt họa nào khác mà họ hỗ trợ cho ảnh trong các thuộc tính khác. Trình duyệt máy tính để bàn cũng hỗ trợ rộng rãi định dạng tệp .cur.

Đặc tả tiếp tục chỉ ra rằng tác nhân người dùng nên cũng hỗ trợ tệp SVG v1.1 ở chế độ hoạt họa bảo mật có kích thước tự nhiên, cùng với bất kỳ định dạng tệp ảnh hoạt họa nào khác mà họ hỗ trợ cho ảnh trong các thuộc tính khác. Tác nhân người dùng có thể hỗ trợ cả ảnh SVG tĩnh lẫn hoạt họa không có kích thước tự nhiên.

iPadOS

iPadOS hỗ trợ thiết bị con trỏ như trackpad và chuột. Theo mặc định, con trỏ iPad được hiển thị dưới dạng hình tròn, và giá trị duy nhất được hỗ trợ sẽ thay đổi giao diện con trỏ là text.

Ghi chú khác

Các thay đổi con trỏ giao với khu vực thanh công cụ thường bị chặn để tránh giả mạo.

Ví dụ

Đặt kiểu con trỏ

css
.foo {
  cursor: crosshair;
}

.bar {
  cursor: zoom-in;
}

/* Giá trị từ khóa dự phòng là bắt buộc khi sử dụng URL */
.baz {
  cursor: url("hyper.cur"), auto;
}

Đặc tả kỹ thuật

Specification
CSS Basic User Interface Module Level 4
# cursor

Tương thích trình duyệt

Xem thêm