整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          34道常見的HTML+CSS面試題(附答案)

          眾號【傳智播客博學谷】回復關鍵詞:前端 PS Java(100G) Python(80G) 大數據 區塊鏈 測試 PPT JS(40g+300教程) HTML 簡歷 領取相關學習資料!

          一、HTML

          1、<image>標簽上title屬性與alt屬性的區別是什么?

          alt屬性是為了給那些不能看到你文檔中圖像的瀏覽者提供文字說明的。且長度必須少于100個英文字符或者用戶必須保證替換文字盡可能的短。

          這包括那些使用本來就不支持圖像顯示或者圖像顯示被關閉的瀏覽器的用戶,視覺障礙的用戶和使用屏幕閱讀器的用戶等。

          title屬性為設置該屬性的元素提供建議性的信息。使用title屬性提供非本質的額外信息。參考《alt和title屬性的區別及應用》

          2、分別寫出以下幾個HTML標簽:文字加粗、下標、居中、字體

          加粗:<b>、<strong>

          下標:<sub>

          居中:<center>

          字體:<font>、<basefont>、參考《HTML標簽列表》

          3、請寫出至少5個html5新增的標簽,并說明其語義和應用場景

          section:定義文檔中的一個章節

          nav:定義只包含導航鏈接的章節

          header:定義頁面或章節的頭部。它經常包含 logo、頁面標題和導航性的目錄。

          footer:定義頁面或章節的尾部。它經常包含版權信息、法律信息鏈接和反饋建議用的地址。

          aside:定義和頁面內容關聯度較低的內容——如果被刪除,剩下的內容仍然很合理。

          參考《HTML5 標簽列表》

          4、請說說你對標簽語義化的理解?

          a. 去掉或者丟失樣式的時候能夠讓頁面呈現出清晰的結構

          b. 有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標簽來確定上下文和各個關鍵字的權重;

          c. 方便其他設備解析(如屏幕閱讀器、盲人閱讀器、移動設備)以意義的方式來渲染網頁;

          d. 便于團隊開發和維護,語義化更具可讀性,遵循W3C標準的團隊都遵循這個標準,可以減少差異化。

          5、Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?

          聲明位于文檔中的最前面,處于 標簽之前。告知瀏覽器以何種模式來渲染文檔。

          嚴格模式的排版和 JS 運作模式是,以該瀏覽器支持的最高標準運行。

          在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點無法工作。

          DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現。

          6、你知道多少種Doctype文檔類型?

          標簽可聲明三種 DTD 類型,分別表示嚴格版本、過渡版本以及基于框架的 HTML 文檔。

          HTML 4.01 規定了三種文檔類型:Strict、Transitional 以及 Frameset。

          XHTML 1.0 規定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset。

          Standards (標準)模式(也就是嚴格呈現模式)用于呈現遵循最新標準的網頁,

          Quirks(包容)模式(也就是松散呈現模式或者兼容模式)用于呈現為傳統瀏覽器而設計的網頁。

          7、HTML與XHTML——二者有什么區別

          a. XHTML 元素必須被正確地嵌套。

          b. XHTML 元素必須被關閉。

          c. 標簽名必須用小寫字母。

          d. XHTML 文檔必須擁有根元素。

          參考《XHTML 與 HTML 之間的差異》

          8、html5有哪些新特性、移除了那些元素?

          a. HTML5 現在已經不是 SGML 的子集,主要是關于圖像,位置,存儲,多任務等功能的增加。

          b. 拖拽釋放(Drag and drop) API

          c. 語義化更好的內容標簽(header,nav,footer,aside,article,section)

          d. 音頻、視頻API(audio,video)

          e. 畫布(Canvas) API

          f. 地理(Geolocation) API

          g. 本地離線存儲 localStorage 長期存儲數據,瀏覽器關閉后數據不丟失

          h. sessionStorage 的數據在頁面會話結束時會被清除

          i. 表單控件,calendar、date、time、email、url、search

          j. 新的技術webworker, websocket等

          移除的元素:

          a. 純表現的元素:basefont,big,center, s,strike,tt,u;

          b. 對可用性產生負面影響的元素:frame,frameset,noframes;

          9、iframe的優缺點?

          優點:

          a. 解決加載緩慢的第三方內容如圖標和廣告等的加載問題

          b. iframe無刷新文件上傳

          c. iframe跨域通信

          缺點:

          a. iframe會阻塞主頁面的Onload事件

          b. 無法被一些搜索引擎索引到

          c. 頁面會增加服務器的http請求

          d. 會產生很多頁面,不容易管理。

          參考《iframe的一些記錄》

          10、Quirks模式是什么?它和Standards模式有什么區別?

          在寫程序時我們也會經常遇到這樣的問題,如何保證原來的接口不變,又提供更強大的功能,尤其是新功能不兼容舊功能時。IE6以前的頁面大家都不會去寫DTD,所以IE6就假定 如果寫了DTD,就意味著這個頁面將采用對CSS支持更好的布局,而如果沒有,則采用兼容之前的布局方式。這就是Quirks模式(怪癖模式,詭異模式,怪異模式)。

          區別:總體會有布局、樣式解析和腳本執行三個方面的區別。

          a. 盒模型:在W3C標準中,如果設置一個元素的寬度和高度,指的是元素內容的寬度和高度,而在Quirks 模式下,IE的寬度和高度還包含了padding和border。

          b. 設置行內元素的高寬:在Standards模式下,給等行內元素設置wdith和height都不會生效,而在quirks模式下,則會生效。

          c. 設置百分比的高度:在standards模式下,一個元素的高度是由其包含的內容來決定的,如果父元素沒有設置百分比的高度,子元素設置一個百分比的高度是無效的用

          d. 設置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下卻會失效。

          11、請闡述table的缺點

          a. 太深的嵌套,比如table>tr>td>h3,會導致搜索引擎讀取困難,而且,最直接的損失就是大大增加了冗余代碼量。

          b. 靈活性差,比如要將tr設置border等屬性,是不行的,得通過td

          c. 代碼臃腫,當在table中套用table的時候,閱讀代碼會顯得異常混亂

          d. 混亂的colspan與rowspan,用來布局時,頻繁使用他們會造成整個文檔順序混亂。

          e. 不夠語義

          參考《為什么說table表格布局不好?》

          12、簡述一下src與href的區別

          src用于替換當前元素;href用于在當前文檔和引用資源之間確立聯系。

          src是source的縮寫,指向外部資源的位置,指向的內容將會嵌入到文檔中當前標簽所在位置

          href是Hypertext Reference的縮寫,指向網絡資源所在位置,建立和當前元素(錨點)或當前文檔(鏈接)之間的鏈接

          公眾號【傳智播客博學谷】回復關鍵詞:前端 PS Java Python 大數據 區塊鏈 測試 PPT JS HTML 簡歷 領取相關學習資料!

          <html>
          	<head> 
          		標題 ---此處放置標題、導航、登錄等內容
          		<!此處放置標題、導航、登錄等內容--->
          	</head>
          	<body> 
          		<!此處放置頁面主要內容--->
          		<! :空格
          		<: 小于號
          		>: 大于號
          		": 引號--->
          		<p>第一段 世界大勢,合久必分,分久必合。</p>
          		<hr/> <!表示單行橫線顯示--->
          		<br/> <!表示換行--->
          		<h1> hello world, html is easy</h1>
          		<h2> hello world, html is easy</h2>
          		<h3> hello world, html is easy</h3>
          		<h4> hello world, html is easy</h4>
          		<h5> hello world, html is easy</h5>
          		<h6> hello world, html is easy</h6>
          		<p>普通字體</p>
          		<b>粗體</b> <i>斜體</i> <del>本文字已被刪除,請忽略</del>
          		
          		<p> hello     world</p>  <!段落標記--->
          		<a href="http://www.baidu.com" target="_self"> 點擊進入百度</a>
          		<br/>
          		<img src="http://mysite.com/mypic.png" alt="網站作者照片">
          		<h3> 普通無邊框表格:</h3>
          		<table>
          		<tr>
          			<td>row 1 cell 1</td> <td>row 1 cell 2</td> <td>row 1 cell 3</td>
          		</tr>
          		<tr>
          			<td>row 2 cell 1</td> <td>row 2 cell 2</td> <td>row 2 cell 3</td>
          		</tr>
          		</table>
          		
          		<h3>帶表頭,有邊框,有跨列單元:</h3>
          		<table border="1">
          		<tr>
          			<th>head1</th> <th>head2</th> <th>head3</th>
          		</tr>
          		<tr>
          			<td>row 1 cell 1</td> <td>row 1 cell 2</td> <td>row 1 cell 3</td>
          		</tr>
          		<tr>
          			<td>row 2 cell 1</td> <td>row 2 cell 2</td> <td>row 2 cell 3</td>
          		</tr>
          		</table>
          		
          		<h3>三種列表的表達方式:</h3>
          		<table cellpadding="2" cellspacing="2">
          		<tr>
          			<td>
          				<ul><li>python</li> <li>c++</li> <li>java</li> <li>golang</li></ul>
          			</td>
          			<td>
          				<ol><li>python</li> <li>c++</li> <li>java</li> <li>golang</li></ol>
          			</td>
          		</tr>
          		</table>
          		<dl>
          			<dt>CPU</dt><dd>處理器</dd>
          			<dt>MEM</dt><dd>內存</dd>
          		</dl>
          		
          		<body bgcolor="#FF0000">
          		<body bgcolor="RGB(255,0,0)">
          		<body bgcolor="RED">
          		
          		<p>視頻</p>
          		<object
          			classid="clsid:d27sfsfstqwetsasasdfsdfs"
          			codebase="http://fpdownload.macromedia.com/pub/shckwave/cabs/flash/swflash.cab">
          			<embed src="flashfile.swf" width="300" height="200"></embed>
          		</object>
          		<br/>
          		
          		<p>音頻</p>
          		<audio controls="crontrols">
          			<source src="sample_song.mp3" type="audio/mp3" />
          		</audio>
          		
          		<br/>
          		<p>視頻</p>
          		<video controls="controls"/>
          			<source src="sample_video.mp4" type="video/mp4">
          		</video>
          		
          	    <p>html表單---文本輸入</p>
          		<table>
          			<tr>
          				<td>用戶名:</td>
          				<td><input type="text" name="name"></td>
          				<td>密碼:</td>
          				<td><input type="password" name="pass"></td>
          			</tr>
          			<tr>
          			<tdcolspan="4"> <textarea name="comment" rows="5" cols="60"> </textarea></td>
          			</tr>
          		</table>
          		
          		<table>
          			<tr>
          				<td>性別:</td>
          				<td>用戶名:</td>
          				<td>男性<input type="radio" checked='checked' name="sex" value="male" /></td>
          				<td>女性<input type="radio" checked='checked' value="female" /></td>
          			</tr>
          			<tr>
          			<tdcolspan="4"> <textarea name="comment" rows="5" cols="60"> </textarea></td>
          			</tr>
          		</table>
          		
          	</body>
          
          </html>
          

          于學習Web前端開發的小伙伴來說,掌握HTML是基本功,今天陜西優就業小編就為大家帶來HTML中各類標簽語義化的解釋。

          1.p標簽和br標簽

          先說個最簡單的。分段要用p標簽而不是用br(甚至連續兩個)。這個似乎不用多說。但是有時候我們不得不放棄這個原則。一個常見的例子是論壇發帖,如果我想分段,便打回車。而如此傳輸到后臺并顯示出來的,顯然就是用分段的。

          2.table 和 th

          由于大力宣揚div+css的結果,似乎現在誰用table布局誰就是未開化的土著。但我認為這種觀點是不正確的。table的含義是表格,因此凡是應該以表格形式出現的數據,仍然應該用table布局。簡單的例子是班級同學的花名冊,包括姓名學號性別等等,這明顯是一個表格形式的數據,因此應該用table布局。另一個比較值得探討的例子是,blog里面的日歷導航。我曾經有見過一個blog程序,它的日歷導航里的各個日期,從1號到30號全用div套好,再使用float:left樣式7個一排的排出當月的日歷。當我取消瀏覽器的CSS顯示之后,日歷的那部分則從1號到30號一豎排下來。我認為這是不對的。因為日歷應該是一個表格形式的數據,因此仍然應該用table布局。當取消css之后,應該仍然按照一排7個的樣子歸成一個表格。

          th則是另一個會被忽視的標簽。由于CSS的萬能,所有的表格單元都可以用td加一個class屬性搞定。但是從語義上講,一些表格單元應該用th標簽。比如上文說到的日歷表格,里面的“MON TUE WED... SUN”這些標識星期的單元,就應該用th而不是td。

          3.h1-h6

          對于h1-h6標簽,從語義上講,它們應該適用于所有標題文字。因此,一些如但是值得注意的是,這樣又有可能犯之前h1里面提到的問題。因為有些文字的樣式其實是有現成的標簽的,比如 strong 標簽 sub標簽 等,我們也應該適當的給它們一些機會。

          4.a標簽

          a是控制超連接的標簽。但有些特殊的情況,我們不一定喜歡用它。比如需要彈出一個小窗口。我沒怎么留心,但我想有些設計師會將onclick直接定義到“播放”小圖標的標簽里還是應該在img外面加一個a,然后將onclick定義到a里面,并記住在js函數最后寫上return false。如果可以,該a標簽的href屬性也應該寫上彈出窗口的URL,保證用戶在禁止JS的情況下仍能夠有效的打開頁面。

          暫時介紹這么多最后再總結一下遵循HTML標簽語義的重要性。Web標準的其中一個要求是低配置的兼容性:當用戶禁用圖片、禁用CSS或禁用JS的時候,我們仍能夠讓他有效的瀏覽網頁內容。眾所周知強制alt屬性就是為禁用圖片時的兼容性作考慮。而正確的遵循HTML標簽的語義,則是保證禁用CSS時的兼容性。只有當正確使用了HTML標簽,我們的網頁在“CSS裸奔”的時候,才會仍然讓人看得出哪里是導航菜單,哪里是文章標題,日歷表格也不會分崩離析。

          陜西優就業Web前端學習:http://www.ujiuye.com/zt/webqianduan/?wt.mc_id=17009350


          主站蜘蛛池模板: 精品国产一区二区三区四区| 91无码人妻精品一区二区三区L| 国产一区二区高清在线播放| 波多野结衣中文字幕一区二区三区| 日本一区午夜艳熟免费| 亚洲一区无码中文字幕乱码| 亚洲综合无码精品一区二区三区| 2021国产精品视频一区| 精品无码一区二区三区亚洲桃色| 黄桃AV无码免费一区二区三区 | 91久久精品午夜一区二区| 国产伦一区二区三区免费| 色婷婷亚洲一区二区三区| 国内精品一区二区三区在线观看| 色偷偷久久一区二区三区| 中文字幕av人妻少妇一区二区| 久久精品一区二区免费看| 亚洲国产老鸭窝一区二区三区 | 一区二区三区免费在线视频| 一区二区三区国产| 精品国产福利在线观看一区| 久久精品无码一区二区三区日韩| 搡老熟女老女人一区二区| 一本色道久久综合一区 | 色欲AV蜜臀一区二区三区| 亚洲码欧美码一区二区三区 | 久久综合一区二区无码| 亚洲日韩国产一区二区三区在线| 国产一区玩具在线观看| 精品国产日韩一区三区| 亚洲福利电影一区二区?| 国产一在线精品一区在线观看| 国产伦精品一区二区三区不卡| 色婷婷AV一区二区三区浪潮 | 国产一区二区三区久久精品| V一区无码内射国产| 免费一区二区三区在线视频| 日韩一区在线视频| 精品一区二区三区视频| 在线|一区二区三区四区| 手机福利视频一区二区|