我通常会处理更多后端的东西,所以我以前从来没有真正想过它,但是昨天我正在为一个朋友开发一个网站,经过一些挫折之后,我突然想到没有理由只有 html 文件可以动态生成的服务器端。
我看到人们谈论解决 CSS 限制的 javascript 解决方案,但为什么 CSS 不能动态“硬编码”?
我知道我不是第一个想出它的人,因为在想到它之后,我查了一下,有几个例子,但不是很多,而且我也从未在 StackOverflow 上看到过它。
与在页面加载之前使用 javascript 调整元素大小相比,这有缺点吗?我应该注意的任何其他潜在问题?
我在 Django 中做这件事,但这个问题几乎与框架/语言无关。
在这里查看 dynamic-css 标记中的问题,我发现Ruby 的{less}看起来很酷,但总体而言,关于服务器端生成的 css 文件的讨论并不多。
编辑:我认为有些人可能对我所说的动态 css 的意图感到困惑。我并不是说它会根据用户内容或任何东西而改变。这是我发现的如何使图像居中的示例:
img {
position: absolute;
top: 50%;
left: 50%;
width: 500px;
height: 500px;
margin-top: -250px; /* Half the height */
margin-left: -250px; /* Half the width */
}
这一切都很好,但这意味着要知道 CSS 中图像的大小。此外,这意味着不同大小的图像的不同条目。如果高度和宽度是可变的并且图像的大小是在服务器端确定的,那么它就会变得更加通用和可重用。
我敢肯定还有其他例子可以说明这会有所帮助,但是没有过多地使用 css,这是我遇到的第一个问题,它可以很好地与动态 css 配合使用。
此外,如果性能成为一个问题,我相信它可以通过一些工作来正确缓存。