为什么基础网格系统不会影响我的div:
render: function(){ var {todos,showCompleted,searchText} = this.state; var filteredTodos = TodoAPI.filterTodos(todos,searchText); return ( <div> <h1 className="page-title">Todo App</h1> <div className="row"> <div className="column small-centered small-5 medium-6 large-5"> <div className="container"> <TodoSearch onSearch = {this.handleSearch} /> <TodoList todos ={filteredTodos} onToggle ={this.handletoggle}/> <AddTodo onAddTodo ={this.handleAddTodo}/> </div> </div> </div> </div> ); }
我使用firebug来调试样式:
而且找不到:
.large-5 { width: 33.3333%; }
该项目的回购是here
解决方法
您应该将基础导入为
@import '~foundation-sites/scss/foundation';
由于您已经在webpack.config中使用了includedpath
调试一段时间后,我发现问题是基础 – 所有mixin默认包含另一种网格样式
@mixin foundation-everything( $flex: true,//You can test this by modifying it directly in your node_modules,set it to false $prototype: false ) { @if $flex { $global-flexBox: true !global; } @include foundation-global-styles; @if not $flex { @include foundation-grid; } @else { @if $xy-grid { @include foundation-xy-grid-classes; } @else { @include foundation-flex-grid; } } //more scss here )
这就是为什么你的类不应用预期的样式的原因,因为根据基础 – 一切mixin生成不同的类(特别是生成XY网格而不是你期望的那个,网格 – 网格).
您可以通过不同的方式处理此问题,具体取决于您的应用.
1)您可以在项目中包含所需的基本样式集. (我的推荐)
2)以某种方式改变mixin(我不认为动态导入是一件事吗?(https://github.com/sass/sass/issues/279)
可能还有其他选项,例如:生成一次css并直接将其包含在您的应用中或使用react-foundation package.Again,这取决于您的需求.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。