Hướng dẫn override inline css without important - ghi đè css nội tuyến mà không quan trọng

10

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một thành phần góc, tạo ra các thuộc tính nội tuyến style trong HTML kết quả.

Thí dụ :


HTML của thành phần đó là:

Có cách nào để ghi đè chiều rộng/chiều cao của my_component từ tệp CSS bên ngoài không? Tôi đã thử nhiều bộ chọn, tôi luôn bị ghi đè bởi kiểu nội tuyến ...

! Quan trọng là làm việc, nhưng tôi muốn biết nếu có cách khác hơn là sử dụng! Quan trọng.

Hướng dẫn override inline css without important - ghi đè css nội tuyến mà không quan trọng

Boltclock

678K156 Huy hiệu vàng1362 Huy hiệu bạc1335 Huy hiệu Đồng156 gold badges1362 silver badges1335 bronze badges

Hỏi ngày 19 tháng 12 năm 2018 lúc 15:16Dec 19, 2018 at 15:16

4

Nếu chúng ta nghĩ về điều này khác nhau khi xem xét rằng bạn muốn ghi đè chiều rộng/chiều cao thì có, bạn có thể làm điều đó với chiều rộng tối thiểu/chiều cao tối thiểu:

#my_component {
  min-width:200px;
  min-height:200px;
  background:red;
}

Và để chính xác hơn, bạn có thể thêm phiên bản tối đa-* để chắc chắn rằng bạn có chiều cao/chiều rộng cố định:

#my_component {
  min-width:200px;
  min-height:200px;
  max-width:200px;
  max-height:200px;
  background:red;
}

Đã trả lời ngày 19 tháng 12 năm 2018 lúc 16:09Dec 19, 2018 at 16:09

Hướng dẫn override inline css without important - ghi đè css nội tuyến mà không quan trọng

Temani Afiftemani AfifTemani Afif

224K19 Huy hiệu vàng259 Huy hiệu bạc364 Huy hiệu đồng19 gold badges259 silver badges364 bronze badges

1

Không.

Cách duy nhất để ghi đè quy tắc CSS mà không sử dụng !important là sử dụng bộ chọn cụ thể hơn.

Không có bộ chọn cụ thể hơn thuộc tính style.

Đã trả lời ngày 19 tháng 12 năm 2018 lúc 15:20Dec 19, 2018 at 15:20

QuentinentinQuentin

879K121 Huy hiệu vàng1178 Huy hiệu bạc1289 Huy hiệu đồng121 gold badges1178 silver badges1289 bronze badges

Tính đặc hiệu của CSS hoạt động trong một hệ thống phân cấp

  1. !important ghi đè
  2. Phong cách nội tuyến
  3. ID's - HTML:
    1, CSS:
    2
  4. Các lớp - HTML:
    3, CSS:
    4
  5. Các yếu tố và yếu tố giả (
    5,
    6).

Bạn có thể đọc thêm về nó ở đây

Nhưng như những người khác đã nói, trong ngắn hạn, không.

Hungerstar

20,7K6 Huy hiệu vàng47 Huy hiệu bạc59 Huy hiệu Đồng6 gold badges47 silver badges59 bronze badges

Đã trả lời ngày 19 tháng 12 năm 2018 lúc 15:21Dec 19, 2018 at 15:21

Hướng dẫn override inline css without important - ghi đè css nội tuyến mà không quan trọng

Dan Scottdan ScottDan Scott

5543 Huy hiệu bạc10 Huy hiệu đồng3 silver badges10 bronze badges

3

Đã từng có một lỗi trong đó bộ chọn chứa 256 sẽ ghi đè một ID. Có thể có một số giới hạn trên cho bộ đếm và đi qua sẽ gây ra sự ghi đè cho giá trị tiếp theo (bộ chọn của 256 ID sẽ ghi đè một kiểu nội tuyến).

Tôi nghĩ rằng Lỗi 256 lớp đã được sửa và tôi không biết liệu điều này có được thực hiện hay không bằng cách tăng số lượng lớp cần thiết hay đưa vào vị trí để ngăn chặn nó xảy ra nữa.

Từ góc độ học thuật thuần túy, có thể ghi đè một phong cách nội tuyến mà không cần sử dụng !important nhưng nó sẽ là một lỗi khai thác trái ngược với một phần của thông số kỹ thuật / một ý tưởng tốt.

Đã trả lời ngày 19 tháng 12 năm 2018 lúc 15:42Dec 19, 2018 at 15:42

James Longjames dàiJames Long

4.5321 Huy hiệu vàng18 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge18 silver badges30 bronze badges

Làm thế nào để bạn ghi đè nội tuyến CSS mà khô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 một bộ chọn cụ thể hơn.Không có bộ chọn cụ thể hơn thuộc tính kiểu.Lưu câu trả lời này.use a more specific selector. No selector is more specific than the style attribute. Save this answer.

Làm thế nào để bạn ghi đè phong cách nội tuyến trong CSS?

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 đi trước tất cả các thuộc tính CSS khác cho phần tử đó.important keyword is used. This makes the CSS property precede all the other CSS properties for that element.

Làm thế nào để tôi bỏ qua CSS quan trọng?

Cách duy nhất để ghi đè một!Quy tắc quan trọng là bao gồm một quy tắc quan trọng khác!Điều này làm cho mã CSS khó hiểu và việc gỡ lỗi sẽ khó khăn, đặc biệt nếu bạn có một bảng kiểu lớn!include another ! important rule on a declaration with the same (or higher) specificity in the source code - and here the problem starts! This makes the CSS code confusing and the debugging will be hard, especially if you have a large style sheet!

Làm thế nào để bạn tránh quan trọng?

Để tránh sử dụng!Quan trọng, tất cả những gì bạn cần làm là tăng tính đặc hiệu.Trong trường hợp của bạn, cả hai bộ chọn của bạn đều có độ đặc hiệu giống hệt nhau.Vấn đề rất có thể là do truy vấn truyền thông của bạn được đặt trước "CSS bình thường" của bạn, và do đó bị ghi đè.increase specificity. In your case, both of your selectors have identical specificity. The issue is most likely caused by your media query being placed before your "Normal CSS", and thus getting overridden.