1、當(dāng)margin-top、padding-top 的值是百分比時(shí),分別是如何計(jì)算的?
- 可以對(duì)元素的margin設(shè)置百分?jǐn)?shù),百分?jǐn)?shù)是相對(duì)于父元素的width計(jì)算,不管是margin-top/margin-bottom還是margin-left/margin-right。(padding同理)
- 如果沒(méi)有為元素聲明width,在這種情況下,元素框的總寬度包括外邊距取決于父元素的width,這樣可能得到“流式”頁(yè)面,即元素的外邊距會(huì)擴(kuò)大或縮小以適應(yīng)父元素的實(shí)際大小。如果對(duì)這個(gè)文檔設(shè)置樣式,使其元素使用百分?jǐn)?shù)外邊距,當(dāng)用戶修改瀏覽窗口的寬度時(shí),外邊距會(huì)隨之?dāng)U大或縮小。
- 為什么margin-top/margin-bottom的百分?jǐn)?shù)也是相對(duì)于width而不是height呢?
- 我們認(rèn)為,正常流中的大多數(shù)元素都會(huì)足夠高于包含其后代元素(包括外邊距),如果一個(gè)元素的上下外邊距是父元素的height的百分?jǐn)?shù),就可能導(dǎo)致一個(gè)無(wú)限循環(huán),父元素的height會(huì)增加,以適應(yīng)后代元素上下外邊距的增加,而相應(yīng)的,上下外邊距因?yàn)楦冈豩eight的增加也會(huì)增加,如此循環(huán)。
```html
<style>
.fu {
width: 400px;
height: 300px;
background: blue;
overflow: hidden;
}
.zi {
width: 20px;
height: 20px;
background: red;
margin-top: 50%;
}
</style>
<div class="fu">
<div class="zi"></div>
</div>
```
2、iframe缺點(diǎn)
- iframe類(lèi)似于框架,可以在一個(gè)頁(yè)面中嵌入別的頁(yè)面。
- 缺點(diǎn):
- 1.在一個(gè)頁(yè)面中如果利用iframe嵌入了多個(gè)別的頁(yè)面,不利于我們的管理
- 2.在一些小型設(shè)備比如手機(jī)上可能無(wú)法完全顯示框架,兼容性不好
- 3.iframe是會(huì)阻塞頁(yè)面的加載的,會(huì)影響到網(wǎng)頁(yè)的加載速度。比如window的onload事件會(huì)在頁(yè)面或者圖像加載完成后立即執(zhí)行,但是如果當(dāng)前頁(yè)面當(dāng)中用了iframe了,那還需要把所有的iframe當(dāng)中的元素加載完畢才會(huì)執(zhí)行,這樣就會(huì)讓用戶感覺(jué)網(wǎng)頁(yè)加載速度特別慢,影響體驗(yàn)感。
- 4.代碼復(fù)雜,不利于seo,現(xiàn)在的搜索引擎還不能很好的處理iframe當(dāng)中的內(nèi)容。
- 5.iframe框架會(huì)增加http的請(qǐng)求次數(shù)
3、行內(nèi)元素有那些?塊級(jí)元素有那些?空元素有哪些?
· 行內(nèi)元素:不能實(shí)現(xiàn)寬度高度,橫向顯示
o a,span,i,em,var,b,strong,sup,sub,s,del,label,font,mark
· 塊級(jí)元素:能設(shè)置寬度高度,縱向顯示,并且默認(rèn)站寬一整行
o h1~h6,p,div,ul,ol,li,dl,dt,dd,table,form,hr,fieldset,legend,marquee,iframe,header,nav,footer,section,main,figure,figcaption,hgroup,aside,article
· 行內(nèi)塊元素:能設(shè)置寬度高度,并且橫向顯示
o input,img,select,textarea
· 空元素:就是單標(biāo)簽
o input,img,br,meta,link,hr
· 置換元素:因?yàn)槟J(rèn)自帶寬度告訴瀏覽器能進(jìn)行根據(jù)類(lèi)型路徑加載對(duì)應(yīng)的內(nèi)容
o input,img,select,textarea
更多關(guān)于“前端培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬(wàn)人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來(lái)試聽(tīng)。