Các thuộc tính kiểu chéo trong Google devtools có nghĩa là gì?


274

Khi kiểm tra một phần tử bằng devtools của Chrome, trong tab phần 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ố trong những tài sản này được thông qua. Những tính chất này có nghĩa là gì?


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

Câu trả lời:


314

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

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

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


18
Bên cạnh đó, các thuộc tính gạch chéo có thể bị "hủy" 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 thông số CSS.)
Alexander Pavlov 15/12/11

57
@JacobM: Làm thế nào để biết tài sản nào đang ghi đè lên tài sản bị đình công.
ArunRaj

51
@ArunRaj - Không có cách nào dễ dàng để biết tài sản (hoặc thuộc tính) nào đang ghi đè lên tài sản bị gạch bỏ. Một tùy chọn là tìm trong tab kiểu "được 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ả loại thực sự đang hoạt động) . Vì vậy, nếu bạn thấy "font-size: 11px" bị gạch bỏ, hãy tìm trong các thuộc tính được tính cho "cỡ chữ" và bạn sẽ thấy tất cả các vị trí mà cỡ chữ được áp dụng, bao gồm cả vị trí thực sự hoạt động. Hi vọng điêu nay co ich.
Jacob Mattison

7
Hiện tại có một hộp Bộ lọc ở đầu tab Kiểu. Nếu bạn đang tự hỏi những gì đã ghi đè border-colorthì chỉ cần gõ border-colorvào Bộ lọc. Nó sẽ hiển thị tất cả các quy tắc có chứa tài sản đó, với thuộc tính được tô sáng màu vàng. Tính năng này cũng có sẵn trong Firefox.
joeytwiddle

4
Cũng muốn thêm: Nếu một kiểu bị loại bỏ nhưng nó đã ở trên cùng, thì bạn có thể có một kiểu CSS ở đâu đó với !importantđó là ghi đè lên nó.
Đaminh K

12

Còn một chú ý đáng nói. 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 chú ý đặc biệt đến việc áp dụng truy vấn @media SAU KHI bạn đã hoàn thành các kiểu thông thường. Bởi vì truy vấn @media sẽ bị gạch bỏ (mặc dù nó cụ thể hơn) nếu theo sau là css thao tác các phần tử tương tự. Thí 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 **

Điều gì xảy ra nếu các truy vấn phương tiện trong một tệp css khác nhau?
Carlos Hernández Gil

11

Ngoài câu trả lời trên tôi cũng muốn làm nổi bật một trường hợp bất động sản nổi bật khiến tôi thực sự 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ệ hình ảnh cho 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ư: -

.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 kích thước nền như nổi bật. Tôi không chắc tại sao lại như vậy, nhưng vâng, bạn không muốn gây rối với nó.


8

Nếu bạn muốn áp dụng kiểu ngay cả sau khi nhận được dấu hiệu má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 đề.


Tôi gặp vấn đề với quy mô GoogleMap cho điện thoại di động trên phương tiện truyền thông. Tôi có một cài đặt cơ sở cho các trình duyệt (không có phương tiện), theo sau là các phương tiện khác nhau với kích thước nhỏ hơn, những gì không hoạt động (chính xác cho điện thoại di động hiển thị trong GC nhưng với gạch ngang). Sau khi tôi đã thêm! Quan trọng, nó hoạt động, nhưng tôi không hiểu "logic" đằng sau nó ...
FredyWenger

-5

Có một số trường hợp khi bạn sao chép và dán mã CSS vào một nơi nào đó 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 một lần nữa và nó sẽ ổn.


2
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 nên bình luận tốt nhất.
Simon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.