明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

html代碼在編寫過程中的一定要注意的3點(diǎn)

[摘要]這次給大家?guī)韍tml代碼在編寫過程中的一定要注意的三點(diǎn),編寫html代碼的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。本文想說的警惕點(diǎn)與瀏覽器兼容無關(guān),主要是幾個(gè)本人在項(xiàng)目中遇到的幾個(gè)小問題的總結(jié),問題雖小,但是卻有時(shí)很困擾人,在此記錄一下,如果后期有此類問題會(huì)持續(xù)添加到這里。1.內(nèi)聯(lián)標(biāo)簽之...
這次給大家?guī)韍tml代碼在編寫過程中的一定要注意的三點(diǎn),編寫html代碼的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。

本文想說的警惕點(diǎn)與瀏覽器兼容無關(guān),主要是幾個(gè)本人在項(xiàng)目中遇到的幾個(gè)小問題的總結(jié),問題雖小,但是卻有時(shí)很困擾人,在此記錄一下,如果后期有此類問題會(huì)持續(xù)添加到這里。

1.內(nèi)聯(lián)標(biāo)簽之間的空格

正常情況下書寫html代碼的時(shí)候都有換行、縮進(jìn)等習(xí)慣,比如

<head>  
    <meta charset="utf-8">  
    <style>  
    html,body, p, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td{   
    margin: 0;   
    padding:0;   
    }   
    #myDIV {   
      width: 200px;   
      height: 200px;   
      background-color: #ff0;   
    }   
    #myDIV > p{   
      width: 50px;   
      height: 50px;   
      display: inline-block;   
      background-color: #f00;   
    }   
    </style>  
  
  </head>  
  <body>  
    <p id="myDIV">  
      <p>p1</p>  
      <p>p2</p>  
    </p>  
  </body>


中間有一個(gè)空白。原因是如果兩個(gè)內(nèi)聯(lián)標(biāo)簽(或者設(shè)置display:inline或inline-block)之間有連續(xù)的空格符、回車符、換行符,則會(huì)這些符號(hào)會(huì)被默認(rèn)處理為一個(gè)空格符號(hào)。

比如我們?cè)趦蓚(gè)p標(biāo)簽之內(nèi)加入" ddd dd d ",效果如下,無論有多少個(gè)相連的空白符號(hào),最終呈現(xiàn)的效果都只有一個(gè)空格符


這個(gè)和在內(nèi)聯(lián)元素中直接寫入字符類


但是內(nèi)聯(lián)元素會(huì)去掉頭部和尾部的空白字符。

所以需要提示的是:

內(nèi)聯(lián)元素排列時(shí)如果需要避免標(biāo)簽之間的空白則需要使標(biāo)簽緊密相連。

內(nèi)聯(lián)元素要填寫內(nèi)容時(shí)盡量使用.innerText或.textContent(Firefox不支持innerText,但是支持該屬性)。

非要在html代碼中寫入空白,請(qǐng)使用html的空格表示方法&nbsp;

說道這里,我想有些人對(duì)內(nèi)聯(lián)元素理解有偏差。所謂內(nèi)聯(lián)是和所謂的“塊”對(duì)立的。內(nèi)聯(lián)元素不成塊的,感覺就像水流一樣,遇到阻礙就環(huán)繞而行。比如源碼

<p id="myDIV">  
      <p>p1</p> ddd      dd      d       <p>p2</p>  
      <span>    d      dd      d       </span>  
    </p>


span里面的內(nèi)容被分成了兩段,不是一個(gè)完整的塊了。

2.body標(biāo)簽?zāi)J(rèn)的margin邊框

這個(gè)沒有什么說的,現(xiàn)代瀏覽器(支持CSS3)和IE8的body都默認(rèn)了一個(gè)css樣式margin:8px。其他有的標(biāo)簽也是有這樣的,這里不舉例了。很多時(shí)候我們都不需要,需要一般的項(xiàng)目樣式開頭都有一個(gè)類似的設(shè)置。

html,body, p, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td{   
    margin: 0;   
    padding:0;   
    }

3.特殊空白字符導(dǎo)致顯示異常

舉個(gè)例子,下面的源碼中看似沒有問題

<!DOCTYPE html>  
<html>  
  <head>  
    <meta charset="utf-8">  
    <style>  
    html,body, p, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td{   
    margin: 0;   
    padding:0;   
    }   
    *{   
      -webkit-box-sizing: border-box;   
      -moz-box-sizing: border-box;   
      box-sizing: border-box;   
    }   
    #myDIV {   
    width: 200px;   
    height: 40px;   
    background-color: #ff0;   
    }   
    #myDIV a{   
      float: left;   
      width: 200px;   
      background-color: #f00;   
    }   
    </style>  
  
  </head>  
  <body>  
    <p class="tabbable" id="tabs" style="border:none;">  
      <!-- 頁面標(biāo)簽列表 -->  
      <p id="myDIV" style="">  
       <a data-toggle="tab" href="#tab-content-0" >test0</a>  
      </p>  
    </p>  
  </body>  
</html>

實(shí)際上a標(biāo)簽前面的有一個(gè)非正常的的空白字符


a的寬度和#myDIV的寬度應(yīng)該是相同的,且a是浮動(dòng),顯示效果卻換行了,這也太讓人抓狂了,有么有。

正常的顯示效果是


我們來看一下這個(gè)非正常的空白是啥。


第一個(gè)是非正常的空格,其URI組件編碼為"%E3%80%80"

第二個(gè)是正常的空格,其URI組件編碼為"%20"

第三個(gè)是正常的Tab建,其URI組件編碼為"%20%20%20%20",實(shí)際上就是4個(gè)空格。

看出來了吧。所以有的時(shí)候再網(wǎng)站中拷貝的代碼運(yùn)行效果異常可能就是這個(gè)原因?qū)е碌摹?/p>

相信看了這些案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

相關(guān)閱讀:

HTML文本格式化的實(shí)例詳解

HTML的編輯基礎(chǔ)(新手必看篇)

html標(biāo)題,段落,換行,水平線,特殊字符應(yīng)該如何使用

以上就是html代碼在編寫過程中的一定要注意的三點(diǎn)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。