rails中的CSS 冲突
前一段时间,做手机客户端party-bid和服务器端rails链接和数据同步的时候,把pa下rty-bid放到rails框架下,在rails开的服务器端口运行,出现了一个问题:在进入竞价结果页面的时候,本来写好的弹出窗口并没有弹出,在console.log出相应的ng-switch变量的时候也可以看到结果是期望的true值,可还是本应弹出的模态框还是没有显示出来。而在原来的单独的party-bid运行的时候不会有问题。
起初我怀疑,是因为我修改了party-bid的代码,移过来后出现了问题,于是我对比了github中原来party-bid的代码和rails中的party-bid的代码,在修改后还是会出现问题。我索性把github中party-bid的代码拉下来放入了rails中public的另一个文件夹,结果还是不能弹出模态框。
纠结了一阵后,我注意到party-bid中模态框使用的css文件的引用。由于我在party-bid中加入了客户端的登录页面,在这个登录页面中,我引用了一个表单格式,所引用的css是bootstrap3中的css,而party-bid中同样也使用了bootstrap而它所使用的bootstrap是老的版本,这样工程中就同时有老版本和新版本的bootstrap文件。最坑爹的是,我删除了老版本后,模态框还是显不出来,也就是说模态框的css是在老版本中,而新版本中没有相应的css。(新版本居然没有模态框!!!)
我只能通过在bootstrap文件中查找相应的模态框css代码复制粘帖到新版本的bootstrap文件,然后再删除老版本的bootstrap文件来解决。这样操作后,登录表单和模态框都能正常显示了。
rails中app下stylesheets文件包含的css文件,在程序中会自动引用,不用像js(angular-js)那样需要引用相应的文件,刚开始做的时候觉得rails简化了很多东西,这样很方便,现在出现了这个问题意识到,这也是有利有弊的。如果两个css文件出现相同命名的样式,就会出现引用冲突。