日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

PHP学习之Smarty+CSS+DIV页面居中问题

發(fā)布時(shí)間:2025/3/14 php 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP学习之Smarty+CSS+DIV页面居中问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在Dreamweaver 中寫了個(gè)簡單的的index.php:

<?php
include_once("./class.config.php");
$Smarty->display("Index.html");
?>

順手在標(biāo)題中輸入了幾個(gè)字:企業(yè)資源管理系統(tǒng),index.html是使用div+css進(jìn)行布局的,單獨(dú)打開index.html可以看到居中顯示,而調(diào)用smarty后總是居左顯示.

后來用ultraedit打開index.php,發(fā)現(xiàn)文件內(nèi)容是:

<title>企業(yè)資源管理系統(tǒng)</title>

<?php
include_once("./class.config.php");
$Smarty->display("Index.html");
?>

將<title>企業(yè)資源管理系統(tǒng)</title>去掉后顯示正常.

?

?

引用原文:

發(fā)現(xiàn)自己總在走前人走過的路,犯前人犯過的錯(cuò)...

最近使用smarty+CSS模板,遇到了部分CSS無法解析的問題,嘗試了很多方法,在幾乎放棄的時(shí)候找到了這篇文章,一看日期,竟然是2006年11月的...

新項(xiàng)目完全采用UTF-8編碼,這是我的夙愿,可就是這個(gè)麻煩的UTF-8編碼,讓我鬧心了數(shù)小時(shí)!
今天下午制作好了頁面的模板,當(dāng)載入Smarty運(yùn)行的時(shí)候,發(fā)現(xiàn)在Firefox下正常顯示,而在IE下,原本好好居中顯示的頁面一下變得偏左了,而且部分CSS也無法載入,字體極其難看!查閱代碼,無法找出任何破綻,而不用Smarty轉(zhuǎn)而采用原始的PHP+HTML混寫的時(shí)候則無此現(xiàn)象,因此開始懷疑Smarty有問題,上phpchina.cn求助,無人解答;自己又下載了Smarty的最新版本,依然無法解決這個(gè)故障,心灰意冷,甚至打算在項(xiàng)目中放棄Smarty。
根據(jù)以往的經(jīng)驗(yàn),我開始懷疑是當(dāng)PHP輸出HTML的時(shí)候向其中加入了額外的不可見代碼,于是將PHP輸出的內(nèi)容原封不動(dòng)保存為HTML,然后提交到validator.w3.org進(jìn)行XHTML驗(yàn)證,果然,驗(yàn)證失敗,提示文件頭部被加入了BOM(萬國碼檔案簽名:Byte Order Mark, U+FEFF)標(biāo)記,媽的,就是這個(gè)垃圾標(biāo)記,已經(jīng)不是第一次害我了!
于是,重新打開DM和UltraEdit重新對(duì)PHP頁面以及模板頁面進(jìn)行編碼轉(zhuǎn)換,去除了其中的BOM標(biāo)記,一切正常!
這里附上一篇寫的很全面的有關(guān)BOM的文章,希望能幫助和我一樣受害的人。
=================================================================

utf-8 保存文件的 bom 問題
大家都知道 utf-8 是一種在web應(yīng)用中經(jīng)常使用的一種 unicode 字符的編碼方式,使用 utf-8 的好處在于它是一種變長的編碼方式,對(duì)于 ANSII 碼編碼長度為1個(gè)字節(jié),這樣的話在傳輸大量 ASCII 字符集的網(wǎng)頁時(shí),可以大量節(jié)約網(wǎng)絡(luò)帶寬。

不過如果大家使用 utf-8 編碼來編寫網(wǎng)頁的時(shí)候, 往往會(huì)因?yàn)?bom (Byte Order Mark) 的問題,導(dǎo)致網(wǎng)頁中經(jīng)常出現(xiàn)一些不明的空行或者亂碼字符。 這些都是因?yàn)?utf-8 編碼方式對(duì)于 bom 不是強(qiáng)制的。因此 utf-8 編碼在保存文件的時(shí)候,會(huì)出現(xiàn)不同的處理方式。

比如有的瀏覽器(FireFox)可以自動(dòng)過濾掉所有 utf-8 bom , 有的 (IE) 只能過濾掉一次 bom (為什么是一次? 當(dāng)你出現(xiàn) Include 多次文件時(shí)就會(huì)碰上這個(gè)問題了:) );

對(duì)此 w3.org 標(biāo)準(zhǔn) FAQ 中對(duì)此問題有一個(gè)專門的描述:

http://www.w3.org/International/questions/qa-utf8-bom

在此個(gè)人認(rèn)為對(duì)于這個(gè)問題最好的處理方式就是在編輯(保存)文件的時(shí)候統(tǒng)一去除 utf-8 bom , 同時(shí)又必須使得編輯器可以正確讀出 utf-8 字符集,但可惜目前 windows 系統(tǒng)中對(duì)于保存文件的處理方式缺省情款下都會(huì)自動(dòng)加上 bom.

(通過抓包工具分析, google 中文頁面統(tǒng)一使用 utf-8 編碼方式,下載的頁面中沒有帶有 bom 標(biāo)識(shí))

操作系統(tǒng): WindowsXP Professional , 缺省字符集:中文

1) notepad : 可以自動(dòng)識(shí)別出沒有帶 bom 的 utf-8 編碼格式文件,但不可以控制保存文件時(shí)是否添加 bom , 如果保存文件,那么會(huì)統(tǒng)一添加 bom 。

2)editplus : 不能自動(dòng)識(shí)別出沒有 bom 的 utf-8 編碼格式文件,保存文件為 utf-8 時(shí)會(huì)自動(dòng)添加 bom

3) UltraEdit : 對(duì)于字符編碼的功能最為強(qiáng)大, 可以自動(dòng)識(shí)別帶 bom 和不帶 bom 的 utf-8 文件 (可以配置) ; 保存的時(shí)候可以通過配置選擇是否添加 bom.

(特別需要注意的是,保存一個(gè)新建立的文件時(shí),需要選擇另存為 utf-8 no bom 格式)

后來發(fā)現(xiàn) Notepad ++ 也對(duì)于 utf-8 bom 支持比較好,推薦大家使用。

轉(zhuǎn)載于:https://www.cnblogs.com/GarfieldTom/archive/2009/06/02/1494638.html

總結(jié)

以上是生活随笔為你收集整理的PHP学习之Smarty+CSS+DIV页面居中问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。