Thay đổi màu sắc svg. Tạo kiểu SVG bằng CSS. Cơ hội và hạn chế. Thông tin chung: SVG

Tiểu luận

Bằng kỷ luật

“Độ tin cậy của hệ thống kỹ thuật và rủi ro do con người tạo ra”

về chủ đề này:

"Nguyên nhân và loại thất bại"


Giới thiệu

Chuyển đổi một đối tượng từ một cha mẹ tình trạng kỹ thuật hạ lưu thường xảy ra do các sự kiện: hư hỏng hoặc hỏng hóc. Tập hợp các trạng thái thực tế của một đối tượng và các sự kiện mới xuất hiện góp phần chuyển đổi sang trạng thái mới bao gồm cái gọi là vòng đời một đối tượng xảy ra theo thời gian và có những mô hình nhất định được nghiên cứu trong lý thuyết độ tin cậy. Bao gồm các khái niệm như hư hỏng, thất bại, v.v. Hãy xem xét các khái niệm này một cách đầy đủ nhất có thể.

Thiệt hại là một sự kiện bao gồm việc vi phạm trạng thái có thể sử dụng được của một đối tượng trong khi vẫn duy trì trạng thái có thể sử dụng được.

Thất bại là một sự kiện liên quan đến vi phạm điều kiện làm việc sự vật.

Liên quan đến hư hỏng và hư hỏng, các tiêu chí như nguyên nhân, triệu chứng, tính chất và hậu quả sẽ được xem xét.

Tiêu chí hư hỏng là những dấu hiệu cho phép chúng ta xác định thực tế có trục trặc. Tiêu chí hư hỏng phổ biến nhất là vết nứt, điều chỉnh, hao mòn, v.v.

Nguyên nhân gây ra sự cố của cơ sở có thể là do khiếm khuyết trong quá trình thiết kế, sản xuất và sửa chữa, vi phạm các quy tắc và quy định vận hành, các loại hư hỏng khác nhau cũng như quá trình hao mòn và lão hóa tự nhiên.

Dấu hiệu hư hỏng đồ vật là những tác động trực tiếp hoặc gián tiếp lên giác quan của người quan sát về các hiện tượng đặc trưng của trạng thái không hoạt động của đồ vật (giảm áp suất dầu, xuất hiện tiếng gõ, thay đổi độ bền của đồ vật). chế độ nhiệt độ vân vân.).

Bản chất của sự cố (hư hỏng) là những thay đổi cụ thể về đối tượng liên quan đến sự xuất hiện của sự cố (đứt dây, biến dạng bộ phận, v.v.).

Trong công việc này, tôi sẽ cố gắng xem xét đầy đủ việc phân loại, nguyên nhân và hậu quả của những thất bại.


1. Khái niệm thất bại

Lỗi là một sự kiện bao gồm việc mất hoàn toàn hoặc một phần chức năng của hệ thống.

Lỗi có thể liên quan đến vi phạm trong việc thực hiện bất kỳ chức năng cụ thể nào (lỗi chức năng) hoặc do nhân viên bảo trì không đủ trình độ, do đó hệ thống không hoạt động chức năng quy định một cách hài lòng. Lỗi có thể liên quan đến những thay đổi về thông số hoặc đặc tính của hệ thống, tức là. một trong những chức năng chính được thực hiện kém (lỗi tham số).

2. Phân loại và đặc điểm hư hỏng

Các hư hỏng có thể được phân loại tùy theo tính chất, đặc điểm của chúng và thời điểm xảy ra. Hãy chuyển sang phân loại lỗi:

Theo tính chất của việc thay đổi tham số cho đến khi xảy ra lỗi:

thất bại đột ngột;

từ chối dần dần.

Liên quan đến các sự cố khác:

thất bại độc lập;

sự cố phụ thuộc.

Nếu có thể, việc sử dụng tiếp theo sau khi xảy ra lỗi:

hoàn toàn thất bại;

thất bại một phần.

Theo bản chất của việc loại bỏ lỗi:

thất bại kéo dài;

sự cố tự sửa chữa (sự cố hoặc sự cố gián đoạn).

Theo sự hiện diện của các biểu hiện bên ngoài:

từ chối rõ ràng (rõ ràng);

sự từ chối ẩn giấu (ngầm).

Do xảy ra:

hư hỏng cấu trúc;

thất bại về công nghệ;

sự cố vận hành.

Theo bản chất nguồn gốc:

thất bại tự nhiên;

sự cố nhân tạo (cố ý gây ra).

Đến lúc thất bại:

thử nghiệm thất bại;

sự cố của giai đoạn chạy thử;

thất bại trong quá trình hoạt động bình thường;

thất bại của giai đoạn hoạt động cuối cùng.

3. Đặc điểm hư hỏng

Dần dần (hao mòn) Lỗi được đặc trưng bởi sự xuất hiện hư hỏng do sự xuất hiện dần dần của một hoặc một quá trình khác, làm xấu đi dần dần các thông số đầu ra của đối tượng.

Thất bại đột ngột phát sinh do sự kết hợp của các yếu tố bất lợi và các tác động ngẫu nhiên bên ngoài vượt quá khả năng nhận thức của đối tượng. Sự cố đột ngột được đặc trưng bởi tính chất đột ngột của việc chuyển một đối tượng từ trạng thái hoạt động sang trạng thái không hoạt động.

Một hư hỏng phức tạp bao gồm các đặc điểm của hai hư hỏng trước đó.

ĐẾN từ chối hoàn toàn Chúng bao gồm các lỗi mà sau đó không thể sử dụng đối tượng theo đúng mục đích đã định (đối với các đối tượng đang được khôi phục thì không thể thực hiện được cho đến khi quá trình khôi phục được tiến hành).

Lỗi một phần- lỗi, sau khi xảy ra, đối tượng có thể được sử dụng cho mục đích đã định nhưng hiệu quả kém hơn hoặc khi giá trị của không phải tất cả mà là một hoặc một số tham số đầu ra nằm ngoài giới hạn cho phép.

Thất bại độc lập- hư hỏng không do các hư hỏng khác hoặc hư hỏng của đối tượng gây ra.

Lỗi phụ thuộc- hư hỏng do các hư hỏng khác hoặc hư hỏng của đối tượng.

Thất bại liên tục- những hư hỏng chỉ có thể được loại bỏ thông qua việc khôi phục (sửa chữa).

Các lỗi có thể được loại bỏ mà không cần hoạt động khôi phục thông qua quy định hoặc tự điều chỉnh được phân loại là tự khắc phục.

Tai nạn- Lỗi tự sửa hoặc lỗi một lần, được loại bỏ nhờ sự can thiệp của người vận hành nhỏ.

Thất bại liên tục- xảy ra nhiều lần các hư hỏng tự sửa chữa có cùng bản chất.

Từ chối rõ ràng - lỗi có thể được phát hiện bằng mắt thường hoặc phương pháp tiêu chuẩn và các phương tiện kiểm soát và chẩn đoán khi chuẩn bị một đối tượng để sử dụng hoặc trong quá trình sử dụng dự kiến.

Lời từ chối ẩn giấu- hư hỏng không được phát hiện bằng mắt thường hoặc bằng các phương pháp, phương tiện kiểm soát và chẩn đoán tiêu chuẩn nhưng được phát hiện trong quá trình thực hiện. BẢO TRÌ hoặc các phương pháp chẩn đoán đặc biệt.

Hầu hết các lỗi tham số được phân loại là ẩn.

Thất bại xây dựng- hư hỏng phát sinh vì lý do liên quan đến sự không hoàn hảo hoặc vi phạm các quy tắc đã được thiết lập và (hoặc) các tiêu chuẩn thiết kế và xây dựng.

Lỗi sản xuất- sai sót do nguyên nhân liên quan đến sự không hoàn hảo hoặc vi phạm quá trình thành lập sản xuất hoặc sửa chữa được thực hiện tại cơ sở sửa chữa.

Lỗi vận hành- lỗi phát sinh do vi phạm các quy tắc đã thiết lập và (hoặc) điều kiện vận hành.

Suy thoái suy thoái- hư hỏng do quá trình lão hóa, mài mòn, ăn mòn và mỏi tự nhiên, tuân thủ tất cả các quy tắc đã được thiết lập và (hoặc) các tiêu chuẩn thiết kế, sản xuất và vận hành.

Các hư hỏng nhân tạo được gây ra một cách có chủ ý, chẳng hạn như nhằm mục đích nghiên cứu, nhằm mục đích ngừng hoạt động, v.v.

Những sai sót xảy ra mà không có sự tổ chức có chủ ý để xảy ra do hành động có chỉ đạo của con người (hoặc thiết bị tự động), được phân loại là hư hỏng tự nhiên.

Nguyên nhân và hậu quả của sự thất bại

Nguyên nhân của sự cố có thể liên quan đến việc vi phạm việc thực hiện bất kỳ chức năng nào được chỉ định (lỗi chức năng) hoặc do nhân viên bảo trì không đủ trình độ chuyên môn, do đó hệ thống không thực hiện thỏa đáng các chức năng đã chỉ định. Lỗi có thể liên quan đến những thay đổi về thông số hoặc đặc tính của hệ thống, tức là. một trong những chức năng chính được thực hiện kém (lỗi tham số). Ngoài ra, nguyên nhân dẫn đến hỏng hóc của đồ vật có thể là do khiếm khuyết trong quá trình thiết kế, sản xuất và sửa chữa, vi phạm các quy tắc và quy định vận hành, các loại hư hỏng khác nhau, cũng như các quá trình hao mòn và lão hóa tự nhiên.

Căn cứ vào giai đoạn phát sinh, khuyết tật có thể được chia thành ba nhóm:

Lỗi thiết kế (lỗi). Điều này có thể bao gồm:

bảo vệ chống rung không đủ;

sự hiện diện của điện áp tăng;

lựa chọn vật liệu không chính xác;

xác định không chính xác mức tải vận hành dự kiến.

Các khiếm khuyết sản xuất. Bao gồm các:

khuyết tật gia công;

khuyết tật hàn;

khuyết tật xử lý nhiệt;

khuyết tật lắp ráp.

Khiếm khuyết vận hành. Điều này có thể bao gồm:

vi phạm các điều khoản sử dụng;

bảo trì và sửa chữa không đúng cách;

sự hiện diện của tình trạng quá tải và tải bất ngờ;

sử dụng vật liệu vận hành chất lượng thấp.

Ngoài ra nguyên nhân thất bại là:

Lỗi cấu trúc do thiếu sót và thiết kế cơ sở kém;

Thất bại trong sản xuất liên quan đến sai sót trong quá trình sản xuất một vật thể do sự không hoàn hảo hoặc vi phạm công nghệ;

Lỗi vận hành do vi phạm quy tắc vận hành.

Bản chất của sự loại bỏ;

Thất bại liên tục;

Lỗi không liên tục (xuất hiện/biến mất).

Hậu quả của lỗi bao gồm các hiện tượng, quá trình và sự kiện phát sinh sau lỗi và có mối liên hệ nhân quả trực tiếp với lỗi đó (động cơ dừng, thời gian ngừng hoạt động cưỡng bức vì lý do kỹ thuật).

Hậu quả của việc từ chối là:

Dễ hư hỏng (dễ khắc phục);

Lỗi trung bình (không gây ra lỗi các nút lân cận - lỗi thứ cấp);

Hư hỏng nghiêm trọng (gây ra hư hỏng thứ cấp hoặc đe dọa đến tính mạng, sức khỏe con người).

Sử dụng thêm đối tượng:

Hoàn thành các lỗi khiến cơ sở không thể hoạt động cho đến khi chúng được loại bỏ;

Lỗi một phần, trong đó đối tượng có thể được sử dụng một phần.

Các chỉ số độ tin cậy cơ bản cho các đối tượng không thể sửa chữa được

Đối tượng không thể khôi phục là đối tượng không thể khôi phục do lỗi.

Xác suất vận hành không có lỗi là xác suất mà trong giới hạn thời gian vận hành, đối tượng không xảy ra lỗi. Trong thực tế, chỉ số này được xác định bằng đánh giá thống kê:

Ở đâu KHÔNG- số lượng đối tượng tương tự được đưa đi thử nghiệm (trong tầm kiểm soát); trong quá trình thử nghiệm, đối tượng bị lỗi không được khôi phục hoặc thay thế bằng đối tượng có thể sử dụng được;

n(t)- số lượng đối tượng bị lỗi theo thời gian t.

Từ định nghĩa về xác suất hoạt động không có lỗi, rõ ràng đặc tính này là hàm của thời gian và là hàm giảm dần và có thể nhận các giá trị từ 1 đến 0.

Đồ thị xác suất hoạt động không bị lỗi của một vật thể

Như có thể thấy từ đồ thị, hàm P(t)đặc trưng cho sự thay đổi về độ tin cậy theo thời gian và là sự đánh giá khá rõ ràng

Đôi khi, trong thực tế, không nên sử dụng xác suất vận hành không lỗi mà sử dụng xác suất lỗi Q(t). Vì khả năng hoạt động và sự cố là các trạng thái không tương thích và đối lập nhau nên xác suất của chúng có liên quan với nhau bởi mối quan hệ:

P(t) + Q(t) = 1.(2)

Theo các định luật lý thuyết xác suất, xác suất vận hành không bị lỗi có thể được xác định theo công thức:

(3)

Ở đâu f(t)- mật độ xác suất (theo luật phân bố).

Vì vậy, biết mật độ xác suất f(t), dễ dàng tìm thấy giá trị mong muốn P(t).

Kết nối giữa P(t), Q(t) và f(t) có thể được giải thích như trong Hình 3.

Giải thích bằng đồ họa về xác suất vận hành không có lỗi và xác suất lỗi

thất bại không thể phục hồi thời gian hoạt động không gặp sự cố

Lưu ý rằng thời gian (theo giờ, năm) không phải lúc nào cũng được sử dụng làm thời gian hoạt động. Ví dụ, để đánh giá xác suất hoạt động không bị lỗi của các thiết bị chuyển mạch có số lượng chuyển mạch lớn, nên lấy số chu kỳ “bật” - “tắt” làm thời gian vận hành thay đổi. Khi đánh giá độ tin cậy của các tiếp điểm trượt, sẽ thuận tiện hơn nếu lấy số lần truyền của cần lấy điện qua tiếp điểm này làm thời gian vận hành và khi đánh giá độ tin cậy của các vật chuyển động, nên lấy thời gian vận hành tính bằng km. Bản chất của các biểu thức đánh giá toán học P(t), Q(t), f(t) tuy nhiên, vẫn không thay đổi.

Thời gian trung bình dẫn đến hư hỏng là kỳ vọng toán học về thời gian tồn tại của một vật thể cho đến lần hư hỏng đầu tiên. T 1.

(4)

Do đó, thời gian trung bình đến khi hỏng hóc bằng diện tích được hình thành bởi xác suất đường cong vận hành không hỏng hóc P(t) và trục tọa độ.

Ước tính thống kê về thời gian trung bình đến khi hư hỏng được xác định theo công thức

Ở đâu KHÔNG- số lượng đối tượng có thể hoạt động và không thể phục hồi cùng loại khi t = 0(khi bắt đầu bài kiểm tra);

t j- chạy đến thất bại j-đối tượng thứ.

Lưu ý rằng, như trong trường hợp định nghĩa P(t) Thời gian trung bình đến khi hỏng hóc có thể được đánh giá không chỉ bằng giờ (năm) mà còn tính bằng chu kỳ, km và các lý lẽ khác.

Tỷ lệ hư hỏng là mật độ xác suất có điều kiện của việc xảy ra hư hỏng đối tượng, được xác định với điều kiện là hư hỏng đó không xảy ra trước thời điểm được xem xét. Từ định nghĩa xác suất suy ra rằng

(6)

Việc đánh giá thống kê tỷ lệ hư hỏng có dạng:

(7)

Ở đâu N(Δ t)- số lần thất bại của các đối tượng tương tự trong khoảng Δ t 𝑖 , trong đó tỷ lệ hư hỏng được xác định;

N trung bình 𝑖 - số lượng đối tượng hoạt động ở giữa khoảng Δ t 𝑖 (xem Hình 4).

(8)

Sơ đồ xác định N trung bình

N 𝑖 +1 - số lượng đối tượng hoạt động ở cuối khoảng Δ t 𝑖 .

Nếu khi đánh giá thống kê tỷ lệ thất bại, thời gian thử nghiệm được chia thành một số lượng đủ lớn các khoảng giống nhau Δ t phía sau lâu dài thì kết quả xử lý số liệu thực nghiệm sẽ là đồ thị như Hình 5.

Đường cong cuộc sống của đối tượng

Như nhiều dữ liệu từ phân tích độ tin cậy của hầu hết các đối tượng cho thấy, sự phụ thuộc tổng quát tuyến tính hóa λ(t) là một đường cong phức tạp với ba khoảng đặc trưng (I, II, III). Trên khoảng II (t 2 - t 1) λ = const. Khoảng thời gian này có thể hơn 10 năm, nó gắn liền với hoạt động bình thường của cơ sở vật chất. Khoảng I (t 1 - 0) thường được gọi là khoảng thời gian chạy vào của các phần tử. Nó có thể tăng hoặc giảm tùy theo mức độ tổ chức loại bỏ nguyên tố tại nhà máy sản xuất, trong đó các nguyên tố có khuyết tật bên trong được kịp thời loại bỏ khỏi lô sản xuất. Mức độ lỗi trong khoảng thời gian này phần lớn phụ thuộc vào chất lượng lắp ráp mạch của các thiết bị phức tạp, việc tuân thủ các yêu cầu lắp đặt, v.v. Việc chuyển mạch các mạch đã lắp ráp đang tải sẽ dẫn đến sự “đốt cháy” nhanh chóng các phần tử bị lỗi và sau một thời gian t 1, chỉ còn lại các phần tử có thể sử dụng được trong mạch và hoạt động của chúng gắn liền với λ = const. Trong khoảng III (t > t 2), do các quá trình lão hóa, mài mòn, ăn mòn tự nhiên, v.v. gây ra, tỷ lệ hư hỏng tăng mạnh và số lượng hư hỏng do suy thoái tăng lên. Để đảm bảo λ = const, cần thay thế các phần tử không thể sửa chữa được bằng các phần tử mới có thể sử dụng được hoặc các phần tử có chức năng đã hoạt động được trong thời gian t ≤ t 2. Khoảng λ = const tương ứng với mô hình hàm mũ của phân bố xác suất của hoạt động không có lỗi. Ở đây chúng tôi lưu ý rằng với l = const, việc tính toán độ tin cậy được đơn giản hóa đáng kể và λ thường được sử dụng làm chỉ số ban đầu về độ tin cậy của một phần tử.


Thời gian xảy ra lỗi theo phần trăm gamma là thời gian vận hành trong đó lỗi xảy ra trên một đối tượng sẽ không xảy ra với xác suất γ, được biểu thị bằng phần trăm, nếu không thì đây là thời gian tối thiểu để xảy ra lỗi mà phần trăm gamma của các đối tượng thuộc loại này sẽ có. Thông thường γ = 100%.


Phần kết luận

Từ tất cả những điều trên, chúng ta có thể kết luận rằng thất bại là một phần không thể thiếu của bất kỳ công nghệ nào. Mọi thứ đều có ngày hết hạn của nó. Sớm hay muộn, bộ phận đó sẽ bị hao mòn, biến dạng, hư hỏng, v.v. khiến toàn bộ hoặc một phần thiết bị không còn hoạt động. Sự kiện này thường được gọi là thất bại. Đổi lại, sự thất bại là động lực cho sự phát triển của công nghệ hiện đại hơn.


Thư mục

1. Độ tin cậy của hệ thống kỹ thuật: Sổ tay. / Yu.K. Belyaev, V.A. Bogatyrev, V.V. Bolotin. Ed. I.A. Ushakova - M.: Đài phát thanh và truyền thông 1985

Độ tin cậy của hệ thống kỹ thuật. Bobrov V.I. Sách giáo khoa - Mátxcơva: MSUP, 2004

GOST 27.002-89 “Độ tin cậy trong công nghệ. Các khái niệm, thuật ngữ và định nghĩa cơ bản"

Nguồn thông tin chính về độ tin cậy trong doanh nghiệp là việc thu thập thông tin về các lỗi chức năng. Lỗi là tình trạng hệ thống trong đó thiết bị không thể thực hiện các chức năng dự định và duy trì mức hiệu suất được chỉ định. Nói cách khác, đây là sự kiện biểu hiện ở việc mất toàn bộ hoặc một phần chức năng của thiết bị hoặc hệ thống.

Các hư hỏng được phân loại theo một số đặc điểm và các điều kiện xảy ra hư hỏng. Sau đó đưa ra các biện pháp để ngăn chặn và loại bỏ chúng.

Phân loại, đặc điểm và nguyên nhân hư hỏng

Theo tính chất thay đổi tham số của đối tượng:

  • Lỗi dần dần (tham số) là một lỗi xảy ra do sự thay đổi dần dần, dần dần của một hoặc nhiều tham số mà không có bước nhảy vọt. Sự hư hỏng dần dần có thể được ngăn ngừa và sửa chữa thông qua việc bảo trì định kỳ. Nguyên nhân: lão hóa vật liệu, ăn mòn, mài mòn các bộ phận, v.v.
  • Sự cố đột ngột (tức thời).Đặc trưng bởi sự thay đổi đột ngột, đột ngột của một hoặc nhiều thông số. Thường biểu hiện dưới dạng hư hỏng tự phát đột ngột (vết nứt, vỡ, hỏng hóc, v.v.) và không kèm theo các dấu hiệu rõ ràng về cách tiếp cận của nó. Nguyên nhân: khiếm khuyết bên trong, lỗi của nhân viên bảo trì, vi phạm điều kiện vận hành. Tuy nhiên, hầu hết các nguyên nhân xảy ra thường không được xác định ngay lập tức, không được xác định trong một thời gian và được phân biệt bằng lý thuyết xác suất.

Liên quan đến sự cố của các đối tượng khác:

  • Độc lậpđược gọi là một lỗi không do các lỗi khác gây ra. Những lý do có thể là bất cứ điều gì khác ngoài những thất bại khác.
  • Sự phụ thuộc một hư hỏng gây ra bởi các hư hỏng khác sẽ được xem xét. Nguyên nhân là do các thành phần khác của đối tượng hoặc hệ thống bị hư hỏng và hỏng hóc.

Vì lý do phát sinh:

  • Lỗi kết cấu phát sinh do hậu quả của sự không hoàn hảo và lỗi thiết kế. Lý do: sai sót trong quá trình phát triển và thiết kế cơ sở, đánh giá thấp giới hạn an toàn, vi phạm tiêu chuẩn GOST, v.v.
  • Lỗi sản xuất do vi phạm công nghệ sản xuất hoặc lỗi liên quan đến sửa chữa. nguyên nhân : không tuân thủ các tiêu chuẩn tài liệu, sử dụng vật liệu và linh kiện chất lượng thấp, không đủ trình độ kiểm soát chất lượng sản xuất, v.v.
  • Lỗi vận hành xuất hiện do hậu quả của việc vi phạm các quy tắc và/hoặc điều kiện vận hành của thiết bị và có thể biểu hiện cả trong giai đoạn đầu và sau đó. Nguyên nhân: sai sót của nhân viên phục vụ tay nghề thấp, bỏ qua/vi phạm nội quy tài liệu kỹ thuật, cũng như sự lão hóa và hao mòn của thiết bị vì những lý do trên.
  • Suy thoái suy thoáiđược đặc trưng bởi sự tiếp cận dần dần của một vật thể đến trạng thái giới hạn (hao mòn vật lý) dưới tác động của các lý do sau: hao mòn, lão hóa và mệt mỏi trong khi tuân thủ các tiêu chuẩn vận hành sản xuất.

Theo bản chất của việc loại bỏ:

  • Tự sửa lỗi- Đây là sự cố xảy ra một lần của thiết bị hoặc hệ thống và có thể biến mất mà không cần sự can thiệp của con người hoặc chỉ cần can thiệp nhỏ. Nguyên nhân: sự can thiệp ngắn hạn từ bên ngoài, sự thay đổi ngắn hạn của các thông số đối tượng.
  • Thất bại liên tục- Đây là sự thất bại lặp đi lặp lại có tính chất tương tự. nguyên nhân : sự can thiệp từ bên ngoài vượt quá giới hạn kỹ thuật chấp nhận được và có thể đảo ngược được.
  • Thất bại liên tục- một lỗi chỉ có thể được loại bỏ thông qua việc khôi phục (sửa chữa).

Bằng phương pháp phát hiện:

  • Từ chối rõ ràng (rõ ràng)- thiếu các chức năng của thiết bị mà nhân viên bảo trì có thể phát hiện bằng mắt trong điều kiện bình thường;
  • Lời từ chối ẩn giấu - một loại hư hỏng mà nhân viên vận hành không nhận thấy được trong điều kiện bình thường nếu nó xảy ra một cách tự động.

Theo thời điểm xảy ra:

  • Lỗi ban đầu (chạy vào)- lỗi, xảy ra ở giai đoạn hoạt động ban đầu của đối tượng (sản phẩm) và chủ yếu bị ẩn tym. Nguyên nhân: chất lượng vật liệu kém, vi phạm công nghệ thiết kế, lắp ráp hoặc sản xuất; thiếu kiểm soát chất lượng, v.v.
  • Thời gian hoạt động bình thường- hư hỏng xảy ra giữa giai đoạn chạy thử và giai đoạn hao mòn. Đây là nhiều nhất một thời gian dài, trong đó đặc tính của thiết bị, sản phẩm không thay đổi. Nguyên nhân thất bại ở giai đoạn này có thể là tải cao, phá hủy dưới tác động cơ học bên ngoài, v.v.
  • Mặc thất bại- đây là lỗi gây ra bởi hậu quả không thể khắc phục được của sự lão hóa của vật liệu và sự mài mòn của các bộ phận. Những lý do nằm ở chính định nghĩa của thuật ngữ này.

Theo mức độ ảnh hưởng đến hiệu suất:

  • Từ chối hoàn toànđược đặc trưng bởi sự mất chức năng của thiết bị hoặc hệ thống, khiến cho cơ sở không thể vận hành thêm.
  • Lỗi một phầnđược đặc trưng bởi việc duy trì khả năng hoạt động của thiết bị, nhưng làm giảm hiệu quả và chất lượng sản xuất. Có thể vận hành thêm nhưng với những hạn chế về tải, năng suất, tốc độ, v.v.

Nguyên nhân của những sai sót này là do tình trạng quá tải không lường trước được, khiếm khuyết về linh kiện và vật liệu, sai sót và trình độ nhân sự thấp, lỗi hệ thống điều khiển, v.v.

Để tìm hiểu thêm về phương pháp RCM và Phần mềm RCM Navigator, cũng như các bước chính để triển khai thành công, hãy viết thư cho chúng tôi: [email được bảo vệ] hoặc gọi: 8 800 555 30 53.

CSS đang trở nên mạnh mẽ hơn mỗi ngày với nhiều tính năng mới xuất hiện để tạo giao diện người dùng dễ dàng hơn nhiều. Và điều đó thật tuyệt vời!

Một tính năng như vậy trong CSS là bộ lọc. Hãy thử sử dụng các bộ lọc để làm việc với hình ảnh SVG.

Bộ lọc CSS

Đầu tiên, chúng ta hãy xem xét các bộ lọc. Chúng bao gồm các tính năng sau:

  • mơ hồ()
  • độ sáng()
  • sự tương phản()
  • bóng đổ()
  • thang độ xám()
  • màu sắc-xoay()
  • đảo ngược()
  • độ mờ()
  • bão hòa()
  • màu nâu đỏ()

Bộ lọc CSS là cách dễ nhất để thực hiện các phép biến đổi cơ bản theo cách hiệu quả với trình duyệt.

Nếu bạn muốn xem từng bộ lọc hoạt động như thế nào, chúng tôi khuyên bạn nên truy cập trang web: cssfilters.co.

Chỉnh sửa nền SVG

Tôi thích sử dụng định dạng SVG (đồ họa vector có thể mở rộng) trên web. SVG là một định dạng hình ảnh tuyệt vời cho web. Khi bạn thêm SVG vào một trang, bạn có quyền truy cập vào mọi thành phần và thuộc tính trong đó. Điều này cho phép bạn thêm hoạt ảnh, thay đổi màu sắc và thêm thông tin một cách linh hoạt. SVG cũng tuyệt vời cho các biểu tượng.

SVG thường được sử dụng làm hình nền. TRONG trong trường hợp này Bạn mất quyền kiểm soát các yếu tố của hình ảnh. Bạn không còn có thể thay đổi màu sắc, thuộc tính khi SVG trở thành một bức ảnh thông thường. Mũi sử dụng CSS bộ lọc bạn có thể giải quyết vấn đề này.

Điều chỉnh độ sáng

Điều đầu tiên tôi gặp phải khi làm việc với các biểu tượng là cần phải làm tối biểu tượng màu trắng trên nền sáng. Để tránh tạo biểu tượng tối mới, tôi đã sử dụng bộ lọc: độ sáng().

Giá trị độ sáng lớn hơn 1 làm cho phần tử sáng hơn, nhỏ hơn 1 làm cho phần tử tối hơn.

Biểu tượng có màu sắc #000 hoặc rbg(0, 0, 0) sẽ không được làm rõ. Chúng phải có bất kỳ màu nào khác.

Điều chỉnh màu sắc

Chúng tôi đã xem cách thay đổi độ sáng của biểu tượng. Nhưng nếu chúng ta muốn thay đổi màu sắc của biểu tượng thì sao? Trong trường hợp này, bộ lọc sẽ giúp chúng ta màu nâu đỏ, xoay sắc, độ sángbão hòađể tạo ra bất kỳ màu nào chúng ta muốn.

Từ màu trắng, bạn có thể tạo, ví dụ: xanh lam, lục lam và hồng.

Tô màu-hồng ( filter: độ sáng(0.5) nâu đỏ(1) màu sắc-xoay(-70deg) bão hòa(5); .colorize-navy ( filter: độ sáng(0.2) nâu đỏ(1) màu sắc-xoay(180deg) bão hòa( 5 ); ) .colorize-blue ( bộ lọc: độ sáng(0.5) nâu đỏ(1) màu sắc-xoay(140deg) bão hòa(6); )

Khả năng tương thích

Tại thời điểm viết bài, các bộ lọc được hỗ trợ bởi các trình duyệt sau:

Thay vì một kết luận

Đừng bao giờ quên người dùng của bạn. Cho đến nay, các bộ lọc không hoạt động ở mọi nơi. Do đó, không sử dụng các biểu tượng bộ lọc màu trắng trên nền trắng, vì một số người dùng sẽ không nhìn thấy gì. Ngoài ra, đừng quên văn bản thay thế cho hình ảnh.


Bài viết gốc: link Tác giả bài viết: Alex. Loại:
Ngày xuất bản: 01/04/2018

Bài viết chi tiết về tạo kiểu nội dung trong phần tử SVG và khắc phục các vấn đề liên quan.

Đồ họa ở định dạng SVG đặc biệt thường được sử dụng để tạo biểu tượng và một trong những kỹ thuật phổ biến nhất cho việc này là các họa tiết SVG sử dụng SVG để tạo biểu tượng ở đúng vị trí trong tài liệu.

Khởi tạo các biểu tượng hoặc bất kỳ nội dung SVG nào khác vào một phần tử gây khó khăn khi thiết kế các bản sao riêng lẻ. Mục đích của bài viết này là cung cấp cho bạn cái nhìn tổng quan về một số những cách có thể bỏ qua các hạn chế thiết kế liên quan đến việc sử dụng .

Nhưng trước khi bắt đầu, chúng ta hãy xem nhanh cấu trúc cơ bản và nhóm các thành phần trong SVG, dần dần chuyển sang , DOM và sau đó quay lại CSS. Chúng ta sẽ xem xét lý do tại sao thiết kế có thể gây ra khó khăn và cách khắc phục chúng.

Tổng quan nhanh về cấu trúc, nhóm và tham chiếu phần tử SVG trong SVG

SVG bao gồm 4 thành phần cơ bản để xác định, cấu trúc và liên kết đến nội dung SVG trong tài liệu. Những phần tử này cho phép tái sử dụng hình ảnh trong khi vẫn giữ cho mã có thể đọc và bảo trì được. Do tính chất của SVG, một số thành phần này có chức năng tương tự như các lệnh tương ứng trong trình chỉnh sửa đồ họa.

4 thành phần nhóm và liên kết chính của SVG là: , , .

Yếu tố (viết tắt của “group”) được sử dụng để nhóm một cách hợp lý các tập hợp liên quan đến nhau yếu tố đồ họa. Về mặt biên tập đồ họa (chẳng hạn như Adobe Illustrator) yếu tố Chức năng của nó tương tự như chức năng “Nhóm đối tượng”. Bạn cũng có thể coi nhóm như một lớp trong trình chỉnh sửa đồ họa.

Việc nhóm các phần tử rất hữu ích trong trường hợp bạn muốn áp dụng một kiểu cho tất cả các phần tử của một nhóm cũng như khi bạn muốn tạo hoạt ảnh cho tất cả các phần tử của một nhóm trong khi vẫn duy trì mối quan hệ giữa chúng.

Yếu tố được sử dụng để xác định nhiều thứ, chủ yếu xác định các mẫu như độ dốc, sau đó có thể được sử dụng để điền vào các phần tử SVG khác. Nó có thể được sử dụng để xác định bất kỳ phần tử nào bạn định sử dụng ở bất kỳ đâu trên khung vẽ.

Yếu tố kết hợp khả năng một cái được sử dụng để nhóm các phần tử lại với nhau nhằm tạo ra một mẫu có thể được tham chiếu ở nơi khác trong tài liệu. không giống , không dùng để đặt mẫu; nó thường được sử dụng để tạo các ký hiệu như biểu tượng, sau đó được sử dụng trong toàn bộ tài liệu.

Tại phần tử Có một lợi thế quan trọng khác: nó chấp nhận thuộc tính viewBox, cho phép thu phóng trong mọi phạm vi.

Yếu tố cho phép bạn sử dụng phần tử được xác định trước đó ở bất kỳ đâu trong tài liệu. Nó cho phép bạn sử dụng lại các phần tử và cung cấp chức năng tương tự như sao chép-dán trong trình chỉnh sửa đồ họa. Nó có thể được sử dụng như một phần tử đơn lẻ hoặc như một nhóm được chỉ định trong , hoặc .

Để sử dụng một phần tử, bạn cần chuyển một liên kết đến phần tử này, mã định danh là thuộc tính xlink:href và định vị nó bằng cách đặt thuộc tính x và y. Bạn có thể áp dụng kiểu cho một phần tử và chúng sẽ xếp tầng vào nội dung của phần tử này.

Nhưng nội dung là gì? ? Nó nhân bản ở đâu? Và CSS Cascade hoạt động như thế nào với nó?

Trước khi chúng tôi trả lời những câu hỏi này và vì chúng tôi chỉ xem nhanh cấu trúc và nhóm SVG, cần đề cập đến một số bài viết sẽ cho phép bạn tìm hiểu thêm về các phần tử này, cũng như thuộc tính viewBox trên một phần tử :

  • Cấu trúc, nhóm và liên kết trong SVG - Các phần tử g, use, defs và ký hiệu
  • Tìm hiểu hệ tọa độ SVG (Phần 1): Viewport, viewBox và PreserveAspectRatio

SVG và bóng tối DOM

Khi bạn đề cập đến một phần tử với , mã của bạn trông giống như thế này:

Một biểu tượng được hiển thị trên màn hình, nội dung của nó được xác định nội bộ , nhưng thực ra đó là nội dung của phần tử , đó là một bản sao .

Nhưng phần tử nó chỉ là một phần tử tự đóng - không có nội dung giữa thẻ mở và thẻ đóng, vậy nội dung được sao chép ở đâu? ?

Câu trả lời là ở bóng tối DOM(không hiểu sao tôi luôn liên tưởng anh ấy với Batman, tôi không biết tại sao).

Bóng DOM là gì?

Shadow DOM giống hệt với DOM thông thường, ngoại trừ việc thay vì là một phần của cây tài liệu chính, các nút DOM bóng đề cập đến một đoạn tài liệu song song với tài liệu chính nhưng không thể truy cập được bằng các tập lệnh và kiểu của nó. Điều này tạo cơ hội cho tác giả sáng tạo thành phần mô-đun, đóng gói các tập lệnh và phong cách. Nếu bạn đã từng sử dụng phần tử video hoặc đầu vào phạm vi trong HTML5 và không hiểu trình phát video hoặc điều khiển thanh trượt đến từ đâu, thì câu trả lời vẫn giống nhau - Shadow DOM.

Trong trường hợp phần tử SVG , nội dung mà nó đề cập đến sẽ được sao chép vào một đoạn tài liệu “được lưu trữ” trong . Trong trường hợp này đây là một máy chủ bóng tối.

Vì vậy nội dung (bản sao hoặc bản sao của phần tử mà nó đề cập đến) hiện diện bên trong đoạn tài liệu bóng.

Nói cách khác, nội dung vẫn ở đó nhưng không thể nhìn thấy được. Giống như nội dung của DOM thông thường, nhưng không thể truy cập được bằng các tính năng cấp cao như bộ chọn CSS và JavaScript, được sao chép vào một đoạn tài liệu được liên kết với .

Bây giờ, nếu bạn là nhà thiết kế, bạn có thể đang nghĩ, "Được rồi, tôi hiểu rồi, nhưng có cách nào để kiểm tra tài liệu phụ này và xem nội dung của nó không." Câu trả lời là có, bạn có thể xem nội dung của Shadow DOM bằng các công cụ phát triển trong Chrome (trong Firefox trên khoảnh khắc này chức năng này không có sẵn). Nhưng trước tiên, bạn cần kích hoạt trình kiểm tra DOM bóng trong tab Chung của bảng cài đặt. Điều này được mô tả chi tiết.

Sau khi bật Kiểm tra Shadow DOM trong Công cụ dành cho nhà phát triển, bạn có thể thấy các phần tử được sao chép trong Hộp công cụ, giống như các phần tử DOM thông thường. TRÊN hình ảnh tiếp theo một ví dụ về một phần tử được hiển thị , tham chiếu nội dung của phần tử . Xin lưu ý rằng “#shadow-root” và nội dung của nó là bản sao của nội dung .

Sử dụng công cụ Nhà phát triển Chrome, bạn có thể kiểm tra nội dung của phần tử use bên trong bóng DOM (“#shadow-root”, dòng được tô sáng xám). Ảnh chụp màn hình này kiểm tra logo Codrops từ ví dụ mà chúng ta sẽ xem xét trong phần tiếp theo.

Nhìn vào mã được kiểm tra, bạn có thể thấy rằng DOM bóng rất giống với DOM thông thường, ngoại trừ cách nó được xử lý bằng CSS và JavaScript của tài liệu chính. Ngoài ra còn có những khác biệt khác giữa hai điều này mà chúng tôi sẽ không đề cập trong bài viết này do độ dài, vì vậy nếu bạn muốn tìm hiểu thêm, tôi khuyên bạn nên tham khảo các bài viết sau:

  • Shadow DOM 101 (bản dịch của Frontender.info)
  • Giới thiệu về Shadow DOM (Video)

Với kinh nghiệm hạn chế của tôi với Shadow DOM, tôi xem nó như một DOM thông thường cần được xử lý khác nhau về quyền truy cập CSS và JavaScript vào các phần tử của nó. Đây là điều quan trọng đối với chúng tôi khi làm việc với SVG: cách tác động đến nội dung bên trong Shadow DOM, vì điều quan trọng là chúng ta có thể tạo kiểu cho nó. Toàn bộ quan điểm của việc sử dụng đây là khả năng tạo các bản sao khác nhau của một phần tử và trong hầu hết các trường hợp, chúng ta cần có khả năng tạo kiểu cho mỗi bản sao một cách khác nhau. Ví dụ: đây có thể là biểu trưng có hai chủ đề màu hoặc biểu tượng nhiều màu cho các chủ đề màu khác nhau. Vì vậy, điều quan trọng đối với chúng ta là có thể thực hiện được điều này bằng CSS.

Như đã nêu, nội dung của Shadow DOM không thể truy cập được bằng CSS, không giống như DOM thông thường. Vậy chúng ta tạo kiểu cho nó như thế nào? Chúng ta không thể sử dụng đường dẫn con cháu như thế này:

Sử dụng path#line ( đột quỵ: #009966; )

Bởi vì chúng tôi không có quyền truy cập vào Shadow DOM bằng bộ chọn CSS thông thường.

Bạn có thể mong đợi, giống như tôi, rằng các thuộc tính trình bày có tính đặc hiệu cao nhất trong tất cả các quy tắc kiểu dáng. Xét cho cùng, các kiểu bên ngoài thường được ghi đè bằng các khai báo bên trong và đến lượt chúng, các kiểu này lại bị ghi đè bởi các kiểu thuộc tính nội tuyến - chúng có độ đặc hiệu tối đa và theo đó, có mức độ ưu tiên cao hơn các kiểu khác. Mặc dù kỳ vọng này có lý nhưng cơ chế hoạt động thực tế lại khác.

Trên thực tế, các thuộc tính trình bày được coi là “tờ định kiểu tác giả” cấp thấp và chúng bị ghi đè bởi các khai báo kiểu khác: kiểu bên ngoài, kiểu bên trong và kiểu nội tuyến. Điểm mạnh duy nhất của họ là sự ưu tiên của họ so với phong cách kế thừa. Đó là tất cả.

Bây giờ chúng ta đã giải quyết xong, hãy quay lại phần tử của chúng ta và nội dung của nó.

Chúng tôi biết rằng chúng tôi không thể đặt kiểu trong nội bộ sử dụng Bộ chọn CSS.

Nhưng chúng ta cũng biết rằng, cũng như với nguyên tố , kiểu được áp dụng cho sẽ được kế thừa bởi tất cả con cháu của nó (nằm trong Shadow DOM).

Vì vậy, trước tiên hãy thử thay đổi màu tô của phần tử bên trong bằng cách áp dụng bộ chọn cho chính phần tử đó với kỳ vọng rằng tầng và tính kế thừa sẽ thực hiện công việc của chúng.

Tuy nhiên, điều này đặt ra một số câu hỏi:

  1. Màu tô sẽ được kế thừa tất cả con cháu yếu tố , ngay cả những kiểu bạn không muốn áp dụng kiểu cho (nhưng nếu bên trong Nếu bạn chỉ có một phần tử thì vấn đề này sẽ không xảy ra).
  2. Nếu bạn xuất SVG từ biên tập đồ họa hoặc nếu không thì không thể sửa đổi mã SVG, khi đó bạn sẽ phải làm việc với SVG đã được áp dụng các thuộc tính trình bày (trừ khi bạn ghi đè rõ ràng điều này khi xuất sang định dạng SVG) và các giá trị của các thuộc tính đó sẽ được ưu tiên hơn thừa hưởng từ .

Và ngay cả khi bạn có thể chỉnh sửa mã SVG và loại bỏ chúng, tôi thực sự khuyên bạn không nên làm như vậy vì những lý do sau:

  1. Việc xóa các thuộc tính để đặt các thuộc tính nhất định sau đó sẽ đặt lại giá trị của các thuộc tính này về mặc định và theo quy tắc, đây là màu đen và nét vẽ (liên quan đến màu sắc).
  2. Bằng cách đặt lại các giá trị, bạn buộc mình phải tạo kiểu cho toàn bộ tập hợp thuộc tính.
  3. Các thuộc tính trình bày, được đặt ban đầu, là một phương án dự phòng tuyệt vời trong trường hợp có vấn đề với kiểu bên ngoài. Nếu CSS không tải, biểu tượng của bạn vẫn trông đẹp.

Vì vậy, chúng tôi có các thuộc tính này, nhưng chúng tôi muốn tạo kiểu khác nhau cho các phiên bản khác nhau của biểu tượng.

Điều này được thực hiện bằng cách buộc các thuộc tính trình bày kế thừa các kiểu được chỉ định hoặc tìm cách ghi đè các giá trị này. Để làm được điều này, chúng ta sẽ phải sử dụng toàn bộ sức mạnh của CSS xếp tầng.

Hãy bắt đầu với ví dụ đơn giản và dần dần chuyển sang những cái phức tạp.

Viết lại các giá trị thuộc tính trình bày bằng CSS

Các thuộc tính trình bày bị ghi đè bởi bất kỳ khai báo kiểu nào. Chúng ta có thể sử dụng điều này để đảm bảo rằng thuộc tính trình bày nhận được giá trị được kế thừa từ các kiểu .

Điều này thật dễ dàng nhờ từ khóa CSS kế thừa. Hãy xem ví dụ sau - một biểu tượng kem được vẽ bằng một đường viền duy nhất, màu sắc mà chúng ta muốn thay đổi trong các trường hợp khác nhau. Biểu tượng được tạo bởi Erin Agnoli từ Dự án Danh từ.

Nội dung của biểu tượng kem (đường dẫn) của chúng tôi được xác định bên trong phần tử , có nghĩa là nó sẽ không được hiển thị trên canvas theo mặc định.

Chúng tôi hiển thị nhiều phiên bản của một biểu tượng bằng cách sử dụng .

Chúng tôi đặt chiều rộng và chiều cao của các biểu tượng bằng CSS. Tôi đang sử dụng cùng kích thước với viewBox nhưng chúng không nhất thiết phải giống nhau. Tuy nhiên, để tránh khoảng trắng dư thừa trong SVG, hãy đảm bảo bạn duy trì tỷ lệ khung hình.

Biểu tượng (chiều rộng: 100px; chiều cao: 125px; )

Với mã này, chúng tôi nhận được kết quả sau:

Lưu ý rằng nhờ có thêm các đường viền màu đen xung quanh SVG của chúng tôi, bạn có thể thấy đường viền của từng SVG, bao gồm cả đường viền đầu tiên mà nội dung không được hiển thị. Hãy nhớ: tài liệu SVG mà ký hiệu bạn đã xác định sẽ được hiển thị trên trang nhưng không có nội dung. Để ngăn chặn điều này, hãy sử dụng thuộc tính display: none trên SVG đầu tiên. Nếu bạn không ẩn SVG với các định nghĩa biểu tượng, nó sẽ xuất hiện trên màn hình ngay cả khi bạn không chỉnh kích thước nó - nó sẽ chiếm kích thước mặc định là 300 x 150 pixel (đây là giá trị mặc định cho các phần tử không được thay thế trong CSS) và cuối cùng bạn sẽ có một khối trống trên màn hình mà bạn không cần.

Bây giờ hãy thử thay đổi màu tô cho từng phiên bản biểu tượng:

Use.ic-1 ( điền: skyblue; ) use.ic-2 ( điền: #FDC646; )

Màu tô của các biểu tượng vẫn không thay đổi vì màu kế thừa bị ghi đè bởi thuộc tính fill="#000" trong phần tử đường dẫn. Để ngăn điều này xảy ra, chúng ta cần buộc đường dẫn kế thừa màu:

Đường dẫn Svg ( điền: kế thừa; )

Thì đấy! Màu sắc, được cấp cho các phần tử bây giờ được áp dụng cho đường dẫn của mỗi người trong số họ. Hãy xem bản demo và thử nghiệm các giá trị bằng cách tạo các phiên bản và cung cấp cho chúng các màu khác nhau:

Bây giờ kỹ thuật này hoạt động sau khi chúng tôi buộc nội dung kế thừa phong cách Nhưng trong nhiều trường hợp đây không hẳn là điều bạn cần. Có nhiều phương pháp thiết kế khác, bây giờ chúng ta sẽ chuyển sang một số phương pháp trong số đó.

Thiết kế nội dung sử dụng thuộc tính CSS all

Cách đây một thời gian, khi đang làm việc với một biểu tượng được kích hoạt bằng , tôi cần một trong các phần tử bên trong nó để kế thừa tất cả các kiểu , chẳng hạn như fill , đột quỵ , chiều rộng nét , độ mờ và thậm chí biến đổi . Vì vậy, tôi cần kiểm soát tất cả các thuộc tính này thông qua CSS, đồng thời giữ tất cả các thuộc tính trình bày trong phần đánh dấu làm dự phòng.

Nếu gặp một tác vụ tương tự, chắc hẳn bạn sẽ nghĩ sẽ mất quá nhiều thời gian để làm mọi thứ trong CSS:

Path#myPath ( fill: kế thừa; đột quỵ: kế thừa; chiều rộng nét: kế thừa; biến đổi: kế thừa; /* ... */ )

Sau khi xem đoạn mã này, bạn sẽ nhận thấy một mẫu, điều đó có nghĩa là sẽ hợp lý khi kết hợp tất cả các thuộc tính được chỉ định thành một và đặt nó thành kế thừa.

May mắn thay, thuộc tính CSS all có thể giúp chúng ta. Sách tham khảo CSS của tôi đề cập đến việc sử dụng thuộc tính all để tạo kiểu cho SVG, nhưng nó đáng để xem lại.

Sử dụng thuộc tính all chúng ta có thể làm điều này:

Đường dẫn#myPath ( all: kế thừa; )

Điều này hoạt động tốt trong tất cả các trình duyệt hỗ trợ tất cả , nhưng có một điều quan trọng cần xem xét: khai báo này yêu cầu phần tử kế thừa tất cả các thuộc tính của phần tử mẹ, bao gồm cả những thuộc tính mà bạn không muốn phần tử có. Vì vậy, trừ khi bạn muốn tất cả các thuộc tính CSS được tạo kiểu, điều này sẽ không hiệu quả với bạn - đó là giải pháp cuối cùng và chỉ phù hợp một phần khi bạn có một phần tử chưa được định kiểu và toàn quyền kiểm soát phía trên các thuộc tính của nó trong CSS. Nếu bạn sử dụng khai báo này và không xác định giá trị cho tất cả thuộc tính CSS, chúng sẽ xếp tầng cho đến khi tìm thấy giá trị để kế thừa, trong hầu hết các trường hợp là kiểu mặc định của trình duyệt.

Lưu ý rằng điều này chỉ áp dụng cho các thuộc tính có thể được đặt bằng CSS, không áp dụng cho các thuộc tính chỉ có thể được đặt trong SVG. Nếu thuộc tính có thể được đặt bằng CSS, nó sẽ kế thừa các kiểu, nếu không thì không.

Khả năng cho phép kế thừa các thuộc tính trình bày cho tất cả các kiểu , nhưng điều gì sẽ xảy ra nếu bạn có một biểu tượng bao gồm một số thành phần và bạn không muốn tất cả chúng kế thừa cùng một màu tô? Nếu bạn muốn áp dụng nhiều màu sắc khác nhauđiền vào cho các con cháu khác nhau? Chỉ định một kiểu trong không còn phù hợp nữa. Chúng ta cần một cái gì đó khác biệt để sắp xếp các màu sắc phù hợp cho các phần tử phù hợp.

Sử dụng biến CSS currentColor để tạo kiểu cho nội dung

Việc sử dụng biến CSS currentColor kết hợp với kỹ thuật được mô tả ở trên cho phép bạn xác định hai màu cho một phần tử thay vì chỉ một màu. Fabrice Weinberg đã viết về điều này một năm trước.

Ý tưởng là áp dụng đồng thời cho các thuộc tính điền và tô màu, sau đó xếp các thuộc tính đó vào nội dung , sử dụng các khả năng của biến currentColor. Hãy xem một số mã ví dụ để hiểu cách nó hoạt động.

Giả sử chúng ta muốn thiết kế logo Codrops tối giản này bằng 2 màu - một cho mặt trước và một cho mặt sau.

Trước tiên, hãy bắt đầu với mã cho hình ảnh này: chúng ta có một biểu tượng chứa mô tả về biểu tượng và ba trường hợp , tạo ba bản sao của logo.

Nếu chúng ta đặt màu tô trong phần tử đối với mỗi trường hợp, màu này sẽ được cả hai đốm màu kế thừa, đây không phải là mục tiêu của chúng tôi.

Vì vậy, thay vì xác định màu tô và xếp tầng theo cách thông thường, chúng ta sẽ sử dụng biến currentColor để đốm màu nhỏ hơn ở nền trước sẽ có màu khác và chúng ta sẽ đặt giá trị đó bằng thuộc tính color.

Trước tiên, chúng ta cần chèn currentColor vào nơi chúng ta muốn áp dụng màu này - đây sẽ là vị trí trong phần đánh dấu nơi biểu tượng được xác định, nghĩa là bên trong . Bây giờ đoạn này trông như thế này:

Sau đó, chúng ta cần loại bỏ thuộc tính tô màu trình bày khỏi giọt thứ hai và để nó kế thừa màu tô từ phần tử sử dụng kế thừa.

Nếu chúng ta sử dụng từ khóa kế thừa để buộc các thuộc tính trình bày kế thừa các giá trị từ , cả hai phần sẽ kế thừa cùng giá trị và currentColor sẽ không có hiệu lực. Do đó, trong kỹ thuật này, chúng ta cần loại bỏ thuộc tính mà chúng ta muốn đặt thông qua CSS và chỉ để lại thuộc tính mà chúng ta sẽ sử dụng currentColor .

Bây giờ, bằng cách sử dụng các thuộc tính tô màu và tô màu trong Chúng tôi sẽ thêm kiểu vào phần thả từ logo:

Codrops-1 ( điền: #4BC0A5; màu: #A4DFD1; ) .codrops-2 ( điền: #0099CC; màu: #7FCBE5; ) .codrops-3 ( điền: #5F5EC0; màu: #AEAFDD; )

Mỗi phần tử nhận được giá trị riêngđiền và tô màu. Trong mỗi màu, màu tô được xếp tầng để tô vào đường dẫn đầu tiên không có thuộc tính tô màu và thuộc tính màu color được sử dụng để đặt thuộc tính tô màu trong đường dẫn thứ hai.

Vì vậy, điều đã xảy ra là giá trị màu hiện tại bị rò rỉ vào kiểu nội dung của phần tử bằng cách sử dụng biến currentColor. Thật duyên dáng phải không?

Đây là bản demo với mã được sử dụng:

Kỹ thuật hai màu này rất phù hợp cho các logo hai màu. Trong bài viết của mình, Fabrice đã tạo ra ba phiên bản khác nhau Logo Sass, thay đổi màu sắc của văn bản so với nền.

Từ khóa currentColor là biến CSS duy nhất hiện có. Tuy nhiên, nếu chúng ta có nhiều biến hơn, liệu chúng ta có thể sử dụng chúng để điền thêm hơn các giá trị trong nội dung ? Vâng chúng ta có thể. Amelia Bellamy-Royds đã giới thiệu ý tưởng này trên blog Codepen của cô ấy một năm trước. Hãy xem nó hoạt động như thế nào.

Tương lai: Thiết kế nội dung sử dụng các biến CSS

Mã robot chứa tất cả các màu tạo nên nó:

Bây giờ, chúng ta sẽ không sử dụng các biến CSS làm giá trị thuộc tính điền cho mỗi đường viền. Thay vào đó, chúng ta sẽ sử dụng chúng làm màu tô bằng thuộc tính CSS fill, giữ nguyên tất cả các thuộc tính tô màu. Các thuộc tính này sẽ được sử dụng làm dự phòng cho các trình duyệt không hỗ trợ biến CSS - hình ảnh sẽ xuất hiện như thể các biến CSS không hoạt động.

Với các biến được thêm vào, mã sẽ như sau:

Vì thẻ kiểu nội tuyến ghi đè các thuộc tính trình bày nên các trình duyệt hỗ trợ biến CSS sẽ sử dụng các biến này để đặt màu tô. Các trình duyệt không hỗ trợ chúng sẽ sử dụng thuộc tính điền.

Tiếp theo chúng ta cần thiết lập giá trị cho các biến trong CSS. Nhưng trước tiên chúng ta khởi tạo hình ảnh bằng cách sử dụng :

<xlink:href="#robot" id="robot-1" />

Sau đó, chúng ta sẽ đặt giá trị của các biến sẽ sử dụng để chúng có thể xếp tầng theo nội dung của nó. Những màu sắc bạn chọn sẽ tạo nên bảng màu của bức vẽ. Vì rô-bốt của chúng tôi sử dụng ba màu cơ bản nên chúng tôi sẽ gọi chúng là màu chính, màu phụ và màu cấp ba.

#robot-1 ( --primary-color: #0099CC; --secondary-color: #FFDF34; --tertiary-color: #333; )

Bạn vẫn có thể sử dụng các thuộc tính tô màu và tô màu kết hợp với các biến này, nhưng bạn có thể thoát khỏi nó một cách bình thường. Vì vậy, với màu sắc được chỉ định trong các biến của chúng tôi, robot trông như thế này:

Bạn có thể sử dụng bao nhiêu bản sao của hình ảnh tùy thích và đặt một bộ màu khác nhau cho mỗi hình ảnh đó, tạo ra chủ đề đa dạng. Điều này hữu ích một phần khi bạn muốn thiết kế logo những cách khác tùy thuộc vào bối cảnh và những người khác trường hợp tương tự.

Như đã đề cập, các trình duyệt không hỗ trợ biến CSS sử dụng các thuộc tính trình bày nhất định làm dự phòng và các trình duyệt hỗ trợ biến CSS sẽ sử dụng chúng để điền thuộc tính điền và ghi đè thuộc tính. Nhưng điều gì sẽ xảy ra nếu trình duyệt hỗ trợ các biến CSS nhưng bạn lại quên đặt các biến này theo kiểu hoặc đặt sai giá trị?

Đối với robot hipster của chúng tôi, chúng tôi đặt ba biến và chỉ một số mảnh của nó không phụ thuộc vào chúng - xét cho cùng, ban đầu nó được phát triển theo chủ đề có thể có. Vì vậy, nếu bạn chạy mã này trong trình duyệt hỗ trợ các biến CSS và xóa tất cả các khai báo khai báo các biến đó, bạn sẽ nhận được kết quả sau:

Nếu giá trị biến không được đặt hoặc không chính xác, trình duyệt sẽ sử dụng màu mặc định, thường là màu đen để tô và vẽ nét trong SVG.

Một cách giải quyết cho vấn đề này là đặt màu khác làm màu dự phòng cho các trình duyệt hỗ trợ. Cú pháp biến CSS cho phép bạn thực hiện điều này: Thay vì chuyển tên biến làm đối số cho var(), bạn chuyển hai đối số được phân tách bằng dấu phẩy - tên biến và tên dự phòng, trong trường hợp này là giá trị cho thuộc tính trình bày.

Vì vậy, bây giờ mã robot của chúng tôi trông như thế này:

Và đó là tất cả. Nếu bất kỳ biến nào không được đặt giá trị thì trình duyệt sẽ luôn có một bộ màu làm dự phòng. Tuyệt vời.

Sử dụng kỹ thuật này, bạn có thể hiển thị robot này ở bất cứ đâu trên trang bằng cách sử dụng , gán các màu khác nhau cho từng phiên bản và cuối cùng tạo ra các chủ đề màu khác nhau.

Bạn có thể thử nghiệm bản demo, tạo bao nhiêu bản sao của robot tùy thích và tô màu nó bằng bất kỳ màu nào - chỉ cần nhớ rằng bạn phải sử dụng trình duyệt hỗ trợ các biến CSS để thực hiện việc này:

Nếu bạn xem bản demo này trong trình duyệt hỗ trợ các biến CSS, bạn sẽ thấy phiên bản màu xanh và màu vàng của robot cùng với các phiên bản khác, giống như chúng tôi đã đặt trong các biến CSS. Nếu không, bạn sẽ thấy ba rô-bốt giống hệt nhau có màu dự phòng.

Tổng hợp

Đây là một bài viết tuyệt vời.

Sử dụng sức mạnh của CSS Cascade, tạo kiểu nội dung được lưu trữ trong Shadow DOM trở nên ít phức tạp hơn. Và với các biến CSS (currentColor hoặc thuộc tính tùy chỉnh), chúng ta có thể tiếp cận Shadow DOM và tùy chỉnh đồ họa theo cách chúng ta muốn, đồng thời tạo dự phòng trong trường hợp có sự cố.

Cá nhân tôi thực sự thích sự kết hợp giữa các biến CSS và SVG. Tôi thích chức năng kết hợp của chúng, đặc biệt là về mặt tạo cơ chế dự phòng.

Chúng tôi cũng có thể nhận được những cách khác để tạo kiểu cho nội dung. trong tương lai, khi các cuộc thảo luận tiếp tục về việc sử dụng biến CSS làm tham số SVG - vì vậy bài viết này không đề cập đến mọi thứ cần tìm hiểu về chủ đề này.

Làm việc với khả năng tái sử dụng nội dung SVG là một trong những vấn đề phức tạp với SVG, nó liên quan đến hành vi và vị trí của mã được sao chép. Có rất nhiều vấn đề liên quan nảy sinh ở đây có thể trở thành chủ đề của các bài viết riêng.

Trang này hướng dẫn cách sử dụng CSS với ngôn ngữ đặc biệt để tạo đồ họa: SVG.

Bạn sẽ làm ví dụ nhỏ, có thể chạy trong bất kỳ trình duyệt nào hỗ trợ SVG.

Thông tin chung: SVG

SVG(Đồ họa vectơ có thể mở rộng) là một tập hợp con của ngôn ngữ XML và được thiết kế để tạo đồ họa.

SVG có thể được sử dụng để hình ảnh tĩnh, cũng như cho hoạt ảnh và tạo giao diện người dùng.

Giống như các ngôn ngữ dựa trên XML khác, SVG hỗ trợ sử dụng các biểu định kiểu CSS, cho phép bạn phân tách Các tùy chọn khác nhau hiển thị trực quan của cấu trúc dữ liệu.

Ngoài ra, các biểu định kiểu mà bạn sử dụng trong các ngôn ngữ đánh dấu tài liệu khác có thể chứa tham chiếu đến đồ họa SVG ở những nơi cần có hình ảnh. Ví dụ: trong biểu định kiểu cho tài liệu HTML, bạn có thể chỉ định liên kết (URL) tới đồ họa SVG trong thuộc tính nền.

Một số chi tiết

Tại thời điểm viết bài (giữa năm 2011), hầu hết các trình duyệt hiện đại đều có hỗ trợ SVG cơ bản, bao gồm trình duyệt web IE 9 trở lên. Một số tính năng SVG nâng cao không được hỗ trợ hoặc chỉ được hỗ trợ một phần trong một số trình duyệt nhất định. Để biết thêm thông tin về hỗ trợ SVG hiện tại, hãy xem bảng SVG trên caniuse.com hoặc xem bảng tương thích tham chiếu phần tử SVG để biết thông tin về hỗ trợ phần tử riêng lẻ.

Trong các phiên bản khác, bạn có thể thêm hỗ trợ SVG bằng cách cài đặt một plugin bổ sung, chẳng hạn như do Adobe cung cấp.

Hơn thông tin chi tiết về SVG trong Mozilla, xem trang SVG trên wiki này.

Bắt đầu làm việc: Bản demo SVG

Tạo nên tài liệu mới SVG như thường lệ tập tin văn bản,doc8.svg. Sao chép và dán nội dung của khối bên dưới, đảm bảo cuộn hết cỡ để sao chép mọi thứ:

Trình diễn SVG Bắt đầu với Mozilla CSS - Trình diễn SVG Trình diễn SVG Di chuyển con trỏ chuột lên bông hoa.

Tạo nên tập tin mới CSS, style8.css. Sao chép và dán nội dung của khối bên dưới, đảm bảo cuộn hết cỡ để sao chép mọi thứ:

/*** Trình diễn SVG ***/ /* trang */ svg ( màu nền: màu be; ) #heading ( cỡ chữ: 24px; độ dày phông chữ: in đậm; ) #caption ( cỡ chữ: 12px; ) /* hoa */ #flower:hover ( con trỏ: crosshair; ) /* gradient */ #fade-stop-1 ( stop-color: blue; ) #fade-stop-2 ( stop-color: trắng; ) /* cánh hoa bên ngoài */ #outer-petals ( opacity: .75; ) #outer-petals .segment-fill ( fill: azure; nét: lightsteelblue; nét rộng: 1; ) #outer-petals .segment-edge ( fill: none; nét: deepskyblue; chiều rộng nét: 3; ) #outer-petals .segment:hover > .segment-fill ( fill: mận; nét: none; ) #outer-petals .segment:hover > .segment-edge ( nét: đá phiến; ) /* cánh hoa bên trong */ #inner-petals .segment-fill ( fill: yellow; nét vẽ: yellowgreen; nét rộng: 1; ) #inner-petals .segment-edge ( fill: none; nét: yellowgreen; đột quỵ: 9; ) #inner-petals .segment:hover > .segment-fill ( fill: darkseagreen; đột quỵ: none; ) #inner-petals .segment:hover > .segment-edge ( đột quỵ: green; )

Mở tài liệu trong trình duyệt hỗ trợ SVG của bạn. Di chuyển con trỏ chuột lên hình ảnh.

Wiki này không hỗ trợ chèn SVG vào trang nên chúng tôi không thể trình bày ở đây. Hình ảnh sẽ trông như thế này:

Cái gì tiếp theo?

Trong bản demo này, trình duyệt hỗ trợ SVG của bạn đã biết cách hiển thị các phần tử SVG. Bảng định kiểu chỉ thay đổi cách hiển thị theo một cách nào đó. Điều tương tự cũng xảy ra với tài liệu HTML và XUL. Tuy nhiên, CSS có thể được sử dụng cho bất kỳ tài liệu XML nào không có cách mặc định để hiển thị các phần tử. Ví dụ này được hiển thị trên trang sau: