Tôi đang tự hỏi làm thế nào để loại bỏ kiểu cha mẹ và sử dụng kiểu mặc định [không có]. Tôi sẽ chỉ ra trường hợp cụ thể của mình làm ví dụ nhưng tôi khá chắc chắn rằng đây là một câu hỏi chung
#elementId select {
height:1em;
}
fish
eat
cows
Những cách tôi không muốn giải quyết vấn đề này
- Tôi không thể chỉnh sửa biểu loại trong đó "#EuityId select" đã được đặt, mô-đun của tôi sẽ không có quyền truy cập vào đó
- Tốt nhất là không ghi đè kiểu cao bằng cách sử dụng kiểu thuộc tính
Ví dụ, sử dụng Firebug, tôi có thể tắt kiểu cha mẹ và tất cả đều tốt, đây là hiệu ứng tôi đang làm
Khi một kiểu được đặt, nó có thể bị vô hiệu hóa hoặc nó phải được ghi lại?
Boltclock
679K156 Huy hiệu vàng1365 Huy hiệu bạc1339 Huy hiệu Đồng156 huy hiệu vàng1365 huy hiệu bạc1339 huy hiệu đồng
Đã hỏi ngày 3 tháng 6 năm 2009 lúc 19. 24 3 tháng 6 năm 2009 lúc 19. 24
Bạn có thể tắt nó bằng cách ghi đè nó như thế này
Chiều cao. Tự động. quan trọng;
nước kiệu
62. 5K22 Huy hiệu vàng161 Huy hiệu bạc202 Huy hiệu đồng22 Huy hiệu vàng161 Huy hiệu bạc202 Huy hiệu đồng
Đã trả lời ngày 3 tháng 5 năm 2010 lúc 21. 19 3 tháng 5, 2010 lúc 21. 19
Fabian Brenes Fabien Brenes Fabien Brenes
7481 Huy hiệu vàng8 Huy hiệu bạc12 Huy hiệu đồng1 huy hiệu vàng8 huy hiệu bạc12 huy hiệu đồng
5
It must be override. You have could be used
#elementId select.funTimes {
/* Override styles here */
}
Hãy chắc chắn rằng bạn sử dụng cờ
#elementId select.funTimes {
/* Override styles here */
}
0 theo kiểu CSS, ví dụ.
#elementId select.funTimes {
/* Override styles here */
}
1 có nghĩa là gì. Có nghĩa là trong CSS?Bạn có thể sử dụng bộ chọn thuộc tính, nhưng vì điều đó không được hỗ trợ bởi trình duyệt cũ [đọc IE6, v. v. ], nên thêm tên lớp
Tìm hiểu từ hơn 300 ví dụ. Với trình chỉnh sửa của chúng tôi, bạn có thể chỉnh sửa CSS và nhấp vào nút để xem kết quả
Chuyển đến ví dụ về CSS
Sử dụng thực đơn
Chúng tôi khuyên bạn nên đọc hướng dẫn này, theo trình tự được liệt kê trong menu
Nếu bạn có màn hình lớn, menu sẽ luôn ở bên trái
Nếu bạn có màn hình nhỏ, hãy mở menu bằng cách nhấp vào ký hiệu menu trên cùng ☰
Mẫu CSS
Chúng tôi đã tạo một số W3 đáp ứng. Các mẫu CSS để bạn sử dụng
Bạn có thể tự do sửa đổi, lưu, chia sẻ và sử dụng chúng trong tất cả các dự án của mình
Mẫu CSS miễn phí
bài tập css
Kiểm tra bản thân với các bài tập
Câu đố về CSS
Kiểm tra kỹ năng CSS của bạn bằng một bài kiểm tra
Bắt đầu bài kiểm tra CSS
Việc học của tôi
Theo dõi tiến trình của bạn với chương trình "Học tập của tôi" miễn phí tại W3Schools
Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm
Đây là một tính năng tùy chọn. Bạn có thể học W3Schools mà không cần sử dụng My Learning
Tài liệu tham khảo CSS
Tại W3Schools, bạn sẽ tìm thấy các tham chiếu CSS hoàn chỉnh của tất cả các thuộc tính và bộ chọn với cú pháp, ví dụ, hỗ trợ trình duyệt, v.v.
Đặt đối số thứ ba thành false sẽ đính kèm một hàm ngăn hành động mặc định xảy ra và ngăn sự kiện nổi bong bóng. Mặc định là đúng
đã thêm phiên bản. 1. 4 . liên kết [sự kiện]
sự kiện
Loại hình. Sự vật
Một đối tượng chứa một hoặc nhiều loại sự kiện DOM và chức năng để thực thi cho chúng
Kể từ jQuery 3. 0,
5 không được dùng nữa. Nó đã được thay thế bằng phương pháp
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
6 để đính kèm các trình xử lý sự kiện vào tài liệu kể từ jQuery 1. 7, vì vậy việc sử dụng nó đã không được khuyến khích. Đối với các phiên bản cũ hơn, phương pháp
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
5 được sử dụng để gắn trực tiếp trình xử lý sự kiện vào các phần tử. Trình xử lý được đính kèm với các phần tử hiện được chọn trong đối tượng jQuery, vì vậy các phần tử đó phải tồn tại tại thời điểm xảy ra lệnh gọi tới
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
5. Để ràng buộc sự kiện linh hoạt hơn, hãy xem phần thảo luận về ủy quyền sự kiện trong
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
6
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Bất kỳ chuỗi nào là hợp lệ cho
0; . Những sự kiện này không bao giờ được gọi bởi trình duyệt, nhưng có thể được kích hoạt thủ công từ mã JavaScript khác bằng cách sử dụng
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
1 hoặc
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
2
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
Nếu chuỗi
0 chứa ký tự dấu chấm [
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
4], thì sự kiện được đặt tên. Ký tự dấu chấm ngăn cách sự kiện khỏi không gian tên của nó. Ví dụ: trong cuộc gọi
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
5, chuỗi
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
6 là loại sự kiện và chuỗi
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
7 là không gian tên. Không gian tên cho phép chúng tôi hủy liên kết hoặc kích hoạt một số sự kiện thuộc loại mà không ảnh hưởng đến những sự kiện khác. Xem phần thảo luận của
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
8 để biết thêm thông tin
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
Có các phương pháp tốc ký cho một số sự kiện trình duyệt tiêu chuẩn, chẳng hạn như
9 có thể được sử dụng để đính kèm hoặc kích hoạt trình xử lý sự kiện. Để biết danh sách đầy đủ các phương pháp tốc ký, hãy xem danh mục sự kiện
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
Khi một sự kiện đến một phần tử, tất cả các trình xử lý được liên kết với loại sự kiện đó cho phần tử sẽ được kích hoạt. Nếu có nhiều trình xử lý được đăng ký, chúng sẽ luôn thực thi theo thứ tự mà chúng bị ràng buộc. Sau khi tất cả các trình xử lý đã thực thi, sự kiện sẽ tiếp tục dọc theo đường dẫn truyền sự kiện bình thường
Cách sử dụng cơ bản của
5 là
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
1
2
3
#elementId select.funTimes {
/* Override styles here */
}
0Mã này sẽ khiến phần tử có ID là
#elementId select.funTimes {
/* Override styles here */
}
11 phản hồi lại sự kiện 6. Sau đó, khi người dùng nhấp vào bên trong phần tử này, cảnh báo sẽ được hiển thị
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
Nhiều sự kiện
Nhiều loại sự kiện có thể được liên kết cùng một lúc bằng cách bao gồm từng loại sự kiện được phân tách bằng dấu cách
1
2
3
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Tác dụng của điều này đối với
#elementId select.funTimes {
/* Override styles here */
}
13 [khi ban đầu nó không có lớp "đã nhập"] là thêm lớp "đã nhập" khi chuột vào
#elementId select.funTimes {
/* Override styles here */
}
14 và xóa lớp khi chuột rời điKể từ jQuery 1. 4, chúng ta có thể liên kết đồng thời nhiều trình xử lý sự kiện bằng cách chuyển một đối tượng của các cặp loại/trình xử lý sự kiện
1
2
3
4
5
6
7
8
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
Trình xử lý sự kiện
Tham số
#elementId select.funTimes {
/* Override styles here */
}
15 có chức năng gọi lại, như được hiển thị ở trên. Trong trình xử lý, từ khóa
#elementId select.funTimes {
/* Override styles here */
}
16 đề cập đến phần tử DOM mà trình xử lý bị ràng buộc. Để sử dụng phần tử trong jQuery, nó có thể được chuyển đến hàm
#elementId select.funTimes {
/* Override styles here */
}
17 bình thường. Ví dụ1
2
3
#elementId select.funTimes {
/* Override styles here */
}
1Sau khi mã này được thực thi, khi người dùng nhấp vào bên trong phần tử có ID là
#elementId select.funTimes {
/* Override styles here */
}
11, nội dung văn bản của phần tử đó sẽ được hiển thị dưới dạng cảnh báoKể từ jQuery 1. 4. 2 trình xử lý sự kiện trùng lặp có thể được liên kết với một phần tử thay vì bị loại bỏ. Điều này hữu ích khi tính năng dữ liệu sự kiện đang được sử dụng hoặc khi dữ liệu duy nhất khác nằm trong một bao đóng xung quanh chức năng xử lý sự kiện
Trong jQuery1. 4. 3 bây giờ bạn có thể chuyển vào
#elementId select.funTimes {
/* Override styles here */
}
19 thay cho trình xử lý sự kiện. Điều này sẽ liên kết một trình xử lý sự kiện tương đương với.
#elementId select.funTimes {
/* Override styles here */
}
30. Chức năng này có thể được gỡ bỏ sau đó bằng cách gọi.
#elementId select.funTimes {
/* Override styles here */
}
31đối tượng Sự kiện
Hàm gọi lại
#elementId select.funTimes {
/* Override styles here */
}
15 cũng có thể nhận tham số. Khi hàm được gọi, đối tượng sự kiện sẽ được chuyển đến tham số đầu tiênĐối tượng sự kiện thường không cần thiết và tham số bị bỏ qua, vì ngữ cảnh đầy đủ thường có sẵn khi trình xử lý bị ràng buộc để biết chính xác những gì cần thực hiện khi trình xử lý được kích hoạt. Tuy nhiên, đôi khi cần thu thập thêm thông tin về môi trường của người dùng tại thời điểm sự kiện được bắt đầu. Xem đối tượng sự kiện đầy đủ
Trả lại
#elementId select.funTimes {
/* Override styles here */
}
19 từ một trình xử lý tương đương với việc gọi cả
#elementId select.funTimes {
/* Override styles here */
}
34 và
#elementId select.funTimes {
/* Override styles here */
}
35 trên đối tượng sự kiệnSử dụng đối tượng sự kiện trong trình xử lý trông như thế này
1
2
3
4
5
6
7
#elementId select.funTimes {
/* Override styles here */
}
3Lưu ý tham số được thêm vào chức năng ẩn danh. Mã này sẽ khiến một lần nhấp vào phần tử có ID
#elementId select.funTimes {
/* Override styles here */
}
11 để báo cáo tọa độ trang của con trỏ chuột tại thời điểm nhấpTruyền dữ liệu sự kiện
Tham số
#elementId select.funTimes {
/* Override styles here */
}
37 tùy chọn không được sử dụng phổ biến. Khi được cung cấp, đối số này cho phép chúng tôi chuyển thông tin bổ sung cho trình xử lý. Một cách sử dụng hữu ích của tham số này là khắc phục các sự cố do đóng cửa gây ra. Ví dụ: giả sử chúng ta có hai trình xử lý sự kiện, cả hai đều đề cập đến cùng một biến bên ngoài1
2
3
4
5
6
7
8
2
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Vì các trình xử lý là các bao đóng mà cả hai đều có
#elementId select.funTimes {
/* Override styles here */
}
38 trong môi trường của chúng, nên cả hai sẽ hiển thị thông báo Không có trong khuôn mặt. khi được kích hoạt. Giá trị của biến đã thay đổi. Để tránh điều này, chúng ta có thể chuyển tin nhắn bằng cách sử dụng
#elementId select.funTimes {
/* Override styles here */
}
371
2
3
4
5
6
7
8
9
10
11
12
5
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Lần này, biến không được tham chiếu trực tiếp trong trình xử lý; . Trình xử lý đầu tiên sẽ hiển thị Spoon. trong khi cái thứ hai sẽ cảnh báo Not in the face
Lưu ý rằng các đối tượng được chuyển đến các hàm theo tham chiếu, điều này làm phức tạp thêm kịch bản này
Nếu có mặt của
#elementId select.funTimes {
/* Override styles here */
}
37, thì đó là đối số thứ hai của phương thức 5;
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Xem tham chiếu phương thức
1 để biết cách truyền dữ liệu tới trình xử lý tại thời điểm sự kiện xảy ra thay vì khi trình xử lý bị ràng buộc
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
Kể từ jQuery 1. 4, chúng tôi không còn có thể đính kèm dữ liệu [và do đó, các sự kiện] vào các phần tử đối tượng, nhúng hoặc applet vì các lỗi nghiêm trọng xảy ra khi đính kèm dữ liệu vào các applet Java
Ghi chú. Mặc dù được minh họa trong ví dụ tiếp theo, nhưng không nên liên kết các trình xử lý với cả hai sự kiện
6 và
$[ "#foo" ].bind[{
click: function[] {
// Do something on click
},
mouseenter: function[] {
// Do something on mouseenter
}
}];
25 cho cùng một phần tử. Trình tự các sự kiện được kích hoạt khác nhau giữa các trình duyệt, với một số nhận được hai sự kiện nhấp chuột trước
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
25 và những sự kiện khác chỉ có một. Độ nhạy khi nhấp đúp [thời gian tối đa giữa các lần nhấp được phát hiện là nhấp đúp] có thể khác nhau tùy theo hệ điều hành và trình duyệt và thường do người dùng định cấu hình
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
ví dụ
Xử lý nhấp và nhấp đúp cho đoạn văn. Ghi chú. các tọa độ là cửa sổ tương đối, vì vậy trong trường hợp này liên quan đến iframe demo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
3
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Thử nghiệm
Để hiển thị văn bản của từng đoạn trong hộp cảnh báo bất cứ khi nào nó được nhấp vào
1
2
3
4
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Bạn có thể chuyển một số dữ liệu bổ sung trước trình xử lý sự kiện
1
2
3
4
5
6
5
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Hủy bỏ một hành động mặc định và ngăn không cho nó nổi lên bằng cách quay lại
#elementId select.funTimes {
/* Override styles here */
}
191
2
3
0
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Chỉ hủy hành động mặc định bằng cách sử dụng. phương thức preventDefault[]
1
2
3
1
$[ "#foo" ].bind[ "mouseenter mouseleave", function[] {
$[ this ].toggleClass[ "entered" ];
}];
Dừng sự kiện sủi bọt mà không ngăn hành động mặc định bằng cách sử dụng. phương thức stopPropagation[]