Hướng dẫn css stop inheritance from parent - css ngừng kế thừa từ cha mẹ
Có cách nào để khai báo thuộc tính CSS của một yếu tố sao cho nó sẽ không ảnh hưởng đến bất kỳ con nào của nó hay có cách nào để tuyên bố CSS của một yếu tố để thực hiện chỉ là kiểu được chỉ định và không kế thừa bất kỳ kiểu nào ? Một ví dụ nhanh chóng HTML:
CSS:
Trong các trường hợp bình thường, người ta sẽ mong đợi khối văn bản "nội dung của đoạn" và "nội dung của nhịp" sẽ là 12px và in đậm. Có một thuộc tính nào được đưa vào CSS ở trên trong khối "div.Content" sẽ ngăn chặn nó kế thừa khai báo trong khối "#container form div" để giới hạn phong cách chỉ là "nội dung của đoạn" và dự phòng " Nội dung của khoảng thời gian "bao gồm bất kỳ đứa trẻ nào khác div? Nếu bạn đang tự hỏi tại sao, tốt, tôi đã tạo một tệp CSS cụ thể mang lại cho tất cả các biểu mẫu trong dự án của tôi một cảm giác cụ thể và các yếu tố 3 dưới biểu mẫu tất cả đều thừa hưởng cảm giác. Không vấn đề gì. Nhưng bên trong hình thức tôi muốn sử dụng flexigrid nhưng flexigrid kế thừa phong cách và nó trông vô dụng. Nếu tôi sử dụng flexigrid bên ngoài biểu mẫu và nó sẽ không kế thừa các biểu mẫu CSS, thì nó trông rất tuyệt. Nếu không thì nó trông thật khủng khiếp. Thừa kế xảy ra trong cuộc sống thực. Trẻ em thừa hưởng các đặc điểm của cha mẹ: cha mẹ cao có khả năng có con cao và ngược lại. Trẻ em cũng thừa hưởng sự giàu có và tài sản của cha mẹ. Kế thừa trong phát triển phần mềm hoạt động theo cùng một cách. Trong các ngôn ngữ OOP, các lớp kế thừa các thuộc tính và phương thức của lớp cha. Điều này được thực hiện để ngăn chặn mã lặp lại. Còn trong CSS, ngôn ngữ thiết kế của web thì sao? Thừa kế cũng xảy ra ở đó. Nếu bạn đặt một thuộc tính trong phần tử cha, con cái theo mặc định kế thừa các thuộc tính và giá trị của chúng mà không xác định rõ ràng thuộc tính. Một tài sản như 4 được truyền lại cho một yếu tố trẻ em. Nếu một yếu tố là màu xanh lá cây, tất cả trẻ em của nó chuyển sang màu xanh lá cây.Trong hướng dẫn này, chúng tôi sẽ tập trung vào kế thừa trong CSS. Chúng tôi sẽ chứng minh cách thức kế thừa hoạt động trong CSS và xem xét một số thuộc tính CSS bạn có thể sử dụng để chuyển các thuộc tính di truyền cho các yếu tố trẻ em. Ở đây, những gì chúng tôi bao gồm:
Kế thừa CSS là gì?Những thuộc tính CSS nào được kế thừa? CSS 5 là gì?
CSS Quy tắc xếp tầng xuống phân cấp CSS từ người chọn phụ huynh đến người chọn con cái của họ. Các quy tắc CSS này được kế thừa từ các bộ chọn cha mẹ của họ. Phần tử con sẽ tự nhiên kế thừa thuộc tính CSS với giá trị của nó từ phần tử cha nếu thuộc tính CSS không được chỉ định. Đầu ra trông như thế này: Chúng tôi chỉ đặt 9 để có màu văn bản màu đỏ, nhưng quy tắc CSS đã được áp dụng cho hai đứa con của nó 3Elements: 1 và 2. Hai phần tử 3 không có quy tắc CSS của 4 đặt trên chúng.
Chuyện gì đã xảy ra thế? Đứa trẻ 3 được thừa hưởng 4 từ cha mẹ của chúng, 9. 4 không được chỉ định trên trẻ 3 nên chúng được thừa hưởng nó từ yếu tố cha mẹ của chúng, 9.Những thuộc tính CSS nào được kế thừa?CSS 5 là gì?
CSS Quy tắc xếp tầng xuống phân cấp CSS từ người chọn phụ huynh đến người chọn con cái của họ. Các quy tắc CSS này được kế thừa từ các bộ chọn cha mẹ của họ. Phần tử con sẽ tự nhiên kế thừa thuộc tính CSS với giá trị của nó từ phần tử cha nếu thuộc tính CSS không được chỉ định. Đầu ra trông như thế này: CSS form div {font-size: 12px; font-weight: bold;} div.content { /* Can anything go here? */ } 5 là gì?CSS Quy tắc xếp tầng xuống phân cấp CSS từ người chọn phụ huynh đến người chọn con cái của họ. Các quy tắc CSS này được kế thừa từ các bộ chọn cha mẹ của họ. Phần tử con sẽ tự nhiên kế thừa thuộc tính CSS với giá trị của nó từ phần tử cha nếu thuộc tính CSS không được chỉ định. Đầu ra trông như thế này:
Chúng tôi chỉ đặt 9 để có màu văn bản màu đỏ, nhưng quy tắc CSS đã được áp dụng cho hai đứa con của nó 3Elements: 1 và 2. Hai phần tử 3 không có quy tắc CSS của 4 đặt trên chúng. 4, mặt khác, có thuộc tính chiều cao được đặt thành 5. Điều này sẽ làm cho nó kế thừa giá trị của chiều cao của nó từ phần tử cha của nó, 7. Vì vậy, chiều cao của 4 sẽ là 5. Giá trị 5 cho phép kế thừa trên tất cả các thuộc tính CSS. Với 5, phần tử được chỉ định sẽ lấy giá trị của thuộc tính được chỉ định từ phần tử cha của nó.Chỉ các phần tử con trực tiếp mới có thể kế thừa thuộc tính CSS từ phần tử cha của nó bằng cách sử dụng giá trị 5 nếu thuộc tính CSS được đặt bởi phần tử cha mẹ của phần tử. Điều này là để đảm bảo rằng thuộc tính CSS được thừa kế là một tài sản có thể thừa kế.Đây là một ví dụ:
7 có chiều cao được đặt thành 5. 9. Một đứa cháu của 7 (một yếu tố con của 7 nhưng không phải là một đứa trẻ trực tiếp) có thuộc tính chiều cao của nó được đặt thành 5. CSS sẽ cố gắng nhận giá trị từ cha mẹ của ____ ____ 69 (4), nhưng nó không có thuộc tính 6. Vì vậy, CSS sẽ dùng đến giá trị ban đầu của nó. CSS đã giành được du lịch lên 9 Chuỗi cha mẹ (ông bà, ông cố, ông cố, v.v.) để kiểm tra xem có bất kỳ tài sản nào có tài sản 6 được đặt cho 9 không. Vì vậy, 9 won có chiều cao 5; Thay vào đó, nó sẽ dùng đến chiều cao của trình duyệt. So 9 won’t have a height of 5; instead, it will resort to its browser computed height. form div {font-size: 12px; font-weight: bold;} div.content { /* Can anything go here? */ } 6Theo MDN:
6 là giá trị thuộc tính CSS được sử dụng để đặt giá trị ban đầu của thuộc tính CSS của một phần tử. Điều này trở thành giá trị mặc định của thuộc tính CSS. Mỗi thuộc tính CSS có giá trị mặc định khi không có giá trị được gán rõ ràng cho nó.Ví dụ: giá trị ban đầu của thuộc tính 3 CSS là 4. Có những gì được gọi là kiểu trình duyệt của người dùng, đó là kiểu dáng mà trình duyệt cung cấp cho các phần tử HTML. Chúng không liên quan gì đến các giá trị ban đầu của các thuộc tính CSS. A 3 đi kèm với một thuộc tính 3 được đặt thành 7. Điều này đến từ các phong cách trình duyệt. Đặt thuộc tính 3 thành 6 và phần tử 3 sẽ chuyển đổi thành phần tử 4. Ở đây, một ví dụ mà không có 6:
Phần tử 3 là một phần tử khối. Bây giờ, hãy để Lừa đặt thuộc tính 3 phần tử ____ ____833 thành 6.Nhiều bài viết tuyệt vời hơn từ Logrocket:
Dưới đây là một ví dụ với 6;
CSS 3 được đặt trên phần tử 3 với giá trị 6. Điều này làm cho phần tử 3 lấy giá trị ban đầu của thuộc tính 3, đó là 4. Vì vậy, 3 trở thành một yếu tố nội tuyến. Giá trị 6 của thuộc tính 4 CSS là màu đen. Nếu thuộc tính 4 không được chỉ định, màu của nút văn bản phần tử trở thành màu đen.Dưới đây là một ví dụ với giá trị 4:
Giá trị thuộc tính 4 của phần tử 3 được đặt thành 11, do đó màu văn bản sẽ có màu xanh lá cây.Ở đây, một ví dụ với 12 6:
Thuộc tính 4 của phần tử 3 được đặt thành 6, do đó thuộc tính 4 sẽ lấy giá trị mặc định (màu đen). Nút văn bản 18 trong phần tử 3 sẽ có màu đen. form div {font-size: 12px; font-weight: bold;} div.content { /* Can anything go here? */ } 7Tài sản 7 hoạt động trên cả bản chất di truyền và không được sử dụng của các thuộc tính CSS.Tài sản kế thừaĐây là các thuộc tính được tính toán từ phần tử cha theo mặc định. Các thuộc tính thừa kế ảnh hưởng đến trẻ em của yếu tố. Hầu hết các thuộc tính CSS ảnh hưởng đến nút văn bản là các thuộc tính được kế thừa, chẳng hạn như 4, 2, 3, v.v. Nếu chúng ta đặt màu trên phần tử 25 thành màu xanh lá cây, nó sẽ xếp xuống tất cả trẻ em của yếu tố 25 để toàn bộ trang sẽ có màu văn bản màu xanh lá cây.Các thuộc tính không có tính năngĐây là những thuộc tính không được kế thừa hoặc tính toán từ phần tử cha mẹ. Giá trị của nó được thiết lập rõ ràng hoặc theo giá trị ban đầu của nó. Hầu hết các thuộc tính CSS ảnh hưởng đến nút phần tử là các thuộc tính không được tính năng Giá trị 7 hoạt động khác nhau trên các thuộc tính CSS được kế thừa và không được tính năng. Khi giá trị 7 được đặt trên một thuộc tính được kế thừa, nó đặt lại giá trị thuộc tính thành giá trị được kế thừa của nó. Giá trị 7 đặt lại một thuộc tính không được điều chỉnh theo giá trị ban đầu của nó.Dưới đây là một ví dụ về 7 trong một thuộc tính di truyền: 0Phần tử 3 có thuộc tính 4 được đặt thành 11, 25 có thuộc tính 4 được đặt thành 6 và thuộc tính ________ 93 của 4 được đặt thành 7. Thuộc tính màu là thuộc tính CSS được kế thừa, do đó 7 sẽ đặt lại màu của ________ 93 cho màu của cha mẹ của nó ( 25), màu đỏ.Phần tử 3 nên có màu xanh lá cây nhưng vì giá trị 7, màu sắc được lấy từ cha mẹ của nó, 25.Chúng tôi thấy rằng 7 hoạt động trên các thuộc tính được kế thừa giống như từ khóa 5. Chúng tôi có thể đã đặt 5 thành thuộc tính màu của ________ 93 và nó sẽ hoạt động giống như sử dụng 7.Dưới đây, một ví dụ về 7 về các thuộc tính không có mặt: 1Thông thường, trình duyệt tải các trang với kiểu trang của nó. Theo mặc định, thuộc tính ____ 13 của 3 được đặt thành 7. Đó không phải là giá trị mặc định của thuộc tính 3; Giá trị mặc định của nó là 4. Trong mã trên, 3 có thuộc tính 3 được đặt thành 7. 3 này đáng lẽ phải là một yếu tố 7, nhưng vì giá trị 7 trong thuộc tính 3 của nó, nó được đặt lại thành 4. Vì vậy, giá trị 7 hoạt động trên các thuộc tính không được tính năng giống như giá trị 6.
form div {font-size: 12px; font-weight: bold;} div.content { /* Can anything go here? */ } 8Chúng tôi đã thảo luận về các kiểu cơ sở CSS và phong cách tác nhân người dùng trình duyệt. Kiểu cơ sở CSS là giá trị mặc định của các thuộc tính CSS. Đây là những giá trị mặc định tự nhiên đi kèm với các thuộc tính. Phong cách tác nhân người dùng trình duyệt là các giá trị được đặt bởi trình duyệt. Khi tải trang, trình duyệt có kiểu dáng cho một số thuộc tính CSS. Ví dụ: thuộc tính 3 có giá trị cơ sở CSS, đó là 4. Đây là giá trị tự nhiên của nó từ động cơ CSS. Bây giờ, trình duyệt đặt lại thuộc tính 3 thành 7. Kiểu trình duyệt chỉ là nó thêm các tệp 72 của riêng mình mang mã của nó. Từ khóa 8, đảo ngược các giá trị mặc định của CSS với các kiểu tác nhân người dùng trình duyệt.Đây là một ví dụ: 2Ở đây, các yếu tố 3 được đặt là 75. Lưu ý rằng giá trị tác nhân người dùng của trình duyệt ____ 83 là 7. Thuộc tính 3 của ____ 93 được đặt thành 8. Điều này sẽ đặt lại thuộc tính 3 của yếu tố 3 thành 7. 3 sẽ là một yếu tố 7. Sự kết luậnTrong hướng dẫn này, chúng tôi đã tìm hiểu tất cả về kế thừa CSS và khám phá bốn từ khóa chính trong CSS mà bạn có thể sử dụng để chuyển đổi kế thừa: 5, 6, 7 và 8.Frontend của bạn có phải là CPU của người dùng của bạn không?Khi các mặt tiền web ngày càng phức tạp, các tính năng tài nguyên-tài nguyên đòi hỏi ngày càng nhiều từ trình duyệt. Nếu bạn quan tâm đến việc theo dõi và theo dõi việc sử dụng CPU phía máy khách, sử dụng bộ nhớ và nhiều hơn nữa cho tất cả người dùng của bạn trong sản xuất, hãy thử logrocket.https: //logrocket.com/signup/ https://logrocket.com/signup/Logrocket giống như một DVR cho các ứng dụng web và di động, ghi lại mọi thứ xảy ra trong ứng dụng web hoặc trang web của bạn. Thay vì đoán tại sao các vấn đề xảy ra, bạn có thể tổng hợp và báo cáo về các số liệu hiệu suất chính, phát lại các phiên của người dùng cùng với trạng thái ứng dụng, yêu cầu mạng nhật ký và tự động bề mặt tất cả các lỗi. Hiện đại hóa cách bạn gỡ lỗi các ứng dụng web và di động - bắt đầu giám sát miễn phí. Làm thế nào để bạn tránh kế thừa trong CSS?Linked.. cách ngăn CSS kế thừa .. 106. CSS để ngăn chặn phần tử con kế thừa các kiểu cha mẹ .. Cách chọn văn bản trong Li bằng CSS .. -1. Loại bỏ CSS khỏi được áp dụng vào các mục danh sách con .. -1. Cách loại trừ cụ thể biểu mẫu khỏi CSS được áp dụng cho cơ thể .. -1. Cách vô hiệu hóa Kiểu kế thừa từ phần tử cha .. CSS có kế thừa từ cha mẹ không?Tất cả các thuộc tính CSS được phép kế thừa các giá trị của chúng từ cha mẹ hoặc tổ tiên của phần tử, do đó, giá trị kế thừa có thể được sử dụng trên bất kỳ thuộc tính CSS nào.Một số thuộc tính CSS kế thừa các giá trị của chúng tự động từ cha mẹ của phần tử, do tính chất xếp tầng của CSS., so the inherit value can be used on any CSS property. Some CSS properties inherit their values from the element's parent automatically, due to the cascading nature of CSS.
Làm thế nào để bạn loại bỏ thuộc tính kế thừa trong CSS?Từ khóa CSS Untet đặt lại một thuộc tính về giá trị được kế thừa của nó nếu thuộc tính tự nhiên kế thừa từ cha mẹ của nó và giá trị ban đầu của nó nếu không. resets a property to its inherited value if the property naturally inherits from its parent, and to its initial value if not.
Làm thế nào để bạn ngăn chặn thừa kế?Để ngăn chặn sự kế thừa, hãy sử dụng từ khóa "cuối cùng" khi tạo lớp.Các nhà thiết kế của lớp chuỗi nhận ra rằng đó không phải là một ứng cử viên thừa kế và đã ngăn nó được mở rộng.use the keyword "final" when creating the class. The designers of the String class realized that it was not a candidate for inheritance and have prevented it from being extended. |