2012-05-17 5 views
45

Mã khởi động twitter có rất nhiều thuộc tính CSS với số !default ở cuối.Giá trị mặc định trong giá trị thuộc tính css có nghĩa là gì?

Ví dụ:

p { 
    color: white !default; 
} 

!default làm gì?

CẬP NHẬT

xấu của tôi vì không rõ ràng. Tôi đang sử dụng cổng Sass của Bootstrap.

+0

Không hiện diện trong css 2.1 http://www.w3.org/TR/CSS2/ – Marcin

+1

bao giờ nhìn thấy nó trước đây. có thể là một cái gì đó mà chỉ áp dụng cho bootstrap, có lẽ họ có một số loại phân tích mà trông cho rằng – Huangism

Trả lời

31

Twitter Bootstrap sử dụng LESS như tôi đã thấy. Mặt khác, !default is actually part of Sass và được sử dụng để cung cấp các biến Sass ($var) giá trị mặc định, làm cho giá trị này không hợp lệ trong ngữ cảnh đã cho, ngay cả trong Sass.

Bên cạnh đó, tôi không thể tìm thấy bất kỳ tham chiếu nào đến !default trong the LESS documentation và theo hiểu biết của tôi, nó độc quyền cho Sass. Bạn có chắc bạn đã tìm thấy điều này trong nguồn của Bootstrap chứ không phải ở nơi khác? Bởi vì tôi thành thật không nhớ khi thấy mã Sass/SCSS trong bản định kiểu Bootstrap.

Đối với giá trị của nó, mã thông báo hợp lệ duy nhất bắt đầu bằng ! trong CSS là !important, which you may already be aware of.

+1

OK, tôi chỉ cần tải về và grepped một bản sao tươi của Bootstrap, và thực sự, điều này là decidedly * không * từ nguồn của Bootstrap ... – BoltClock

+1

Anh ta có thể bị nhầm lẫn, hoặc anh ta có thể sử dụng [Cổng Sass Bootstrap] (https://github.com/jlong/sass-twitter-bootstrap). Dù thế nào đi nữa, anh ta hỏi một câu hỏi không rõ ràng. – thirtydot

+0

@thirtydot: Thú vị, tôi không biết về một cổng như vậy. Các mã được đưa ra ở trên vẫn còn không hợp lệ Sass mặc dù, và tôi thậm chí không cần phải grep cổng Sass để biết. – BoltClock

21

! Mặc định được sử dụng thường xuyên trong Bootstrap Sass. Nó tương tự như đảo ngược! Tất cả các Bootstraps Variables được thiết lập bằng cách sử dụng mặc định để cho phép nhà phát triển tùy chỉnh thêm bootstrap. Với mặc định sass sẽ chỉ xác định một biến nếu nó chưa được thiết lập.

Điều này cho phép linh hoạt hơn.

//Example1 Dress color = red 
$auroras-dress-color: blue; 
$auroras-dress-color: red; 

//Example2 Dress color = red 
$auroras-dress-color: blue !default; 
$auroras-dress-color: red; 

//Example3 Dress color = blue 
$auroras-dress-color: blue; 
$auroras-dress-color: red !default; 

Vậy tại sao điều này quan trọng? Bootstrap là một gói. Hầu hết mọi người không chỉnh sửa nguồn Bootstrap. KHÔNG BAO GIỜ CẬP NHẬT NGUỒN BOOTSTRAP. Để tùy chỉnh bootstrap, bạn sẽ thêm tập tin biến riêng của bạn và biên dịch nó với mã bootstrap nhưng không bao giờ chạm vào gói bootstrap gốc. Trang của Bootstrap sass có đầy đủ gầy về cách tùy chỉnh và biên dịch nó trong các tài liệu.

Tôi không biết tại sao ít hơn không làm điều này. Tôi đã không làm việc nhiều với ít hơn và không biết nếu nó có riêng của nó được xây dựng trong quản lý biến.

Ví dụ fiddle https://jsfiddle.net/siggysid/344dnnwz/