我知道这可能是一个微不足道的问题,但我在Google上找不到任何东西。
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)吗?
答案 0 :(得分:0)
无论哪种方式都是正确的。前者更适合开发目的,因为它是可读的。后者更适合生产目的,因为它会导致较小的文件大小,特别是如果您删除所有不必要的空格。
答案 1 :(得分:0)
你是完全正确的,你不需要评论或换行符。只要您在属性的末尾使用;
。
请查看PHP Minify您可以在哪里使用完整的CSS,JS和HTML换行,或者您希望它们具有可读性。而不是使用PHP Minify缩小它们,这会删除换行符,注释,以及客户端不需要的所有内容!如果需要,您甚至可以将文件与组合。
答案 2 :(得分:0)
不,不需要换行符。
以下是一篇关于减少代码大小的文章:10 Tips for a Smaller CSS File
我知道有20个答案,但我想添加格式化css的方式。
body { background: green; }
ul { margin: 0 50px 0 0; }
ul li { list-style-type: circle; }
这可以最小化换行符,但保持代码可读。另外,我花费更多时间寻找选择器而不是属性。
答案 3 :(得分:0)
请允许我在此讨论中再添一句建议。现在,使用 css预编译器变得越来越普遍。就个人而言,我与LESS合作,但还有其他好的,如SASS。
优点是您可以更快地编写和更新代码,因为您可以使用诸如嵌套,变量,合并文件甚至基本函数(在LESS中称为mixins)之类的东西。
完成开发后,您可以将.less
文件编译为标准.css
文件。您可以在服务器上快速执行此操作,客户端通过javascript,但我更喜欢在将文件上传到服务器之前编译文件(更好的性能)。有很多优秀的编译器,其中大多数都提供选项来缩小css (从而删除所有空格,换行符和注释)。
我个人使用Codekit作为我的编译器(仅限MAC),这非常值得获得小额许可费。它有许多其他很棒的功能,如缩小和验证Javascript,优化图像甚至是现场css注入(不需要页面刷新),这在开发过程中很棒。它会持续监控您的项目并自动编译变更。
起初看起来有点挑战,但LESS实际上并不那么难(非常类似于标准css),一旦你习惯了它,你将无法生存。实时节省!