HTML開發中的乙個問題

2022-09-08 11:06:09 字數 1846 閱讀 2264

今天在研究jquery的datepicker的功能的時候,發現我自己寫的html的效果與示例中的效果有差距,在經過不斷的嘗試之後,發現以下**的不同:

">

這句**有很重要的意義,在新增了這個**之後,整個的效果就是預想的效果了。

解釋如下:

doctype的作用

doctype宣告指出閱讀程式應該用什麼規則集來解釋文件中的標記。在web文件的情況下,「閱讀程式」通常是瀏覽器或者校驗器這樣的乙個程式,「規則」則是w3c所發布的乙個文件型別定義(dtd)中包含的規則。

每個dtd都包括一系列標記、attributes和properties,它們用於標記web文件的內容;此外還包括一些規則,它們規定了哪些標記能出現在其他哪些標記中。每個web建議標準(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。

假如文件中的標記不遵循doctype宣告所指定的dtd,這個文件除了不能通過**校驗之外,還有可能無法在瀏覽器中正確顯示。對於標記不一致的問題,瀏覽器相較於校驗器來說更寬容。但是,不正確的doctype宣告經常導致網頁不正確顯示,或者導致它們根本不能顯示。

選擇正確的doctype

為了獲得正確的doctype宣告,關鍵就是讓dtd與文件所遵循的標準對應。例如,假定文件遵循的是xhtml 1.0 strict標準,文件的doctype宣告就應該引用相應的dtd。另一方面,如果doctype宣告指定的是xhtml dtd,但文件包含的是舊式風格的html標記,就是不恰當的;類似地,如果doctype宣告指定的是html dtd,但文件包含的是xhtml 1.0 strict標記,同樣是不恰當的。

有的時候,也可以根本不使用乙個doctype宣告。如果沒有指定有效的doctype宣告,大多數瀏覽器都會使用乙個內建的預設dtd。在這種情況下,瀏覽器會用內建的dtd來試著顯示你所指定的標記。對於一些臨時性的、匆忙拼湊的文件(這種文件有許多),你確實可以考慮省略doctype宣告,並接受瀏覽器的預設顯示。

完全可以從頭編寫乙個doctype宣告,並讓它指向自己選擇的乙個dtd。然而,由於大多數web文件都需要遵循由w3c發布的某個國際公認的web標準,所以那些文件通常都要包含以下標準doctype宣告之一:

html 2:

html 3.2:

html 4.01 strict:

">

html 4.01 transitional:

">

html 4.01 frameset:

">

xhtml 1.0 strict:

">

xhtml 1.0 transitional:

">

xhtml 1.0 frameset:

">

xhtml 1.1:

">

xhtml 1.1 plus mathml plus svg:

">

除了上面列出的doctype宣告,具有特殊要求的一些文件還使用了其他幾種宣告。

doctype宣告通常是文件的第一行,要在標記以及其他文件內容之前。注意,在xhtml文件中,doctype的前面偶爾會出現一條xml處理指令(也稱為xml prolog):

<@xml version="1.0" encoding="utf-8"@>

為了確保網頁正確顯示和順利通過驗證,使用正確的doctype是關鍵。與內容相反的、不正確的或者形式錯誤的doctype是大量問題的罪魁禍首。在未來的專欄文章中,我還會具體解釋如何診斷及糾正這些問題。

用dw設計網頁時,新建乙個檔案,看**最前面總要出現乙個下面的東東,

">

這個是dw自動在網頁檔案頁增加了dtd資訊.可以刪.

刪除後,瀏覽器會使用的預設dtd.

開發中的乙個問題

在使用者進來之後,當使用者進行第一次請求的時候 可能是由於伺服器配置問題,tomact和nginx兩次 後出現這個問題,會莫名其妙先請求http的乙個請求然後重定向報錯。我反應了很久,幾個架構也找不到解決方案。但這個問題是很有規律性的。1.出現在第一次請求介面的時候,第二次就是一定是好的。2 出現在...

TOMCAT中的乙個問題

這兩天在客戶端部署bo報表系統遇到乙個奇怪問題,tomcat啟動面板打出來的日誌資訊埠號為8181,但我在server.xml檔案裡面已經將埠號改為了8107,但為什麼會是8181呢!真是一頭霧水。用ue在tomcat目錄下所有檔案裡面都搜了一遍字元為 8181 的檔案,但乙個也找不到。這個8181...

qt中的乙個問題

1 這是我在看qt的乙個pdf的時候遇到的問題。如下 mydlg my1 if my1.exec qdialog accepted 其中在my1上有乙個button,w為乙個widget,button的clicked訊號,對應了my1的recept 槽。剛學qt死活看不懂這句話 現在好像大概明白了點...