2019-07-30

iframe有那些缺點

  • 缺點:

iframe會阻塞主頁面的Onload事件;
搜索引擎的檢索程序無法解讀這種頁面,不利于SEO;
會影響頁面的并行加載。

  • 知識點擴充:什么是并行加載

并行加載:同一時間針對同一域名下的請求。一般情況,iframe和所在頁面在同一個域下面,而瀏覽器的并加載的數(shù)量是有限制的。

  • 解決方案

使用js動態(tài)給iframe的src加載頁面內容,示例代碼如下:

<iframe id="fram"></iframe>
document.getelementbyid("fram").src="a2.html"

盒子模型你是怎么理解的?

  • 盒子模型有兩種,W3C和IE盒子模型

(1)W3C定義的盒子模型包括margin、border、padding、content ,元素的width=content的寬度

(2)IE盒子模型與W3C的盒子模型唯一區(qū)別就是元素的寬度,元素的width=content+padding+border

  • 我個人認為W3C定義盒子模型與IE定義的盒子模型,IE定義的比較合理,元素的寬度應該包含border(邊框)和padding(填充),這個和我們現(xiàn)實生活的盒子是一樣的,W3C也認識到自己的問題了,所以在CSS3中新增了一個樣式box-sizing,包含兩個屬性content-box 和 border-box。

  • (1) content-box 元素的width=content+padding+border


.test1{
    box-sizing:content-box;
    width:200px;
    padding:10px;
    border:15px solid #eee;
}
  • (2) border-box 元素的width=width(用樣式指定的寬度)
.test1{
    box-sizing:border-box;
    width:200px;
    padding:10px;
    border:15px solid #eee;
}
  • 1.對于行級元素,margin-top和margin-bottom對于上下元素無效,margin-left和margin-right有效

  • 2.對于相鄰的塊級元素margin-bottom和margin-top 取值方式

  1. 都是正數(shù): 取最大值
    距離=Math.max(margin-botton,margin-top)
  2. 都是負數(shù): 取最小值
    距離=Math.min(margin-botton,margin-top)
  3. 上面是正數(shù),下面是負數(shù)或者 上面是負數(shù),下面是正數(shù): 正負相加
    距離=margin-botton+margin-top

元素的定位有哪些

  • absolute絕對定位
    相對位置為父元素為static的第一個父元素進行定位
    外層:relative
    中間:static
    內部: absolute

  • fixed固定定位(IE6不支持)
    相對于瀏覽器窗口進行定位
    top left bottom right other window

  • relative相對定位
    相對于其正常(默認布局)位置進行定位

  • static
    默認值。沒有定位,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right z-index 聲明)

1、所有的定位如果left、top、right、bottom屬性都為默認值,則為默認定位
2、absolute定位會脫離文檔,浮動起來,多個層重疊可以使用z-index屬性改變層疊順序
) 3、absoulte定位忽略padding,相對位置為相對定位容器的坐上角內邊框

樣式導入有哪些方式?

  • link
    import
  • 不同點

1、link除了引用樣式文件,還可以引用圖片等資源文件,而import只引用樣式文件
2、兼容性不同,link不存在兼容性的問題,import在IE5以上支持,是css2.1新增的
3、在樣式表文件可以使用import導入其它的樣式表文件,而link不可以
4、link引用CSS時,在頁面載入時同時加載;@import需要頁面網(wǎng)頁完全載入以后加載。
5、link支持使用Javascript控制DOM去改變樣式;而@import不支持。

::before 和:before有什么區(qū)別?

  • 相同點

1、都可以用來表示偽類對象,用來設置對象前的內容
2、:befor和::before寫法是等效的

  • 不同點

1、:befor是css2的寫法, ::before是css3的寫法
2、:before的兼容性要比::before好,不過在H5開發(fā)中建議使用::before比較好

  • 新想法

1、偽類對象要配合content屬性一起使用
2、偽類對象不會出現(xiàn)在DOM中,所以不能通過js來操作,僅僅是在 CSS 渲染層加入
3、偽類對象的特效通常要使用:hover偽類樣式來激活

.test:hover::before { /* 這時animation和transition才生效 */ }

css樣式的優(yōu)先級是怎么樣的?

  • 樣式優(yōu)先級規(guī)則

1、優(yōu)先級順序為:!import>style>權重值
2、如果權重相同,則最后定義的樣式的起作用,應該避免這種情況

  • 權重規(guī)則

1、標簽的權重為1
2、class的權重為10
3、id的權重為100

  • 權重取值示例
/*權重為1*/
div{
}
/*權重為10*/
.class1{
}
/*權重為100*/
#id1{
}
/*權重為100+1=101*/
#id1 div{
}
/*權重為10+1=11*/
.class1 div{
}
/*權重為10+10+1=21*/
.class1 .class2 div{
}

如何居中一個元素(正常、絕對定位、浮動元素)?

  • 元素居中的方式

1、行級元素水平居中對齊(父元素設置 text-again:center)

<div style="width: 200px; height: 100px;border: 1px solid;text-align:center;">  
    <span>行級元素垂直居中</span>   
</div>

2、塊級元素水平居中對齊(margin:0 auto)

<div style="width: 200px; height: 100px;border: 1px solid;text-align: center;">
    <div style="border: 1px solid red;margin: 0 auto;height: 50px;width: 80px;"> 塊級元素水平居中</div>
</div>

3、浮動元素水平居中

  • 寬度不固定的浮動元素
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,158評論 1 92
  • 概述 在網(wǎng)易云課堂學習李南江老師的《從零玩轉HTML5前端+跨平臺開發(fā)》時,所整理的筆記。筆記內容為根據(jù)個人需求所...
    墨荀閱讀 2,475評論 0 7
  • 一、CSS入門 1、css選擇器 選擇器的作用是“用于確定(選定)要進行樣式設定的標簽(元素)”。 有若干種形式的...
    寵辱不驚丶歲月靜好閱讀 1,729評論 0 6
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級,廣度和深度都會有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,686評論 0 7
  • 周內都是六點起床,到周末的雖然關了鬧鐘,但是到了這個點,還是自然的醒了。 妻子和女兒在一旁發(fā)出徐徐的呼吸聲,我輕輕...
    皮皮木子閱讀 547評論 0 51

友情鏈接更多精彩內容