避免smarty与css语法冲突的方法

开发 前端
这篇文章主要介绍了避免smarty与css语法冲突的方法,实例分析了smarty与css中大括号{}冲突的处理技巧,需要的朋友可以参考下。

[[129020]]

本文实例讲述了避免smarty与css语法冲突的方法。分享给大家供大家参考。具体分析如下:

熟悉css的人很快就会发现smarty和css的语法存在冲突,因为二者都需要使用大括号{}。如果简单地将css标记嵌入到html文档首部,将导致不可识别标记错误:

  1. <html> 
  2.  
  3. <head> 
  4.  
  5. <title>{$title}</title> 
  6.  
  7. <style type=text/css> 
  8.  
  9. p{ 
  10.  
  11. margin::2px 
  12.  
  13.  
  14. </style> 
  15.  
  16. </head> 
  17.  
  18. ... 

不要担心,因为我们有3种解决方案。

一、使用link标记从另一个文件中提取样式信息:

  1. <html> 
  2.  
  3. <head> 
  4.  
  5. <link rel=stylesheet type=text/css href=css/default.css/> 
  6.  
  7. </head> 
  8.  
  9. ... 

 

二、使用smarty的literal标记将样式表信息包围起来

这些标记告诉smarty不要解析该标记内的任何内容:

  1. <html> 
  2.  
  3. <head> 
  4.  
  5. {literal} 
  6.  
  7. p{ 
  8.  
  9. margin::2px 
  10.  
  11.  
  12. </style> 
  13.  
  14. {/literal} 
  15.  
  16. </head> 
  17.  
  18. ... 

 

三、修改smarty的默认定界符

可以通过设置center_delimiter和center_delimiter属性来做到这一点:

  1. require(smarty.class.php); 
  2.  
  3. $smarty=newsmarty; 
  4.  
  5. $smarty->left_delimiter=''
  6.  
  7. $smarty->right_delimiter=''
  8.  
  9. ... 
  10.  
  11. ?> 

虽然3种解决方案都能解决问题,但其中***种可能是最方便的,因为将css放在单独的文件中是一种常见的实践做法。此外,这种解决方案不需要修改smarty的重要默认配置(定界符)。

希望本文所述对大家的php程序设计有所帮助。

责任编辑:王雪燕 来源: 站长网
相关推荐

2010-09-08 15:49:21

SmartyCSS

2023-05-25 08:39:05

前端CSS

2020-10-19 15:20:51

Ansible系统运维

2009-01-20 10:51:00

局域网IP地址分配

2023-08-23 10:19:25

数据MySQL

2020-07-14 13:16:32

JavaScript解构对象

2023-11-13 18:22:14

Docker开发

2010-09-06 13:59:23

CSS缩写

2010-08-25 09:30:56

marginCSS

2023-07-06 07:55:15

Redis内存数据库

2010-09-06 13:15:48

CSS定位

2010-01-05 17:02:47

Debian系统

2009-07-15 09:58:51

IbatisN+1查询

2023-01-27 09:14:35

CSS原生嵌套

2010-05-27 09:56:54

SVN文件冲突

2010-05-06 17:46:34

Oracle Rdbm

2010-09-14 16:04:40

CSSclip属性

2010-09-03 13:23:07

absoluterelativeCSS

2022-12-07 11:24:51

首席信息官IT

2020-09-01 09:56:26

云端云计算云服务
点赞
收藏

51CTO技术栈公众号