基于HTML结构的CSS优化器
我正在寻找任何类型的CSS优化,优化CSS方面的HTML结构。我希望optimizator比CStiny更好,因为HTML是完全已知的 这里有一个例子。 对于这样完整的HTML:基于HTML结构的CSS优化器,html,css,optimization,Html,Css,Optimization,我正在寻找任何类型的CSS优化,优化CSS方面的HTML结构。我希望optimizator比CStiny更好,因为HTML是完全已知的 这里有一个例子。 对于这样完整的HTML: <html> <head> </head> <body> <div id="id1"> some text here </div> <div id="id2"> another
<html>
<head>
</head>
<body>
<div id="id1">
some text here
</div>
<div id="id2">
another text here
</div>
</body>
</html>
CSS Optimizator应生成:
body {
font-size: 12px;
}
div {
margin: 10px auto;
}
#id1 {
font-size: 14px;
}
#id2 {
margin-bottom: 0;
}
甚至更理想的输出(由@animuson feedback更改):
CSS速记的使用与此无关——它很简单,而且已经存在。我要求一些非常聪明的CSS优化器。额外的好处是,如果它使用HTML文件的集合,而不是使用相同CSS的一个文件
谢谢你的回答!
鲍里斯。啊,如果只有程序可以做到这一点,我们只需点击一个按钮,就可以创建一个网站 由于我们还没有进入这个乌托邦,我们仍然必须优化我们自己的代码。这是正确的做事方式
如果代码来自生成器,请改进它。如果你写的话,那么。。。你知道。嗯,最接近你想要的东西。我知道的是: 它可以进行一些智能优化,例如:
- 使用相同选择器合并块
- 合并具有相同特性的块
- 删除重写的属性
- 删除覆盖的速记属性
- 删除重复选择器
- 块的部分合并
- 块的部分分裂
但是它仍然只对css文件有效,它没有解析html结构并在此基础上进行优化。css优化器如何从第二个css到第三个css?它们并不神奇,因为它们确切地知道您将如何在文档中使用ID“id2”。另外,
body{font-size:12px}
与div{font-size:12px}
完全不同……没有魔法,我写道HTMLs是有限的,你知道如何使用“#id2”。应该使用body{font-size:12px}
中的优化,因为body元素的内容仅为div,并且此定义减少了CSS大小。这种优化是对CSS+HTML进行深入分析的结果。问题是,你说只有分割可以在正文中,因为字体大小不会应用于任何其他元素。你过度优化了你的CSS,实际上设置了不必要的限制,你可以做什么而不需要再次修改你的CSS。是的,你是对的,它是过度优化的。这种优化真的没有必要。谢谢你的反馈。拥有这样的东西远非“乌托邦”。这只是定义规则的一个例子(例如,边距-*←→ 边距:通信)并在其上运行正确的算法。作为一个例子,请看(是的,我知道在写这个答案的时候这并不存在,但我很确定,在不到一年的时间里,我们还没有跳到乌托邦的一半)。
body {
font-size: 12px;
}
div {
margin: 10px auto;
}
#id1 {
font-size: 14px;
}
#id2 {
margin-bottom: 0;
}
body {
font-size: 12px;
}
div {
margin: 10px auto;
}
div:last {
margin-bottom: 0;
}
#id1 {
font-size: 14px;
}