首頁 >web前端 >html教學 >html標籤程式設計相容性注意事項

html標籤程式設計相容性注意事項

伊谢尔伦
伊谢尔伦原創
2017-06-16 10:09:551289瀏覽

页面布局灵活,改版时只需改CSS样式即可实现页面重新布局,而不用改动程序,从而降低了网站改版的成本。 

注意标签的闭合关系,尤其是在form标签中嵌套div等其他标签时。

有的时候页面上会出现多余的空白,即使重新设置了margin也无法避免,这个时候有可能是页面元素标签闭合出现了不配对的情况,如:

<div class=”outer”>
     <form name=”testForm”>
         <div class=”inner”>
              <input name=”title” type=”text” />
         </form>
     </div> 
</div>

定义table时使用tbody元素,以保证包括IE在内的所有浏览器可正确使用

即使table没有显示定义tbody元素,浏览器也会认为tr节点的父节点是一个自动添加的默认tbody节点.为了避免使用javascript操纵tr节点时可能产生的误会,  还是手动添加一个比较好,如:

<table id=”myTable”>
<tbody id=”myTableBody”>
  <tr>
       <td>
</td>
</tr>
</tbody>
</table>

注意标签及属性的大小写

有的时候,有些绑定在元素上的事件在IE浏览器下响应,在safari或其他浏览器下却不响应。这时候需要检查事件绑定方式的正确性,高级事件的绑定需要区别IE和其他浏览器写两套javascript,而简单事件模型需要注意一下绑定事件名的大小写。如:

b5405acd5d4abf6fbfd512dba6dd6b9a

这里应该用小写的onfocus,并且显示的添加标签闭合符号才是规范的写法。

12d4d0645fb89f86a4be499df5ba66c7 

注意标签的属性值设置

3f1c4e4b6b16bbbd69b2ee476dc4f83a标签的language和type属性

3f1c4e4b6b16bbbd69b2ee476dc4f83a标签的language属性是用来定义脚本语言版本的,正确的赋值应该形如3f1c4e4b6b16bbbd69b2ee476dc4f83a用来告诉浏览器(主要是IE)使用1.2版本的javascript语法来解释;而type属性才是用来定义脚本类型的,是w3c的标准属性,并且使用小写属性才是符合标准的做法。如果不是特别情况下需要告诉浏览器按照较低版本的javascrip语言进行解释的话(目前大多数浏览器支持的javascript版本是1.5),一般不需要定义language属性,但是type属性是需要定义的。所以应该把代码中的

ca59691adfd8042ff4f15bfca379851e改为3f1c4e4b6b16bbbd69b2ee476dc4f83a

3499910bf9dac5ae3c52d5ede7383485標籤的alt和title屬性

雖然alt和title這兩個屬性的值在IE下都會以tool tip的方式在滑鼠懸停時顯示,但是二者還是有區別的。 alt是圖片沒有顯示出來的時候的替代顯示,而title才是滑鼠放到上面時的提示。

d5fd7aea971a85678ba271703566ebfd標籤的checked、readonly屬性

在早期版本的HTML中,並沒有強制規定所有的屬性都應該賦值,在表示一個選取的複選框時, 12a738289f0faa85f887515226a2d4b6 這樣的寫法是被認可的。但根據XHTML的標準,這樣的文法並不是一個嚴格的XML格式,應該注意對屬性的賦值和標籤的閉合,以順應HTML標準發展的趨勢,寫成這樣:

05071527de1cf3d7b7c67dd9efce81df

37f4b80455f619732cad1645cea56d9f

5a07473c87748fb1bf73f23d45547ab8標籤的select ed屬性

與上一條相同的理由,221f08282418e2996498697df914ce4e選項中5a07473c87748fb1bf73f23d45547ab8標籤的selected屬性也應該賦值:

71deefae35a4adca640c4e4736e9509d

a1f02c36ba31691bcfe87b2722de723b標籤的align= "absmiddle" 屬性

根據XHTML的標準,HTML標籤應該專注於內容的表示,而不是樣式的控制,樣式應該交給CSS調整。所以廢棄了一些舊的標籤和屬性,例如907fae80ddef53131f3292ee4f81644b標籤和5a8028ccc7a7e27417bff9f05adf5932標籤都會讓標籤內容中文字以斜體顯示,但是5a8028ccc7a7e27417bff9f05adf5932標籤這種單純以樣式命名的標籤已經屬於廢棄的標準了,取而代之的是表示emphasis(強調)意義的907fae80ddef53131f3292ee4f81644b標籤。同理,a1f02c36ba31691bcfe87b2722de723b標籤的和align="absmiddle" 屬性表示該圖片和相鄰文字垂直居中對齊,這也是表示樣式的屬性,應該使用CSS而不是這個屬性來控制圖片的對齊樣式,避免兩處樣式控制的相互影響。

d5ba1642137c3f32f4f4493ae923989c標籤的frameborder屬性

在使用iframe時,IE中或許只要設定border=「0」就可以不顯示iframe的邊框了,但是標準的控制frame窗口邊框的屬性是frameborder,應該設定frameborder=“0”才能在IE以外的其他瀏覽器中同樣隱藏frame的邊框:

45d95e0d1788444251018a04c22a40e2

f5d188ed2c074f8b944552db028f98a1標籤的cellpadding屬性

這個屬性同a1f02c36ba31691bcfe87b2722de723b標籤的align屬性一樣,也是一個篡奪了HTML自身表示內容的職責而控制樣式的一個屬性,它規定的是單元之間的空間。從實用角度出發,最好不要規定 cellpadding,而是使用 CSS 來控制單元格的內邊距。

b6c5a531a458a2e790c1fd6421739d1c標籤的nowrap屬性

nowrap是表示內容不自動換行的屬性,但是同上面的屬性一樣,這是一個控制樣式的屬性。在 HTML 4.01 中,b6c5a531a458a2e790c1fd6421739d1c標籤的 "bgcolor"、"height"、"width" 以及 "nowrap" 是不被贊成使用的。在 XHTML 1.0 Strict DTD 中,b6c5a531a458a2e790c1fd6421739d1c標籤的 "bgcolor"、"height"、"width" 以及 "nowrap" 是不被支援的。

以上是html標籤程式設計相容性注意事項的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn