寫好的html複製到jsp檔案中,在ie6下出現margin置中無效的情況,純html中沒有這個問題。Jsp是使用myeclipse建立的(Advanced Templates),其產生的DOCTYPE如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN">
而使用editplus建立的html檔案中的DOCTYPE如下:
<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
正是由於這個DOCTYPE的不同導致在ie6下css的margin置中失效。
當然,有時候我們需要瀏覽器css相容問題時,特別是ie,我們可能會選擇css hack。相對於css hack來說,選擇正確的DOCTYPE來實現css相容來的更加簡單。只要我們選擇一個合適的DOCTYPE,同時css寫的比較規範,那麼出現瀏覽器安全色性的問題的幾率就會減小。
對於DOCTYPE中DTD的類型,目前來說大多選擇Transitional類型,一般如果我們使用專門的網頁製作軟體建立HTML時都會使用這個DOCTYPE。
但是在myeclipse下建立的JSP(AdvancedTemplate)頁面中並不是使用這個DOCTYPE(DTD都沒有指定),那麼就可能會引發瀏覽器安全色性問題,為了避免這個問題我們最好還是使用通用的格式。
在myeclipse中建立Jsp時選擇JSP(Basic Templates)時,我們可以自己選擇使用哪個模版頁面,如果建立項中沒有這個選項,點擊 window -> Customize Perspective在下面選擇new,將jsp(BasicTemplate)選中,確定。
這樣我們就可以自訂一個合適的JSP模版,然後建立JSP的時候就使用我們自己定義的模版就可以了。
開啟喜好設定,在左邊展開JSP - > JSP Template點擊右邊視窗的 new 選項 填寫相關資訊,儲存即可:
在建立JSP頁面的時候選擇JSP(Basic Template)然後點擊 next 選擇要使用的 JSP模版,然後點擊finish即可。下次在使用的時候就不用再選擇模版了,系統會使用上一次的選擇。
建立JSP頁面代碼如下:
[html]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> www.2cto.com
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
作者:jdluojing