習(xí)是一件非常充實(shí)的過程,特別是把自己的樂趣變成工作的時(shí)候,很多朋友就喜歡學(xué)習(xí)web前端,所以學(xué)習(xí)前端,也希望從事前端的工作,但是因?yàn)槿鄙賹?shí)戰(zhàn)經(jīng)驗(yàn),所以很多都是卡在面試這關(guān)上,下面小猿圈總結(jié)了web前端中HTML5+CSS3面試題。
一、移動(dòng)端(Android IOS)怎么做好用戶體驗(yàn)?
1.清晰的視覺縱線
2.信息的分組、極致的減法
3.利用選擇代替輸入
4.標(biāo)簽及文字的排布方式
5.依靠明文確認(rèn)密碼
6.合理的鍵盤利用
二、什么是Retina 顯示屏,帶來了什么問題?
retina:一種具備超高像素密度的液晶屏,同樣大小的屏幕上顯示的像素點(diǎn)由1個(gè)變?yōu)槎鄠€(gè),如在同樣帶下的屏幕上,蘋果設(shè)備的retina顯示屏中,像素點(diǎn)1個(gè)變?yōu)?個(gè)
在高清顯示屏中的位圖被放大,圖片會(huì)變得模糊,因此移動(dòng)端的視覺稿通常會(huì)設(shè)計(jì)為傳統(tǒng)PC的2倍
那么,前端的應(yīng)對(duì)方案是:
設(shè)計(jì)稿切出來的圖片長(zhǎng)寬保證為偶數(shù),并使用backgroud-size把圖片縮小為原來的1/2
例如圖片寬高為:200px*200px,那么寫法如下
.css{width:100px;height:100px;background-size:100px 100px;}
其它元素的取值為原來的1/2,例如視覺稿40px的字體,使用樣式的寫法為20px
.css{font-size:20px}
三、ios系統(tǒng)中元素被觸摸時(shí)產(chǎn)生的半透明灰色遮罩怎么去掉
ios用戶點(diǎn)擊一個(gè)鏈接,會(huì)出現(xiàn)一個(gè)半透明灰色遮罩, 如果想要禁用,可設(shè)置-webkit-tap-highlight-color的alpha值為0,也就是屬性值的最后一位設(shè)置為0就可以去除半透明灰色遮罩
a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0;)}
四、部分android系統(tǒng)中元素被點(diǎn)擊時(shí)產(chǎn)生的邊框怎么去掉
android用戶點(diǎn)擊一個(gè)鏈接,會(huì)出現(xiàn)一個(gè)邊框或者半透明灰色遮罩, 不同生產(chǎn)商定義出來額效果不一樣,可設(shè)置-webkit-tap-highlight-color的alpha值為0去除部分機(jī)器自帶的效果
a,button,input,textarea{
-webkit-tap-highlight-color: rgba(0,0,0,0;)
-webkit-user-modify:read-write-plaintext-only;
}
-webkit-user-modify有個(gè)副作用,就是輸入法不再能夠輸入多個(gè)字符
另外,有些機(jī)型去除不了,如小米2,對(duì)于按鈕類還有個(gè)辦法,不使用a或者input標(biāo)簽,直接用div標(biāo)簽。
五、webkit表單元素的默認(rèn)外觀怎么重置
通用:.css{-webkit-appearance:none;}
偽元素改變number類型input框的默認(rèn)樣式
input[type=number]::-webkit-textfield-decoration-container {
background-color: transparent;
}
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
}
六、webkit表單輸入框placeholder的顏色值能改變么?
input::-webkit-input-placeholder{color:#AAAAAA;}
input:focus::-webkit-input-placeholder{color:#EEEEEE;}
七、webkit表單輸入框placeholder的文字能換行么?
ios可以,android不行
在textarea標(biāo)簽下都可以換行
八、禁止ios 長(zhǎng)按時(shí)不觸發(fā)系統(tǒng)的菜單,禁止ios&android長(zhǎng)按時(shí)下載圖片
.css{-webkit-touch-callout: none}
九、禁止ios和android用戶選中文字
.css{-webkit-user-select:none}
十、打電話發(fā)短信寫郵件怎么實(shí)現(xiàn)
打電話:<a href="tel:0755-10086">打電話給:0755-10086</a>
發(fā)短信,winphone系統(tǒng)無效<a href="sms:10086">發(fā)短信給: 10086</a>
寫郵件:<a href=“mailto:peun@foxmail.com">peun@foxmail.com</a>
十一、模擬按鈕hover效果
移動(dòng)端觸摸按鈕的效果,可明示用戶有些事情正要發(fā)生,是一個(gè)比較好體驗(yàn),但是移動(dòng)設(shè)備中并沒有鼠標(biāo)指針,使用css的hover并不能滿足我們的需求,還好國外有個(gè)激活移動(dòng)端css的active效果。
1. 直接在body上添加ontouchstart,同樣可激活移動(dòng)端css的active效果,比較推薦這種方式(兼容性ios5+、部分android 4+、winphone 8)。
2. 要做到全兼容的辦法,可通過綁定ontouchstart和ontouchend來控制按鈕的類名
十二、audio元素和video元素在ios和andriod中無法自動(dòng)播放
應(yīng)對(duì)方案:觸屏即播
$('html').one('touchstart',function(){
audio.play()
})
以上就是小猿圈web前端老師總結(jié)的HTML5+CSS3面試題一部分,想要查看下一部分可以觀看的我下篇文章,相信不會(huì)讓你失望的,學(xué)習(xí)前端可以到小猿圈網(wǎng)站去看一下最新最全面的前端課程。
號(hào)持續(xù)更新相關(guān)面試題及其答案.......
眾號(hào)【傳智播客博學(xué)谷】回復(fù)關(guān)鍵詞:前端 PS Java(100G) Python(80G) 大數(shù)據(jù) 區(qū)塊鏈 測(cè)試 PPT JS(40g+300教程) HTML 簡(jiǎn)歷 領(lǐng)取相關(guān)學(xué)習(xí)資料!
一、HTML
1、<image>標(biāo)簽上title屬性與alt屬性的區(qū)別是什么?
alt屬性是為了給那些不能看到你文檔中圖像的瀏覽者提供文字說明的。且長(zhǎng)度必須少于100個(gè)英文字符或者用戶必須保證替換文字盡可能的短。
這包括那些使用本來就不支持圖像顯示或者圖像顯示被關(guān)閉的瀏覽器的用戶,視覺障礙的用戶和使用屏幕閱讀器的用戶等。
title屬性為設(shè)置該屬性的元素提供建議性的信息。使用title屬性提供非本質(zhì)的額外信息。參考《alt和title屬性的區(qū)別及應(yīng)用》
2、分別寫出以下幾個(gè)HTML標(biāo)簽:文字加粗、下標(biāo)、居中、字體
加粗:<b>、<strong>
下標(biāo):<sub>
居中:<center>
字體:<font>、<basefont>、參考《HTML標(biāo)簽列表》
3、請(qǐng)寫出至少5個(gè)html5新增的標(biāo)簽,并說明其語義和應(yīng)用場(chǎng)景
section:定義文檔中的一個(gè)章節(jié)
nav:定義只包含導(dǎo)航鏈接的章節(jié)
header:定義頁面或章節(jié)的頭部。它經(jīng)常包含 logo、頁面標(biāo)題和導(dǎo)航性的目錄。
footer:定義頁面或章節(jié)的尾部。它經(jīng)常包含版權(quán)信息、法律信息鏈接和反饋建議用的地址。
aside:定義和頁面內(nèi)容關(guān)聯(lián)度較低的內(nèi)容——如果被刪除,剩下的內(nèi)容仍然很合理。
參考《HTML5 標(biāo)簽列表》
4、請(qǐng)說說你對(duì)標(biāo)簽語義化的理解?
a. 去掉或者丟失樣式的時(shí)候能夠讓頁面呈現(xiàn)出清晰的結(jié)構(gòu)
b. 有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標(biāo)簽來確定上下文和各個(gè)關(guān)鍵字的權(quán)重;
c. 方便其他設(shè)備解析(如屏幕閱讀器、盲人閱讀器、移動(dòng)設(shè)備)以意義的方式來渲染網(wǎng)頁;
d. 便于團(tuán)隊(duì)開發(fā)和維護(hù),語義化更具可讀性,遵循W3C標(biāo)準(zhǔn)的團(tuán)隊(duì)都遵循這個(gè)標(biāo)準(zhǔn),可以減少差異化。
5、Doctype作用? 嚴(yán)格模式與混雜模式如何區(qū)分?它們有何意義?
聲明位于文檔中的最前面,處于 標(biāo)簽之前。告知瀏覽器以何種模式來渲染文檔。
嚴(yán)格模式的排版和 JS 運(yùn)作模式是,以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。
在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點(diǎn)無法工作。
DOCTYPE不存在或格式不正確會(huì)導(dǎo)致文檔以混雜模式呈現(xiàn)。
6、你知道多少種Doctype文檔類型?
標(biāo)簽可聲明三種 DTD 類型,分別表示嚴(yán)格版本、過渡版本以及基于框架的 HTML 文檔。
HTML 4.01 規(guī)定了三種文檔類型:Strict、Transitional 以及 Frameset。
XHTML 1.0 規(guī)定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset。
Standards (標(biāo)準(zhǔn))模式(也就是嚴(yán)格呈現(xiàn)模式)用于呈現(xiàn)遵循最新標(biāo)準(zhǔn)的網(wǎng)頁,
Quirks(包容)模式(也就是松散呈現(xiàn)模式或者兼容模式)用于呈現(xiàn)為傳統(tǒng)瀏覽器而設(shè)計(jì)的網(wǎng)頁。
7、HTML與XHTML——二者有什么區(qū)別
a. XHTML 元素必須被正確地嵌套。
b. XHTML 元素必須被關(guān)閉。
c. 標(biāo)簽名必須用小寫字母。
d. XHTML 文檔必須擁有根元素。
參考《XHTML 與 HTML 之間的差異》
8、html5有哪些新特性、移除了那些元素?
a. HTML5 現(xiàn)在已經(jīng)不是 SGML 的子集,主要是關(guān)于圖像,位置,存儲(chǔ),多任務(wù)等功能的增加。
b. 拖拽釋放(Drag and drop) API
c. 語義化更好的內(nèi)容標(biāo)簽(header,nav,footer,aside,article,section)
d. 音頻、視頻API(audio,video)
e. 畫布(Canvas) API
f. 地理(Geolocation) API
g. 本地離線存儲(chǔ) localStorage 長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失
h. sessionStorage 的數(shù)據(jù)在頁面會(huì)話結(jié)束時(shí)會(huì)被清除
i. 表單控件,calendar、date、time、email、url、search
j. 新的技術(shù)webworker, websocket等
移除的元素:
a. 純表現(xiàn)的元素:basefont,big,center, s,strike,tt,u;
b. 對(duì)可用性產(chǎn)生負(fù)面影響的元素:frame,frameset,noframes;
9、iframe的優(yōu)缺點(diǎn)?
優(yōu)點(diǎn):
a. 解決加載緩慢的第三方內(nèi)容如圖標(biāo)和廣告等的加載問題
b. iframe無刷新文件上傳
c. iframe跨域通信
缺點(diǎn):
a. iframe會(huì)阻塞主頁面的Onload事件
b. 無法被一些搜索引擎索引到
c. 頁面會(huì)增加服務(wù)器的http請(qǐng)求
d. 會(huì)產(chǎn)生很多頁面,不容易管理。
參考《iframe的一些記錄》
10、Quirks模式是什么?它和Standards模式有什么區(qū)別?
在寫程序時(shí)我們也會(huì)經(jīng)常遇到這樣的問題,如何保證原來的接口不變,又提供更強(qiáng)大的功能,尤其是新功能不兼容舊功能時(shí)。IE6以前的頁面大家都不會(huì)去寫DTD,所以IE6就假定 如果寫了DTD,就意味著這個(gè)頁面將采用對(duì)CSS支持更好的布局,而如果沒有,則采用兼容之前的布局方式。這就是Quirks模式(怪癖模式,詭異模式,怪異模式)。
區(qū)別:總體會(huì)有布局、樣式解析和腳本執(zhí)行三個(gè)方面的區(qū)別。
a. 盒模型:在W3C標(biāo)準(zhǔn)中,如果設(shè)置一個(gè)元素的寬度和高度,指的是元素內(nèi)容的寬度和高度,而在Quirks 模式下,IE的寬度和高度還包含了padding和border。
b. 設(shè)置行內(nèi)元素的高寬:在Standards模式下,給等行內(nèi)元素設(shè)置wdith和height都不會(huì)生效,而在quirks模式下,則會(huì)生效。
c. 設(shè)置百分比的高度:在standards模式下,一個(gè)元素的高度是由其包含的內(nèi)容來決定的,如果父元素沒有設(shè)置百分比的高度,子元素設(shè)置一個(gè)百分比的高度是無效的用
d. 設(shè)置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下卻會(huì)失效。
11、請(qǐng)闡述table的缺點(diǎn)
a. 太深的嵌套,比如table>tr>td>h3,會(huì)導(dǎo)致搜索引擎讀取困難,而且,最直接的損失就是大大增加了冗余代碼量。
b. 靈活性差,比如要將tr設(shè)置border等屬性,是不行的,得通過td
c. 代碼臃腫,當(dāng)在table中套用table的時(shí)候,閱讀代碼會(huì)顯得異常混亂
d. 混亂的colspan與rowspan,用來布局時(shí),頻繁使用他們會(huì)造成整個(gè)文檔順序混亂。
e. 不夠語義
參考《為什么說table表格布局不好?》
12、簡(jiǎn)述一下src與href的區(qū)別
src用于替換當(dāng)前元素;href用于在當(dāng)前文檔和引用資源之間確立聯(lián)系。
src是source的縮寫,指向外部資源的位置,指向的內(nèi)容將會(huì)嵌入到文檔中當(dāng)前標(biāo)簽所在位置
href是Hypertext Reference的縮寫,指向網(wǎng)絡(luò)資源所在位置,建立和當(dāng)前元素(錨點(diǎn))或當(dāng)前文檔(鏈接)之間的鏈接
公眾號(hào)【傳智播客博學(xué)谷】回復(fù)關(guān)鍵詞:前端 PS Java Python 大數(shù)據(jù) 區(qū)塊鏈 測(cè)試 PPT JS HTML 簡(jiǎn)歷 領(lǐng)取相關(guān)學(xué)習(xí)資料!
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。