0

我知道这可能是一个微不足道的问题,但我在谷歌上找不到任何东西。

CSS中有什么地方需要换行吗?例如,我有以下代码块:

#headertitle {
background: -o-linear-gradient(left,  #3fd0e4 0%,#18709f 100%); /* Opera 11.10+ */
background: linear-gradient(to right,  #3fd0e4 0%,#18709f 100%); /* W3C */
width:950px;
height:150px;
font-family:rw_SegoePrint_bold,'Segoe Print',OpenSansRegular,Verdana,sans-serif;
font-size:140px;
text-align:center;
position: absolute;
left: 50%;
top: 10px;
margin-left:-475px;
z-index:2;
}

我可以简单地删除新行以结束#headertitle{background:-o-linear-gradient(left, #3fd0e4 0%,#18709f 100%);background: linear-gradient(to right, #3fd0e4 0%,#18709f 100%);width:950px;height:150px;font-family:rw_SegoePrint_bold,'Segoe Print',OpenSansRegular,Verdana,sans-serif;font-size:140px;text-align:center;position:absolute;left:50%;top:10px;margin-left:-475px;z-index:2;}它,它仍然可以完美解析,正如我所期望的那样。但是,CSS 编码中是否有任何实例肯定需要出现新行?或者我可以"\n"""(使用PHP)替换吗?

4

4 回答 4

0

请允许我在此讨论中再添加一个建议。如今,使用css 预编译器变得越来越普遍。就我个人而言,我使用的是LESS,但还有其他好的,比如 SASS。

优点是您可以更快地编写和更新代码,因为您可以使用嵌套、变量、合并文件甚至基本函数(在 LESS 中称为 mixins)。

完成开发后,您可以将.less文件编译为标准.css文件。您可以在服务器、客户端通过 javascript 即时执行此操作,但我更喜欢在将文件上传到服务器之前编译文件(更好的性能)。那里有许多优秀的编译器,它们中的大多数都提供了缩小 css 的选项(从而删除所有空格、换行符和注释)。

就我个人而言,我使用Codekit作为我的编译器(仅限 MAC),这是非常值得的少量许可费用。它还有许多其他很棒的功能,例如缩小和验证 Javascript、优化图像甚至是实时 css 注入(无需刷新页面),这在开发过程中非常有用。它会持续监控您的项目并根据更改自动编译。

一开始可能看起来有点挑战,但 LESS 实际上并不难(与标准 css 非常相似),一旦你习惯了它,你将无法没有它。真正的节省时间!

于 2013-07-02T18:13:10.747 回答
0

无论哪种方式都是正确的。前者更适合开发目的,因为它是可读的。后者更适合生产目的,因为它会产生更小的文件大小,特别是如果您删除了所有不必要的空格。

于 2013-07-02T17:40:50.420 回答
0

你是完全正确的,你不需要注释或换行符。只要你;用完属性。

请查看PHP Minify,您可以在其中使用带换行符的完整 CSS、JS 和 HTML,或者您希望它们可读。与使用 PHP Minify 缩小它们相比,这消除了换行符、注释以及客户端不需要的所有内容!如果需要,您甚至可以将文件与组合并。

于 2013-07-02T17:40:54.840 回答
0

不,不需要换行符。

这是一篇关于减少代码大小的文章:10 个小 CSS 文件的技巧

我知道这个问题有 20 个答案,但我想添加格式化 css 的方式。

body { background: green; }
ul { margin: 0 50px 0 0; }
    ul li { list-style-type: circle; }

这最大限度地减少了换行符,但保持代码可读。另外,我花在寻找选择器上的时间比寻找属性的时间要多。

于 2013-07-02T17:44:56.437 回答