Tôi muốn phân lớp .navbar-inner trong chủ đề tùy chỉnh của mình, nhưng tôi không thể tìm ra cách không hack để tắt gradient (ngoài việc đặt cả hai màu gradient thành cùng một màu mà có vẻ bẩn). Bất kỳ ý tưởng làm thế nào tôi có thể ghi đè (vô hiệu hóa) một mixin từ một phân lớp trong ít hơn ??Twitter bootstrap - làm thế nào để loại bỏ gradient mixin trong phân lớp
Trả lời
Đó là những gì bạn cần đạt được trong css để ghi đè tắt độ dốc.
CSS:
.navbar-inner {
background-color: #2c2c2c;
background-image: none;
background-image: none;
background-image: none;
background-image: none;
background-image: none;
background-image: none;
background-repeat: no-repeat;
filter: none;
}
background-image: none;
phải được sử dụng nhiều lần để ghi đè lên tất cả các tiền tố nhà cung cấp.
Đối với mã Sass: tôi thêm background-color: minh bạch và chuyển nó thành một mixin
@mixin override_gradient_vertical() {
background-color:transparent;
background-image: none;
background-image: none;
background-image: none;
background-image: none;
background-image: none;
background-image: none;
background-repeat: no-repeat;
filter: none;
}
Bây giờ bạn chỉ có thể sử dụng
@include override_gradient_vertical();
Cảm ơn cho các giải pháp . Chỉ cần chia sẻ những gì tôi đã đưa ra sau khi đọc câu trả lời:
Đây là SCSS Tôi đang sử dụng để loại bỏ một gradient đơn giản:
@mixin remove_gradient($color:transparent) {
background-color:$color;
background-image: none;
background-repeat: no-repeat;
filter: none;
}
Lưu ý rằng bạn có thể vượt qua một màu sắc để các mixin (là cần thiết về trường hợp của tôi):
@include remove_gradient(white);
Hoặc để cho nó mặc định trong suốt:
@include remove_gradient();
cho những gì giá trị của nó dưới đây là ít triển khai hơn. tệp bootstrap mixin.less
#gradient{
.remove(@color: transparent) {
background-color:@color;
background-image: none;
background-repeat: no-repeat;
filter: none;
}
}
Gradient được thêm bởi tệp bootstrap_theme.
Tôi thực sự không thích ý tưởng có quá nhiều hình nền. Vì vậy, giải pháp của tôi là nếu bạn đang sử dụng Sass hoặc phiên bản LESS của bootstrap, chỉ cần ghi đè lên dốc bởi những dòng sau ban đầu hiện diện trong _theme.scss
TỪ
.navbar-default {
@include gradient-vertical($start-color: lighten($navbar-default-bg, 10%), $end-color: $navbar-default-bg);
@include reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
border-radius: $navbar-border-radius;
$shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
@include box-shadow($shadow);
.navbar-nav > .active > a {
@include gradient-vertical($start-color: darken($navbar-default-bg, 5%), $end-color: darken($navbar-default-bg, 2%));
@include box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
}
}
ĐẾN
.navbar-default {
@include gradient-vertical($start-color: $navbar-default-bg, $end-color: $navbar-default-bg);
@include reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
$shadow: inset 0 0px 0 rgba(255,255,255,.15), 0 0px 0px rgba(0,0,0,.075);
@include box-shadow($shadow);
.navbar-nav > .active > a {
@include gradient-vertical($start-color: $navbar-default-bg, $end-color: $navbar-default-bg);
@include box-shadow(inset 0 0px 0px rgba(0,0,0,.075));
}
}
Như bạn có thể thấy, điểm bắt đầu và điểm kết thúc có cùng giá trị, do đó chúng ta sẽ không bao giờ thấy hiệu ứng gradient. Đơn giản và sạch sẽ.
- 1. twitter bootstrap - làm thế nào để bỏ qua một dòng?
- 2. Làm thế nào để đính kèm một chức năng để popover bỏ sự kiện (Twitter Bootstrap)
- 3. Làm thế nào để tái sử dụng một lớp học trong sass mà không sử dụng một mixin?
- 4. Twitter bootstrap: làm thế nào để thêm lề bên?
- 5. Làm thế nào để xây dựng Twitter Bootstrap
- 6. Làm thế nào để mở rộng Plugin Twitter Bootstrap
- 7. Twitter Sử dụng lớp tiện ích đáp ứng Bootstrap Twitter
- 8. Làm thế nào để làm đệm trên một dòng chất lỏng trong twitter bootstrap
- 9. Bỏ gắn bó của Twitter bootstrap vào cuộn
- 10. Làm thế nào để bỏ 'Lớp A' vào phân lớp 'Lớp B' - Mục tiêu-C
- 11. Làm thế nào để ghi đè đúng cách một mixin bootstrap box-shadow?
- 12. Làm thế nào để loại bỏ ui bootstrap datepicker chân angularjs
- 13. Twitter Bootstrap ẩn lớp css và jQuery
- 14. Làm thế nào để loại bỏ AspxAutoDetectCookieSupport
- 15. Làm thế nào để loại bỏ elasticsearch?
- 16. Làm thế nào để ẩn (loại bỏ) một phương thức của lớp cơ sở trong C#?
- 17. Làm thế nào để tắt tính năng đáp ứng hoàn toàn từ Twitter Bootstrap 3?
- 18. Làm thế nào để bạn loại bỏ các đơn vị đo lường từ một phương trình mixin Sass?
- 19. Làm thế nào để tạo một tiêu đề lưới bằng cách sử dụng Twitter Bootstrap?
- 20. Thay đổi kiểu btn-group .active trong Twitter Bootstrap
- 21. twitter bootstrap làm từ nguồn
- 22. Làm thế nào để sử dụng biểu tượng Twitter Bootstrap bên trong Nút ASP.NET?
- 23. làm thế nào để phá vỡ từ dài trong Span? (Sử dụng Twitter Bootstrap)
- 24. Twitter Bootstrap ".container" class: Làm thế nào để sử dụng nó theo ngữ nghĩa?
- 25. Twitter-bootstrap: Làm thế nào để sử dụng class-fluid class đúng cách?
- 26. Làm thế nào để loại bỏ đánh chặn trong R
- 27. Làm thế nào để loại bỏ cột DataTable trong C#
- 28. Làm thế nào để loại bỏ bóng đèn trong PHPStorm?
- 29. Làm thế nào để phân lớp UIApplication?
- 30. Làm thế nào để loại bỏ bộ nhớ cache APC
Điều này có mang lại bất kỳ lợi thế hiệu suất nào trên thực tế có độ dốc một màu không? :) – pielgrzym
@pielgrzym ghi đè bằng một gradient màu duy nhất sẽ thực hiện thủ thuật. nhưng không có lợi thế về hiệu suất hoặc quá nhỏ, bạn thậm chí không thể nhận ra nó. – baptme
"background-image: none; phải được sử dụng nhiều lần để ghi đè lên tất cả các tiền tố của nhà cung cấp." đó là sai! chiến thắng cuối cùng, vì vậy một lần là đủ. Trong ví dụ của bạn, bạn ghi đè lên 5 lần định nghĩa của chính bạn trước một dòng. – TLindig