2010-06-15 45 views
175

Trong khi kiểm tra một phần tử bằng cách sử dụng các công cụ tìm kiếm của Chrome, trong tab yếu tố, thanh 'Kiểu' bên phải hiển thị các thuộc tính CSS tương ứng. Đôi khi, một số thuộc tính này bị tấn công. Những đặc tính này có ý nghĩa gì?Thuộc tính kiểu được gạch chéo trong devtools của Google Chrome có nghĩa là gì?

+3

Tôi đã dự đoán câu hỏi này. 1 cho điều này. –

Trả lời

222

Khi thuộc tính CSS hiển thị là bị xuyên thủng, có nghĩa là kiểu gạch chéo được áp dụng, nhưng sau đó được ghi đè bằng công cụ chọn cụ thể hơn, quy tắc địa phương hơn hoặc thuộc tính sau trong cùng một quy tắc.

(Các trường hợp đặc biệt: kiểu cũng sẽ được hiển thị là bị đánh dấu nếu kiểu có trong quy tắc phù hợp nhưng được nhận xét hoặc nếu bạn đã tắt theo cách thủ công bằng cách bỏ chọn nó trong công cụ dành cho nhà phát triển Chrome. cũng hiển thị là bị gạch ngang, nhưng có biểu tượng lỗi, nếu kiểu có lỗi cú pháp.)

Ví dụ: nếu màu nền được áp dụng cho tất cả div s, nhưng màu nền khác được áp dụng cho div s một id nhất định, màu đầu tiên sẽ hiển thị nhưng sẽ bị gạch chéo, vì màu thứ hai đã thay thế nó (trong danh sách thuộc tính cho số div với id đó).

+17

Trên một lưu ý phụ, các thuộc tính được gạch chéo có thể là các thuộc tính được "hủy bỏ" bởi các thuộc tính cùng tên sau này trong cùng một quy tắc CSS (theo yêu cầu của đặc tả CSS) –

+34

@JacobM: Cách biết thuộc tính nào ghi đè thuộc tính striked . – ArunRaj

+32

@ArunRaj - Không có cách nào dễ dàng để cho biết thuộc tính (hoặc thuộc tính) nào đang ghi đè một thuộc tính bị gạch chéo.Một tùy chọn là tìm trong tab kiểu "tính toán" để tìm cùng loại thuộc tính và sau đó nếu bạn mở rộng, bạn sẽ thấy nguồn của các quy tắc khác nhau đang cố gắng áp dụng thuộc tính đó (bao gồm cả thuộc tính đang hoạt động) . Vì vậy, nếu bạn thấy rằng "font-size: 11px" bị gạch ngang, hãy xem các thuộc tính được tính toán cho "kích thước phông chữ" và bạn sẽ thấy tất cả các địa điểm mà kích thước phông chữ được áp dụng, bao gồm cả kích thước thực tế đang hoạt động. Hi vọng điêu nay co ich. –

6

Ngoài câu trả lời ở trên, tôi cũng muốn nêu bật một trường hợp tài sản bị làm nổi bật khiến tôi ngạc nhiên.

Nếu bạn đang thêm một hình ảnh nền cho một div:

<div class = "myBackground"> 

</div> 

Bạn muốn chia tỷ lệ ảnh để phù hợp với kích thước của div vì vậy đây sẽ là định nghĩa lớp bình thường của bạn.

.myBackground { 

height:100px; 
width:100px; 
background: url("/img/bck/myImage.jpg") no-repeat; 
background-size: contain; 

} 

nhưng nếu bạn trao đổi thứ tự như sau: -

.myBackground { 
height:100px; 
width:100px; 
background-size: contain; //before the background 
background: url("/img/bck/myImage.jpg") no-repeat; 
} 

sau đó trong chrome bạn sẽ thấy background-kích thước như striked ra. Tôi không chắc chắn tại sao điều này, nhưng yeah bạn không muốn gây rối với nó.

5

Trên ghi chú bên. Nếu bạn đang sử dụng các truy vấn @media (chẳng hạn như @media screen (max-width:500px)) hãy đặc biệt chú ý đến việc áp dụng truy vấn @media SAU bạn đã hoàn tất các kiểu bình thường. Bởi vì truy vấn @media sẽ bị gạch chéo (mặc dù nó cụ thể hơn) nếu theo sau là css điều khiển các phần tử giống nhau. Ví dụ:

@media (max-width:750px){ 
#buy-box {width: 300px;} 
} 

#buy-box{ 
width:500px; 
} 

** width will be 500px and 300px will be crossed out in Developer Tools. ** 

#buy-box{ 
width:500px; 
} 

@media (max-width:750px){ 
#buy-box {width: 300px;} 
} 

** width will be 300px and 500px will be crossed out ** 
+0

không có vấn đề gì: D – sanjihan

-1

Có một số trường hợp bạn sao chép và dán mã CSS ở đâu đó và nó phá vỡ định dạng để Chrome hiển thị cảnh báo màu vàng. Bạn nên thử định dạng lại mã CSS và nó sẽ ổn.

+1

Câu hỏi không hỏi gì về "cảnh báo màu vàng". Câu trả lời này sẽ là một bình luận tốt nhất. – Simon

2

Nếu bạn muốn áp dụng phong cách ngay cả sau khi nhận được dấu hiệu đâm thủng, bạn có thể sử dụng "!important" để thực thi kiểu. Nó có thể không phải là một giải pháp đúng nhưng giải quyết vấn đề.

Các vấn đề liên quan