避免Smarty與CSS語(yǔ)法沖突的方法
本文實(shí)例講述了避免Smarty與CSS語(yǔ)法沖突的方法。分享給大家供大家參考。具體分析如下:
熟悉CSS的人很快就會(huì)發(fā)現(xiàn)Smarty和CSS的語(yǔ)法存在沖突,因?yàn)槎叨夹枰褂么罄ㄌ?hào){}。如果簡(jiǎn)單地將CSS標(biāo)記嵌入到HTML文檔首部,將導(dǎo)致"不可識(shí)別標(biāo)記"錯(cuò)誤:
<html> <head> <title>{$title}</title> <style type="text/css"> p{ margin::2px } </style> </head> ...
不要擔(dān)心,因?yàn)槲覀冇?種解決方案。
一、使用link標(biāo)記從另一個(gè)文件中提取樣式信息:
<html> <head> <title>{$title}</title> <link rel="stylesheet" type="text/css" href="css/default.css"/> </head> ...
二、使用Smarty的literal標(biāo)記將樣式表信息包圍起來(lái)
這些標(biāo)記告訴Smarty不要解析該標(biāo)記內(nèi)的任何內(nèi)容:
<html> <head> <title>{$title}</title> {literal} <style type="text/css"> p{ margin::2px } </style> {/literal} </head> ...
三、修改Smarty的默認(rèn)定界符
可以通過(guò)設(shè)置center_delimiter和center_delimiter屬性來(lái)做到這一點(diǎn):
<?php require("Smarty.class.php"); $smarty=newSmarty; $smarty->left_delimiter=''; $smarty->right_delimiter=''; ... ?>
雖然3種解決方案都能解決問(wèn)題,但其中第一種可能是最方便的,因?yàn)閷SS放在單獨(dú)的文件中是一種常見(jiàn)的實(shí)踐做法。此外,這種解決方案不需要修改Smarty的重要默認(rèn)配置(定界符)。
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
解密ThinkPHP3.1.2版本之獨(dú)立分組功能應(yīng)用
分組功能可以解決中大型項(xiàng)目情況中MVC分層文件過(guò)多導(dǎo)致不易管理的問(wèn)題。這篇文章主要介紹了ThinkPHP3.1.2獨(dú)立分組功能,需要的朋友可以參考下2014-06-06Yii框架常見(jiàn)緩存應(yīng)用實(shí)例小結(jié)
這篇文章主要介紹了Yii框架常見(jiàn)緩存應(yīng)用,結(jié)合實(shí)例形式分析了Yii框架緩存相關(guān)的配置、獲取、查詢等操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-09-09zend框架實(shí)現(xiàn)支持sql server的操作方法
這篇文章主要介紹了zend框架實(shí)現(xiàn)支持sql server的操作方法,結(jié)合實(shí)例形式分析了zend框架的相關(guān)代碼修改、配置文件設(shè)置與相關(guān)問(wèn)題注意事項(xiàng),需要的朋友可以參考下2016-12-12Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)
這篇文章主要介紹了Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-06-06