程序員web前端分享HTML5常見面試題集錦三
1、用線性漸變實現如下圖的斜線?
答案:<div></div>
<style>
div{margin:50px auto; width:100px;height:100px;border:1px solid #333;
background:linear-gradient(45deg, transparent 49.5%, deeppink 49.5%, deeppink 50.5%, transparent 50.5%);
}
</style>
2、用CSS實現單行居中顯示文字,多行居左顯示效果,如圖:
答案:<div><p>只有一行時居中顯示文字,多行居左顯示多行居左顯示</p></div>
<style>
body,p{ margin: 0; padding: 0;}
div{text-align: center;width: 400px;height: 400px; background: #ddd; margin: 30px auto; font-size: 20px;}
p{display: inline-block;text-align: left;}
</style>
3、介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什么不同的?
答案:標準的盒模型是基于 doctype 正確書寫的情況下,并且是高于 IE6 的瀏覽器才會有的。
標準盒子模型:寬度=內容的寬度(content)+ border + padding + margin
低版本IE盒子模型:寬度=內容寬度(content+border+padding)+ margin
4、什么是外邊距重疊?重疊的結果是什么?
答案:在CSS當中,相鄰的兩個盒子(可能是兄弟關系也可能是祖先關系)的外邊距可以結合成一個單獨的外邊距。這種合并外邊距的方式被稱為折疊,并且因而所結合成的外邊距稱為折疊外邊距。
折疊結果遵循下列計算規(guī)則:
1)兩個相鄰的外邊距都是正數時,折疊結果是它們兩者之間較大的值。
2)兩個相鄰的外邊距都是負數時,折疊結果是兩者絕對值的較大值。
3)兩個外邊距一正一負時,折疊結果是兩者的相加的和。
5、請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
答案:一個用于頁面布局的全新CSS3功能,Flexbox可以把列表放在同一個方向(從上到下排列,從左到右),并讓列表能延伸到占用可用的空間。
較為復雜的布局還可以通過嵌套一個伸縮容器(flex container)來實現。采用Flex布局的元素,稱為Flex容器(flex container),簡稱"容器"。它的所有子元素自動成為容器成員,稱為Flex項目(flex item),簡稱"項目"。常規(guī)布局是基于塊和內聯流方向,而Flex布局是基于flex-flow流可以很方便的用來做局中,能對不同屏幕大小自適應。在布局上有了比以前更加靈活的空間。
程序員web前端分享HTML5常見面試題集錦四
1、為什么要初始化CSS樣式?
答案:因為瀏覽器的兼容問題,不同瀏覽器對有些標簽的默認值是不同的,如果沒對CSS初始化往往會出現瀏覽器之間的頁面顯示差異。
當然,初始化樣式會對SEO有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況下初始化。
2、浮動元素引起的問題?
答案:a. 父元素的高度無法被撐開,影響與父元素同級的元素
b. 與浮動元素同級的非浮動元素會跟隨其后
c. 若非第一個元素浮動,則該元素之前的元素也需要浮動,否則會影響頁面顯示的結構
3、line-height三種賦值方式有何區(qū)別?(帶單位、純數字、百分比)?
答案:帶單位:px不用計算,em則會使元素以其父元素font-size值為參考來計算自己的行高
純數字:把比例傳遞給后代,例如父級行高為1.5,子元素字體為18px,則子元素行高為1.5*18=27px
百分比:將計算后的值傳遞給后代
4、:link、:visited、:hover、:active的執(zhí)行順序是怎么樣的?
答案:L-V-H-A,l(link)ov(visited)e h(hover)a(active)te,即用喜歡和討厭兩個詞來概括
5、css屬性content有什么作用?有什么應用?
答案:css的content屬性專門應用在 before/after 偽元素上,用于來插入生成內容,可以配合自定義字體顯示特殊符號。。
6、文字超出顯示為省略號?
答案://單行:
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
//多行:
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
7、HTML5有哪些新增的表單元素?
答案:datalist datetime output date month week time color number range email url
8、用純CSS創(chuàng)建一個三角形的原理是什么?
答案:首先,需要把元素的寬度、高度設為0。然后設置邊框樣式。
width: 0;
height: 0;
border-top: 40px solid transparent;
border-left: 40px solid transparent;
border-right: 40px solid transparent;
border-bottom: 40px solid #ff0000;
9、什么時候可以觸發(fā)BFC?
答案:根元素,即html
float的值不為none(默認)
overflow的值不為visible(默認)
display的值為inline-block、table-cell、table-caption
position的值為absolute或fixed
10、style標簽寫在body后與body前有什么區(qū)別?
答案:頁面加載自上而下 當然是先加載樣式。
寫在body標簽后由于瀏覽器以逐行方式對HTML文檔進行解析,當解析到寫在尾部的樣式表(外聯或寫在style標簽)會導致瀏覽器停止之前的渲染,等待加載且解析樣式表完成之后重新渲染,在windows的IE下可能會出現FOUC現象(即樣式失效導致的頁面閃爍問題)
1. accesskey: 設置快捷鍵, 提供快速訪問元素如 a 在 windows 下的 firefox 中按 alt + shift + a 可激活元素 。
2. class:為元素設置類標識, 多個類名用空格分開, CSS和javascript可通過 class 屬性獲取元素
3. contenteditable: 指定元素內容是否可編輯
4. contextmenu: 自定義鼠標右鍵彈出菜單內容
5. data-*: 為元素增加自定義屬性
6. dir: 設置元素文本方向
7. draggable: 設置元素是否可拖拽
8. dropzone: 設置元素拖放類型: copy, move, link
9. hidden: 表示一個元素是否與文檔。樣式上會導致元素不顯示,但是不能用這個屬性實現樣式效果
10. id: 元素id,文檔內唯一
11. lang: 元素內容的語言
12. spellcheck: 是否啟動拼寫和語法檢查
13. style: 行內css樣式
14. tabindex: 設置元素可以獲得焦點, 通過tab可以導航
15. title: 元素相關的建議信息
16. translate: 元素和子孫節(jié)點內容是否需要本地化
之前有整理過部分知識點, 現在將整理的相關內容, 驗證之后慢慢分享給大家; 這個專題是 "前端面試題" 的相關專欄; 大概會有200+的文章。
如果對大家有所幫助,可以點個關注、點個贊; 文章會持續(xù)打磨 。
有什么想要了解的前端知識, 可以在評論區(qū)留言, 會及時分享所相關內容 。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。