Closed cyjake closed 11 years ago
赞逸才的认真,会吸收一些到Brix Style里的。
button 补充:
需要给各个 btn 设置 :active 和 :hover 的 border-color ,不然默认是蓝色的
网站的一些新项目也开始引入brix,reset问题同样是我们最纠结的!因为头部是通用的,要兼容其它还没有使用brix的页面,所以使用brix的项目就同时会引入kissy的reset和brix的reset。然后头痛的就来了,两者不兼容。。。,然后我们只能自己在reset。
@zhj3618 抛弃 KISSY 的 reset,改用 reset-patch 的方式就够了吧?这两者的差别没有那么大,很多 reset 也都是用不到的。
@xthsky 或许可以出一个两种方式的 diff,让使用者注意一下?
@dotnil 如果我们已经整站替换到brix当然可以这样做,前面我已经说了,我们头部的kissy reset是全局统一引入的
@zhj3618 页头现在的已经开始往Brix迁移了?我非常愿意参与 reset 这部分的改造,之前做过一个过渡方案的demo http://xthsky.github.com/test/ ,但没有考虑到这种情况。
现在看,应该是我低估了Brix Style给大家带来的迁移成本,十分抱歉。给我看看一淘页头最新的开发版吧,看看有没有更低代价的替换方案。
一淘页头最新的开发版依赖最新的视觉规范,这个brix里面已经有一版了,但是页头视觉规范还要调整被暂停了
现在如果是全新的项目,如点评,引入brix style, 因为公共头尾还是依赖kissy reset,kissy reset和brix style的冲突有(ul ol dl dd h1-h6 form feildset lengend select label textarea等 ),现在的解决办法是在项目中用kissy reset覆盖brix style
如果局部使用brix,如分页用,同样存在kissy reset 和 brix style的并存的问题,这种情况也是在项目中用kissy reset覆盖brix style,覆盖不到的在项目中再重置。
这样实际还是使用kissy的reset,建议在没有在组件没有铺开使用之前,将brix style的normalize.css换成kissy的reset,这样做让要让第一期的组件重新回归下,工作量有点大,但是相比每个项目reset成本低
另外form.less(form feildset lengend select label textarea)里面的reset应该用class做选择器,现在这样的对老项目引入brix影响大
@xthsky 个人期望brix style这样:)
@miaojing 前两点我都赞同,第三点我不置可否哈
Brix Style 已拆分,并做了KISSY Reset及向后兼容。
先说明一下创意中心,使用 Rails 开发,样式最初是纯 CSS 写,后来 Rails 有了 Asset Pipeline,改用 SCSS ,使用 KISSY CSS 里的 reset.css 做样式重置,没有栅格,简单写了个 1000px 宽的居中。
起初因为担心 normalize.less 与 reset.css 出入太多,没有使用编译好的 brix.css,而是挑了用得到的部分,一点点放进来。后来发现,除了重置方式的差别之外,form.less 打击面太广,也是一个大问题。标签与头像没有用上,按下不表。
问题一:Less 与 SCSS 之分
两周前开始尝试,用了最需要的 grid.less,并改写成 grid.scss。顺便在此详细答 @xthsky 问,为何改写而不直接用,原因如下:
第三点在 grid.scss 中比较明显,代码请看 https://github.com/dotnil/brix-style/blob/master/src/grid.scss , 对比 Less 版本:https://github.com/etaoux/brix/blob/master/src/style/mixins.less#L184
所以此问题,我的解决办法是用 SCSS 重写。除了流程控制语法差别比较大之外,其他的都比较细微:
不过,新启动的 Rails 项目,不用担心此问题,换 Less 的代价并不大,有现成的 gem 支持,https://github.com/metaskills/less-rails
reset 与 normalize
然后遇到的就是 Brix Style 自身代码的问题了,normalize 与 reset 的出入,我感受到比较多的就两个:
margin: 1em 0
;前者,我增加了 .reset 来把它们重置掉,在需要重置的 ul、ol 上加 .reset 就好:
后者,我挺喜欢这种方式的。这个差别造成的问题自然不少,不过挨个改一下也没那么难。自带的 reset-patch 我并没有用。
form 太 tnnd 的暴力了
https://github.com/etaoux/brix/blob/master/src/style/forms.less#L73
label、input、legend 有 margin 有 width,让我之前散落各处,并不在 form 中 label、input 全都奇葩了……
所以我直接把它们塞回到 form 里面去 https://github.com/dotnil/brix-style/blob/master/src/form.scss#L42
其他一些与我项目不符的,则在项目样式中重置、补齐。
button 的不足之处
Rails 项目中,有种按钮是通过 <%= button_to %> 生成的,结构类似这样:
为什么一个按钮要搞成这样,说来话长,幸运的是,在我的项目里这种 .btn 都只在 .btn-group 里面使用,所以我可以这么搞:
曲线救国吧。
另外,在 button.less 中有一些针对低版本 IE 的 hack,https://github.com/etaoux/brix/blob/master/src/style/buttons.less#L9 ,我在项目中并没能重现这些问题,所以都直接去掉了。或者,注释再详细一点?
还有一些细节问题,我迟些补充吧,光看代码想不起来了……
EOF
Brix Style 中,还有 avatar、tag、scrollbar 等,这些我都没有使用,不发表意见。