Đây là câu hỏi cứ lởn vởn trong đầu bạn trong những phút vừa rồi bạn-nói-bao-giờ. Làm cách nào để bạn ngăn một thuộc tính CSS bị ghi đè bởi các thuộc tính CSS khác? Show
Một câu hỏi hay cho một vấn đề có vẻ đơn giản. Tuy nhiên, một câu hỏi có thể khó trả lời một cách khó chịu, đặc biệt nếu bạn là người mới sử dụng CSS và bạn không biết rõ về ngôn ngữ biểu định kiểu này Vì vậy thật tốt khi bạn dừng lại ở đây. Bởi vì, với tư cách là người đã viết những dòng CSS đầu tiên của mình vào năm 2007 và đã giải quyết vấn đề này nhiều lần kể từ đó, tôi sẽ chỉ cho bạn cách khắc phục và khắc phục sự cố Đọc tiếp bên dưới Tại sao thuộc tính CSS của bạn bị ghi đèCó một số lý do khiến một thuộc tính CSS có thể bị một thuộc tính CSS khác ghi đè. Và chúng phát sinh từ cách CSS xử lý các khai báo xung đột cho cùng một thuộc tính của một phần tử DOM nhất định Độ đặc hiệu của bộ chọnChín trong số mười lần, khi quy tắc CSS của bạn bị ghi đè bởi một quy tắc khác ở đâu đó trong biểu định kiểu của tài liệu HTML, thì vấn đề là bộ chọn CSS của bạn không đủ cụ thể Bối rối? Tôi biết mình là ai khi lần đầu tiên bắt đầu học Cascading Style Sheets. Tuy nhiên, hãy để tôi giải thích; Khi nhiều quy tắc nhắm mục tiêu các thuộc tính giống nhau của cùng một phần tử DOM trong CSS, quy tắc cụ thể hơn của hai quy tắc sẽ chiếm ưu thế—và quy tắc còn lại sẽ bị ghi đè Hãy xem xét một ví dụ Giả sử chúng ta có một tài liệu HTML với đánh dấu sau
Trong biểu định kiểu CSS của tài liệu HTML, chúng ta sẽ nhắm mục tiêu thuộc tính nền của phần tử
Nếu bạn sao chép/dán mã nguồn ở trên vào CodePen, bạn sẽ thấy phần tử Bắt đầu xóa từng quy tắc CSS từ dưới lên và nền của phần tử Vậy bí quyết rút ra ở đây là gì? Nếu bạn đang cố gắng gán giá trị cho thuộc tính CSS của phần tử DOM, nhưng nó vẫn bị các quy tắc CSS khác ghi đè, hãy kiểm tra xem liệu các quy tắc đó có nhiều bộ chọn cụ thể hơn của bạn không Và nếu có, hãy làm cho bộ chọn CSS của bạn trở nên cụ thể nhất trong số chúng. Làm điều này sẽ giải quyết vấn đề của bạn miễn là tính đặc hiệu là nguyên nhân gây ra sự cố ngay từ đầu Nhúng/Liên kết so với. CSS nội tuyếnNhư bạn có thể biết bây giờ, có ba cách để thêm biểu định kiểu CSS vào tài liệu HTML. Bạn có thể
Quy tắc chung là các quy tắc CSS nội tuyến được ưu tiên hơn các quy tắc CSS trong biểu định kiểu được nhúng hoặc liên kết, trừ khi các thuộc tính trong các quy tắc đó được khai báo bằng từ khóa 1Từ khóa 1 làm cho một thuộc tính trong quy tắc CSS trở nên quan trọng và nó sẽ ghi đè bất kỳ thuộc tính nào được khai báo mà không có từ khóa đó, vốn được coi là bình thườngNói cách khác, trong phần đánh dấu HTML bên dưới
Văn bản trong phần tử 3 sẽ có màu đỏ vì quy tắc CSS nội tuyến ( 4) được ưu tiên hơn quy tắc CSS khác ( 5) trong biểu định kiểu được nhúngNhưng nếu chúng ta thêm từ khóa 1 vào quy tắc CSS đó
Bây giờ, văn bản trong phần tử 3 sẽ có màu xanh lam vì quy tắc CSS 5 được trình duyệt coi là quan trọng và quy tắc CSS 4, mặc dù thực tế là nó được đặt trong dòng, được coi là bình thườngBạn có thể ghi đè quy tắc CSS bằng. quan trọng?Có, bạn có thể ghi đè quy tắc CSS bằng một hoặc nhiều thuộc tính được khai báo bằng từ khóa 1. Để có thể làm được điều này, bạn cần tạo một quy tắc CSS với bộ chọn CSS cụ thể hơn, đồng thời khai báo các thuộc tính đó bằng từ khóa 1Ví dụ: trong biểu định kiểu bên dưới
Văn bản trong phần tử 3 có màu xanh lam vì bộ chọn thứ hai cụ thể hơn phần tử thứ nhất (hãy tự mình xem trực tiếp trên CodePen)Bạn có thể ghi đè CSS nội tuyến mà không cần. từ khóa quan trọng?Để cung cấp cho bạn câu trả lời dài ngắn, không. Cách duy nhất để ghi đè quy tắc CSS nội tuyến bằng một quy tắc trong biểu định kiểu CSS được nhúng hoặc liên kết là khai báo các thuộc tính trong biểu định kiểu sau bằng từ khóa 1Có một lý do đơn giản và hợp lý cho tất cả những điều này Cách duy nhất để ghi đè quy tắc CSS đã được khai báo là sử dụng bộ chọn CSS cụ thể hơn. Và, trong hệ thống phân cấp về tính cụ thể trong CSS, không có bộ chọn nào cụ thể hơn thuộc tính 0 của một phần tử DOMTrên thực tế, thông thường bạn sẽ ghi đè các quy tắc CSS được nhúng hoặc liên kết bằng các quy tắc CSS nội tuyến—chứ không phải ngược lại Cách tìm quy tắc CSS nào đang ghi đè lên quy tắc của bạnNếu bạn là người mới bắt đầu phát triển web, bạn có thể tự hỏi làm thế nào để tìm quy tắc CSS nào đang ghi đè lên quy tắc của bạn ngay từ đầu Vâng, tôi có tin tốt cho bạn. nó thực sự dễ dàng để làm. Bạn chỉ cần biết nơi để nhấp chuột và những gì để tìm kiếm. Thực hiện theo hướng dẫn từng bước bên dưới để tìm hiểu Cách tìm các quy tắc CSS xung đột Sử dụng tab “Inspector” để tìm các quy tắc CSS xung độtBước 1. Khởi động trình duyệt web yêu thích của bạn và mở tài liệu HTML mà bạn muốn khắc phục sự cố Bước 2. Chọn phần tử DOM được đề cập, sau đó nhấp chuột phải vào lựa chọn và nhấp vào “Kiểm tra” để khởi chạy các công cụ dành cho nhà phát triển của trình duyệt của bạn Bước 3. Trong tab “Kiểu”, hãy lọc thuộc tính CSS đang bị ghi đè và quan sát kết quả. Trình duyệt sẽ hiển thị cho bạn tất cả các quy tắc CSS khai báo giá trị cho thuộc tính này Tóm lại làBây giờ bạn biết phải làm gì khi các thuộc tính trong quy tắc CSS của bạn bị ghi đè. Kiểm tra xem bộ chọn của bạn có phải là bộ chọn cụ thể nhất trong số tất cả các bộ chọn nhắm mục tiêu đến phần tử DOM không Nếu quy tắc CSS ghi đè quy tắc của bạn được khai báo nội tuyến, trong thuộc tính 0 cho phần tử DOM được đề cập, hãy nhớ rằng cách duy nhất để ghi đè quy tắc đó là sử dụng từ khóa 1
Làm cách nào để ghi đè kiểu nội tuyến trong CSS mà không cần sử dụng quan trọng?Cách duy nhất để ghi đè quy tắc CSS mà không cần sử dụng. điều quan trọng là sử dụng bộ chọn cụ thể hơn . Không có bộ chọn nào cụ thể hơn thuộc tính kiểu. Lưu câu trả lời này.
Việc ghi đè CSS nội tuyến có quan trọng không?Cách tiếp cận. Để ghi đè CSS nội tuyến,. từ khóa quan trọng được sử dụng . Điều này làm cho thuộc tính CSS đứng trước tất cả các thuộc tính CSS khác cho phần tử đó.
Làm cách nào để ghi đè CSS không quan trọng?Cách duy nhất để ghi đè lên một. quy tắc quan trọng là bao gồm một quy tắc khác. quy tắc quan trọng về khai báo có cùng độ đặc hiệu (hoặc cao hơn) trong mã nguồn - và vấn đề bắt đầu từ đây. Điều này làm cho mã CSS trở nên khó hiểu và việc gỡ lỗi sẽ khó khăn, đặc biệt nếu bạn có một biểu định kiểu lớn.
Chúng tôi có thể ghi đè CSS nội tuyến không?Bằng cách sử dụng tham số [style] với bộ chọn trong biểu định kiểu CSS, bạn hoàn toàn có thể ghi đè bất kỳ kiểu nội tuyến nào có thể có trong HTML của mình . |