sass的默认变量通常是用来设置默认值,而后根据需求来覆盖的。
覆盖的方式也很简单,只须要在默认变量以前从新声明下变量便可css
存放变量的文件。语义化的变量名,值为直接的属性值。 // Table of Contents..variables.scss // // 1. Colors // 2. Options // 3. Spacing // 4. Body // 5. Links // 6. Grid breakpoints // 7. Grid containers // 8. Grid columns // 9. Fonts // 10. Components // 11. Tables // 12. Buttons // 13. Forms // 14. Dropdowns // 15. Z-index master list // 16. Navbar // 17. Navs // 18. Pagination // 19. Jumbotron // 20. Form states and alerts // 21. Cards // 22. Tooltips // 23. Popovers // 24. Tags // 25. Modals // 26. Alerts // 27. Progress bars // 28. List group // 29. Image thumbnails // 30. Figures // 31. Breadcrumbs // 32. Media objects // 33. Carousel // 34. Close // 35. Code $gray-dark: #292b2c !default; $gray: #464a4c !default;
不一样组件的scss独立出来。好比在_alert.scss中的.alert类中用到.variables.scss定义的对应变量。组件文件互不引用。入门文件统一管理。bootstrap
_alert.scss _animation.scss _badge.scss .alert { padding: $alert-padding-y $alert-padding-x; margin-bottom: $alert-margin-bottom; border: $alert-border-width solid transparent; @include border-radius($alert-border-radius); }
有几个入口文件对组件进行按顺序的引入,造成不一样的专用,造成完整可用的样式,注意引用顺序。sass
bootstrap.scsside
Core variables and mixins工具
custom(自定义覆盖默认变量值)flex
variablesthis
mixinsspa
Reset and dependenciescode
Core CSSorm
Components
Components w/ JavaScript
Utility classes
bootstrap.scss bootstrap-flex.scss bootstrap-grid.scss bootstrap-reboot.scss -----bootstrap.scss // Core variables and mixins @import "custom"; @import "variables"; @import "mixins"; // Reset and dependencies @import "normalize"; @import "print"; // Core CSS @import "reboot"; @import "type"; @import "images"; @import "code"; @import "grid"; @import "tables"; @import "forms"; @import "buttons"; // Components @import "animation"; @import "dropdown"; @import "button-group"; @import "input-group"; @import "custom-forms"; @import "nav"; @import "navbar"; @import "card"; @import "breadcrumb"; @import "pagination"; @import "badge"; @import "jumbotron"; @import "alert"; @import "progress"; @import "media"; @import "list-group"; @import "responsive-embed"; @import "close"; // Components w/ JavaScript @import "modal"; @import "tooltip"; @import "popover"; @import "carousel"; // Utility classes @import "utilities";
_custom.scss,是一个专门用来覆盖默认变量值的文件。编译后则是自定义出来的值。
// Copy variables from `_variables.scss` to this file to override default values // without modifying source files. $gray-dark: #cccccc; $gray: #eeeeee;
最后引入的工具类,用到了前面引入的mixins