管理CSS冲突

时间:2009-12-17 01:18:01

标签: css

所以我正在与一些CSS开发人员合作,我们偶尔遇到布局问题,这些布局问题之前已经修复过,因为其中一位css开发人员做了与其他事情冲突的事情。

我们已经在使用SVN ..每个CSS人都有他自己的css文件。所以我的问题是应该采取什么措施来最小化:

1:布局冲突

2:提高以前写作风格的可重用性。

3:最大限度地减少在最终的css中将样式合并在一起的浪费时间。

我非常感谢你们提供的任何提示。

更新: 我不是CSS开发人员之一,我只是处理后端的东西..所以请记住,在CSS规范方面,我是一个全新的人。

4 个答案:

答案 0 :(得分:4)

  1. 为CSS文件定义命名约定以防止冲突(前缀?)
  2. 拥有一个自动流程,您可以在办理登机手续(签入测试)之前运行以查看任何潜在的冲突
  3. 讨论您要添加的内容(代码审核?)并完全避免冲突
  4. 我不知道你可以做的任何命名空间,以避免CSS样式表名称冲突,所以,我建议那些。它们是许多大公司已经做过的事情。

答案 1 :(得分:4)

一个好的起点是禁止在特定的css文件中使用常规标记。每个开发人员只应使用类和ID。所有常规标签都应包含在所有页面的 first 中,以便特殊标签可以在以后覆盖它们。

更改常规标记应该比更改每个开发人员文件需要更多计划。

使用通用标签我的意思是

div {
  /* affects all divs */
}

并且每个开发人员应该只做

div.something {
  /* potentially overwrite defaults for div */
}

和html文件应该像

link href="general.css"
link href="dev1.css"
link href="dev2.css"

答案 2 :(得分:3)

你能做的最好的事情就是分配责任范围 - 如果你们都在网站的同一区域工作,你必然会有相互矛盾的变化,只会给你们造成困难,因为你们会不断地踩到对方的脚趾。

为网站的样式建立公共基线后,将网站的主要区域划分为您,并仅在这些区域中工作。当需要对基线进行更改时,请将其公开,并与队友沟通此更改,以免让任何人感到惊讶。

我不会假装这很容易做到 - 作为一个团队开展工作是整个软件开发行业尚未完全解决的挑战。祝你好运!

答案 3 :(得分:1)

所有其他人都有很好的答案,但我会补充一点:强烈鼓励在选择器中使用ID。从长远来看,识别重要元素通常会得到回报,因为它可以提供更好的可测试性和更少的冲突。

CSS示例:

#myid selector { ... }
#myotherid selector { ... }

如果可能的话,一般样式应该放在每个人都管理的顶级或一般样式表中。