Smarty和CSS的语法存在冲突,因为二者都需要使用大括号({})。
如果简单地将CSS标记嵌入到HTML文档首部,将导致"不可识别标记"错误:
<style type="text/css">
.cell {
background:#fff;
border:1px solid #ddd;
}
</style>
解决办法:
1. 使用{literal}{/literal} 对其进行标记
{literal}
<style type="text/css">
.cell {
background:#fff;
border:1px solid #ddd;
}
</style>
{/iteral}
2. 将css代码放入一个css文件中,然后引入
<link rel=”stylesheet” type=”text/css” href=”default.css” /> 或者
<style type="text/css"> @import 'default.css'; </style>
调用时,不管用上边那种方式,在ie里css均不能正常显示,但firefox,safari等都可以显示出来。将css copy到高层或者css文件从更高层的地方引入,该问题解决。
后来发现,该html文件保存的格式是ANSI的编码,调用的文件用的是UTF-8 编码,将ANSI编码的html另保存为UTF-8的编码,该问题得到真正的解决。