html/css基礎(chǔ)篇——html代碼編寫過(guò)程中的幾個(gè)警惕點(diǎn)(必看)

本文想說(shuō)的警惕點(diǎn)與瀏覽器兼容無(wú)關(guān),主要是幾個(gè)本人在項(xiàng)目中遇到的幾個(gè)小問(wèn)題的總結(jié),問(wèn)題雖小,但是卻有時(shí)很困擾人,在此記錄一下,如果后期有此類問(wèn)題會(huì)持續(xù)添加到這里。
1.內(nèi)聯(lián)標(biāo)簽之間的空格
正常情況下書寫html代碼的時(shí)候都有換行、縮進(jìn)等習(xí)慣,比如
- <head>
- <meta charset="utf-8">
- <style>
- html,body, div, 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 > div{
- width: 50px;
- height: 50px;
- display: inline-block;
- background-color: #f00;
- }
- </style>
- </head>
- <body>
- <div id="myDIV">
- <div>div1</div>
- <div>div2</div>
- </div>
- </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è)div標(biāo)簽之內(nèi)加入" ddd dd d ",效果如下,無(wú)論有多少個(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的空格表示方法
說(shuō)道這里,我想有些人對(duì)內(nèi)聯(lián)元素理解有偏差。所謂內(nèi)聯(lián)是和所謂的“塊”對(duì)立的。內(nèi)聯(lián)元素不成塊的,感覺(jué)就像水流一樣,遇到阻礙就環(huán)繞而行。比如源碼
- <div id="myDIV">
- <div>div1</div> ddd dd d <div>div2</div>
- <span> d dd d </span>
- </div>
顯示效果
span里面的內(nèi)容被分成了兩段,不是一個(gè)完整的塊了。
2.body標(biāo)簽?zāi)J(rèn)的margin邊框
這個(gè)沒(méi)有什么說(shuō)的,現(xiàn)代瀏覽器(支持CSS3)和IE8的body都默認(rèn)了一個(gè)css樣式margin:8px。其他有的標(biāo)簽也是有這樣的,這里不舉例了。很多時(shí)候我們都不需要,需要一般的項(xiàng)目樣式開(kāi)頭都有一個(gè)類似的設(shè)置。
- html,body, div, 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è)例子,下面的源碼中看似沒(méi)有問(wèn)題
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <style>
- html,body, div, 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>
- <div class="tabbable" id="tabs" style="border:none;">
- <!-- 頁(yè)面標(biāo)簽列表 -->
- <div id="myDIV" style="">
- <a data-toggle="tab" href="#tab-content-0" >test0</a>
- </div>
- </div>
- </body>
- </html>
實(shí)際上a標(biāo)簽前面的有一個(gè)非正常的的空白字符,顯示效果如下
a的寬度和#myDIV的寬度應(yīng)該是相同的,且a是浮動(dòng),顯示效果卻換行了,這也太讓人抓狂了,有么有。
正常的顯示效果是
我們來(lái)看一下這個(gè)非正常的空白是啥。
第一個(gè)是非正常的空格,其URI組件編碼為"%E3%80%80"
第二個(gè)是正常的空格,其URI組件編碼為"%20"
第三個(gè)是正常的Tab建,其URI組件編碼為"%20%20%20%20",實(shí)際上就是4個(gè)空格。
看出來(lái)了吧。所以有的時(shí)候再網(wǎng)站中拷貝的代碼運(yùn)行效果異??赡芫褪沁@個(gè)原因?qū)е碌摹?/span>
未完待續(xù),后期如果想到其他的點(diǎn)補(bǔ)上。也希望童鞋們提一些相關(guān)的點(diǎn),本人一定補(bǔ)上。
以上這篇html/css基礎(chǔ)篇——html代碼編寫過(guò)程中的幾個(gè)警惕點(diǎn)(必看)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
原文地址:http://www.cnblogs.com/chuaWeb/p/5053644.html
相關(guān)文章
html、css基礎(chǔ)注意點(diǎn)(前端必看篇)
下面小編就為大家?guī)?lái)一篇html、css基礎(chǔ)注意點(diǎn)(前端必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-27- 下面小編就為大家?guī)?lái)一篇HTML CSS樣式基礎(chǔ)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-23
- 下面小編就為大家?guī)?lái)一篇HTML基礎(chǔ)總結(jié)推薦(段落)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-13
HTML基礎(chǔ)知識(shí)——css樣式表,樣式屬性,格式與布局詳解
下面小編就為大家?guī)?lái)一篇HTML基礎(chǔ)知識(shí)——css樣式表,樣式屬性,格式與布局詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-11HTML基礎(chǔ)知識(shí)——設(shè)置超鏈接的樣式簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇HTML基礎(chǔ)知識(shí)——設(shè)置超鏈接的樣式簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-11- 下面小編就為大家?guī)?lái)一篇HTML基礎(chǔ)必看——全面了解css樣式表。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-11
HTML基礎(chǔ)必看---表單,圖片熱點(diǎn),網(wǎng)頁(yè)劃區(qū)和拼接詳解
下面小編就為大家?guī)?lái)一篇HTML基礎(chǔ)必看---表單,圖片熱點(diǎn),網(wǎng)頁(yè)劃區(qū)和拼接詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-10HTML基礎(chǔ)重點(diǎn)_一般標(biāo)簽、常用標(biāo)簽和表格
下面小編就為大家?guī)?lái)一篇HTML基礎(chǔ)重點(diǎn)_一般標(biāo)簽、常用標(biāo)簽和表格。小編覺(jué)得挺不錯(cuò)的, 現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-09- 下面小編就為大家?guī)?lái)一篇淺談HTML(css基礎(chǔ)樣式)。小編覺(jué)得挺不錯(cuò)的, 現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-27
前端開(kāi)發(fā)每天必學(xué)之HTML入門介紹
這篇文章主要介紹了前端開(kāi)發(fā)每天必學(xué)之HTML入門基礎(chǔ)知識(shí),介紹了學(xué)習(xí)web前端開(kāi)發(fā)需要掌握的基礎(chǔ)技術(shù),感興趣的小伙伴們可以參考一下2016-06-21