摘要:標準模式的排版和運作模式都是以該瀏覽器支持的最高標準運行。這種合并外邊距的方式被稱為折疊,并且因而所結合成的外邊距稱為折疊外邊距。控制表單控件的禁用狀態。首先,巧妙的使用這一標記,將游覽器從所有情況中分離出來。
1.Doctype作用?標準模式與兼容模式各有什么區別
聲明位于位于HTML文檔中的第一行,處于?標簽之前。告知瀏覽器的解析器,用什么文檔標準解析這個文檔。DOCTYPE不存在或格式不正確會導致文檔以兼容模式呈現。
標準模式的排版?和JS運作模式都是以該瀏覽器支持的最高標準運行。在兼容模式中,頁面以寬松的向后兼容的方式顯示,模擬老式瀏覽器的行為以防止站點無法工作。
HTML5 不基于?SGML,因此不需要對DTD進行引用,但是需要doctype來規范瀏覽器的行為(讓瀏覽器按照它們應該的方式來運行);
而HTML4.01基于SGML,所以需要對DTD進行引用,才能告知瀏覽器文檔所使用的文檔類型。**
首先:CSS規范規定,每個元素都有display屬性,確定該元素的類型,每個元素都有默認的display值,如div的display默認值為“block”,則為“塊級”元素;span默認display屬性值為“inline”,是“行內”元素。
(1)行內元素有:a b span img input select strong(強調的語氣)
(2)塊級元素有:div ul ol li dl dt dd h1 h2 h3 h4…p
(3)常見的空元素:
WebSocket、也可以調用localstorge、cookies等本地存儲方式,還可以使用頁面的路有參數傳遞
localstorge另一個瀏覽上下文里被添加、修改或刪除時,它都會觸發一個事件,
我們通過監聽事件,控制它的值來進行頁面信息通信;
14.如何在頁面上實現一個圓形的可點擊區域?
map+area或者svg
border-radius
純js實現?需要求一個點在不在圓上簡單算法、獲取鼠標坐標等等
title屬性沒有明確意義只表示是個標題,H1則表示層次明確的標題,對頁面信息的抓取也有很大的影響;
strong是標明重點內容,有語氣加強的含義,使用閱讀設備閱讀網絡時:會重讀,而是展示強調內容。
?i內容展示為斜體,em表示強調的文本;
h5新增的屬性
可以通過ele.dataset獲取到標簽上的data-x的屬性
返回一個對象
解決:解決方案是做成PNG8.
問題:瀏覽器默認的margin和padding不同。解決:方案是加一個全局的*{margin:0;padding:0;}來統一。
問題:IE6雙邊距bug:塊屬性標簽float后,又有橫行的margin情況下,在ie6顯示margin比設置的大。浮動ie產生的雙倍距離?#box{ float:left; width:10px; margin:0 0 0 100px;}這種情況之下IE會產生20px的距離**解決:解決方案是在float的標簽樣式控制中加入?——_display:inline;將其轉化為行內屬性。(_這個符號只有ie6會識別)
?? ??? ??? ?? ? ?漸進識別的方式,從總體中逐漸排除局部。
?? ??? ??? ??? ??首先,巧妙的使用“9”這一標記,將IE游覽器從所有情況中分離出來。?接著,再次使用“+”將IE8和IE7、IE6分離開來,這樣IE8已經獨立識別。
css
?
.bb{ ?? background-color:#f1ee18;/*所有識別*/ ? .background-color:#00deff9; /*IE6、7、8識別*/ ? +background-color:#a200ff;/*IE6、7識別*/ ? _background-color:#1e0bd1;/*IE6識別*/ ? }問題:IE下,可以使用獲取常規屬性的方法來獲取自定義屬性,也可以使用getAttribute()獲取自定義屬性,Firefox下,只能使用getAttribute()獲取自定義屬性.
解決:解決方法:統一通過getAttribute()獲取自定義屬性.
問題:IE下,even對象有x,y屬性,但是沒有pageX,pageY屬性,Firefox下,event對象有pageX,pageY屬性,但是沒有x,y屬性.解決方法:(條件注釋)缺點是在IE瀏覽器下可能會增加額外的HTTP請求數。
問題:Chrome 中文界面下默認會將小于?12px 的文本強制按照?12px 顯示,解決:可通過加入?CSS 屬性?-webkit-text-size-adjust: none; 解決.
問題:超鏈接訪問過后hover樣式就不出現了?被點擊訪問過的超鏈接樣式不在具有hover和active了解決:方法是改變CSS屬性的排列順序:L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}
18.你知道多少種Doctype文檔類型?該標簽可聲明三種?DTD 類型,分別表示嚴格版本、過渡版本以及基于框架的?HTML 文檔。
HTML 4.01 規定了三種文檔類型:Strict、Transitional 以及?Frameset。
XHTML 1.0 規定了三種?XML 文檔類型:Strict、Transitional 以及?Frameset。
Standards (標準)模式(也就是嚴格呈現模式)用于呈現遵循最新標準的網頁,而?Quirks(包容)模式(也就是松散呈現模式或者兼容模式)用于呈現為傳統瀏覽器而設計的網頁。
1)所有的標記都必須要有一個相應的結束標記
2)所有標簽的元素和屬性的名字都必須使用小寫
3)所有的XML標記都必須合理嵌套
4)所有的屬性必須用引號""括起來
5)把所有<和&特殊符號用編碼表示
6)給所有屬性賦一個值
7)不要在注釋內容中使“--”
8)圖片必須有說明文字
title是global attributes之一,用于為元素提供附加的advisory information。通常當鼠標滑動到元素上的時候顯示。
alt是的特有屬性,是圖片內容的等價描述,用于圖片無法加載時顯示、讀屏器閱讀圖片。可提圖片高可訪問性,除了純裝飾圖片外都必須設置有意義的值,搜索引擎會重點分析。
改版的時候更方便?只要改css文件。
頁面加載速度更快、結構化清晰、頁面顯示簡潔。
表現與結構相分離。
易于優化(seo)搜索引擎更友好,排名更容易靠前。
派生選擇器(用HTML標簽申明)
id選擇器(用DOM的ID申明)
類選擇器(用一個樣式類名申明)
屬性選擇器(用DOM的屬性申明,屬于CSS2,IE6不支持,不常用,不知道就算了)
除了前3種基本選擇器,還有一些擴展選擇器,包括
后代選擇器(利用空格間隔,比如div?.a{??})
群組選擇器(利用逗號間隔,比如p,div,#a{??})
那么問題來了,CSS選擇器的優先級是怎么樣定義的?
一般而言,選擇器越特殊,它的優先級越高。也就是選擇器指向的越準確,它的優先級就越高。
復雜的計算方法:
用1表示派生選擇器的優先級
用10表示類選擇器的優先級
用100標示ID選擇器的優先級
div.test1?.span?var?優先級?1+10?+10?+1
span#xxx?.songs?li?優先級1+100?+?10?+?1
xxx?li?優先級?100?+1
那么問題來了,看下列代碼,
標簽內的文字是什么顏色的?
123
中的先后關系無關。
23.行內元素和塊級元素的具體區別是什么?行內元素的padding和margin可設置嗎?塊級元素(block)特性:
總是獨占一行,表現為另起一行開始,而且其后的元素也必須另起一行顯示;
寬度(width)、高度(height)、內邊距(padding)和外邊距(margin)都可控制;
內聯元素(inline)特性:
和相鄰的內聯元素在同一行;
寬度(width)、高度(height)、內邊距的top/bottom(padding-top/padding-bottom)和外邊距的top/bottom(margin-top/margin-bottom)都不可改變(也就是padding和margin的left和right是可以設置的),就是里面文字或圖片的大小。
那么問題來了,瀏覽器還有默認的天生inline-block元素(擁有內在尺寸,可設置高寬,但不會自動換行),有哪些?
答案: 、 、
外邊距重疊就是margin-collapse。
在CSS當中,相鄰的兩個盒子(可能是兄弟關系也可能是祖先關系)的外邊距可以結合成一個多帶帶的外邊距。這種合并外邊距的方式被稱為折疊,并且因而所結合成的外邊距稱為折疊外邊距。
折疊結果遵循下列計算規則:
兩個相鄰的外邊距都是正數時,折疊結果是它們兩者之間較大的值。
兩個相鄰的外邊距都是負數時,折疊結果是兩者絕對值的較大值。
兩個外邊距一正一負時,折疊結果是兩者的相加的和。
rgba()和opacity都能實現透明效果,但最大的不同是opacity作用于元素,以及元素內的所有內容的透明度,
而rgba()只作用于元素的顏色或其背景色。(設置rgba透明的元素的子元素不會繼承透明效果!)
* 1.id選擇器( # myid) 2.類選擇器(.myclassname) 3.標簽選擇器(div, h1, p) 4.相鄰選擇器(h1 + p) 5.子選擇器(ul < li) 6.后代選擇器(li a) 7.通配符選擇器( * ) 8.屬性選擇器(a[rel = "external"]) 9.偽類選擇器(a: hover, li: nth - child) * 可繼承: font-size font-family color, UL LI DL DD DT; * 不可繼承 :border padding margin width height ; * 優先級就近原則,樣式定義最近者為準; * 載入樣式以最后載入的定位為準;
優先級為:
!important > id > class > tag important 比 內聯優先級高
CSS3新增偽類舉例:
p:first-of-type 選擇屬于其父元素的首個27.如何居中div,如何居中一個浮動元素?元素的每個
元素。 p:last-of-type 選擇屬于其父元素的最后
元素的每個
元素。 p:only-of-type 選擇屬于其父元素唯一的
元素的每個
元素。 p:only-child 選擇屬于其父元素的唯一子元素的每個
元素。 p:nth-child(2) 選擇屬于其父元素的第二個子元素的每個
元素。 :enabled、:disabled 控制表單控件的禁用狀態。 :checked,單選框或復選框被選中。
給div設置一個寬度,然后添加margin:0 auto屬性
div{
width:200px; margin:0 auto;
}
居中一個浮動元素
確定容器的寬高 寬500 高 300 的層 設置層的外邊距
.div {
Width:500px ; height:300px;//高度可以不設
Margin: -150px 0 0 -250px;
position:relative;相對定位
background-color:pink;//方便看效果
left:50%;
top:50%;
}
* IE瀏覽器的內核Trident、 Mozilla的Gecko、google的WebKit、Opera內核Presto; * png24為的圖片在iE6瀏覽器上出現背景,解決方案是做成PNG8. * 瀏覽器默認的margin和padding不同。解決方案是加一個全局的*{margin:0;padding:0;}來統一。 * IE6雙邊距bug:塊屬性標簽float后,又有橫行的margin情況下,在ie6顯示margin比設置的大。 浮動ie產生的雙倍距離 #box{ float:left; width:10px; margin:0 0 0 100px;} 這種情況之下IE會產生20px的距離,解決方案是在float的標簽樣式控制中加入 ——_display:inline;將其轉化為行內屬性。(_這個符號只有ie6會識別) 漸進識別的方式,從總體中逐漸排除局部。 首先,巧妙的使用“9”這一標記,將IE游覽器從所有情況中分離出來。 接著,再次使用“+”將IE8和IE7、IE6分離開來,這樣IE8已經獨立識別。
css
.bb{ background-color:#f1ee18;/*所有識別*/ .background-color:#00deff9; /*IE6、7、8識別*/ +background-color:#a200ff;/*IE6、7識別*/ _background-color:#1e0bd1;/*IE6識別*/ } * IE下,可以使用獲取常規屬性的方法來獲取自定義屬性, 也可以使用getAttribute()獲取自定義屬性; Firefox下,只能使用getAttribute()獲取自定義屬性. 解決方法:統一通過getAttribute()獲取自定義屬性. * IE下,even對象有x,y屬性,但是沒有pageX,pageY屬性; Firefox下,event對象有pageX,pageY屬性,但是沒有x,y屬性. * (條件注釋)缺點是在IE瀏覽器下可能會增加額外的HTTP請求數。 * Chrome 中文界面下默認會將小于 12px 的文本強制按照 12px 顯示, 可通過加入 CSS 屬性 -webkit-text-size-adjust: none; 解決. 超鏈接訪問過后hover樣式就不出現了 被點擊訪問過的超鏈接樣式不在具有hover和active了解決方法是改變CSS屬性的排列順序: L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}29.css優先級算法如何計算?
!important > id > class > 標簽
!important 比 內聯優先級高
優先級就近原則,樣式定義最近者為準;
以最后載入的樣式為準;
30.哪些css屬性可以繼承?可繼承: font-size font-family color, ul li dl dd dt;
不可繼承 :border padding margin width height ;
講 DOM 先從 HTML 講起,講 HTML 先從 XML 講起。XML 是一種可擴展的標記語言,所謂可擴展就是它可以描述任何結構化的數據,它是一棵樹!
1.documen.write和 innerHTML的區別document.write只能重繪整個頁面
innerHTML可以重繪頁面的一部分
createDocumentFragment() ? ?//創建一個DOM片段
createElement() ? //創建一個具體的元素
createTextNode() ? //創建一個文本節點
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子節點前插入一個新的子節點
getElementsByTagName() ? ?//通過標簽名稱
getElementsByName() ? ?//通過元素的Name屬性的值(IE容錯能力較強,會得到一個數組,其中包括id等于name值的)
getElementById() ? ?//通過元素Id,唯一性
attribute是dom元素在文檔中作為html標簽擁有的屬性;
property就是dom元素在js中作為對象擁有的屬性。
所以: ?
對于html的標準屬性來說,attribute和property是同步的,是會自動更新的,
但是對于自定義的屬性來說,他們是不同步的,
src用于替換當前元素,href用于在當前文檔和引用資源之間確立聯系。
src是source的縮寫,指向外部資源的位置,指向的內容將會嵌入到文檔中當前標簽所在位置;在請求src資源時會將其指向的資源下載并應用到文檔內,當瀏覽器解析到該元素時,會暫停其他資源的下載和處理,直到將該資源加載、編譯、執行完畢,圖片和框架等元素也如此,類似于將所指向資源嵌入當前標簽內。這也是為什么將js腳本放在底部而不是頭部。
Src source,指向外部資源的位置,如果我們添加瀏覽器會暫停其他資源的下載和處理,直到該資源加載,編譯,執行完畢(圖片和框架也是如此),這也就是為什么js腳本要放在底部。
src用于替換當前元素,href用于在當前文檔和引入資源之間建立聯系。
cookie 本身不是用來做服務器端存儲的(計算機領域有很多這種“狗拿耗子”的例子,例如 CSS 中的 float),它是設計用來在服務器和客戶端進行信息傳遞的,因此我們的每個 HTTP 請求都帶著 cookie。但是 cookie 也具備瀏覽器端存儲的能力(例如記住用戶名和密碼),因此就被開發者用上了。
使用起來也非常簡單,document.cookie = ....即可。
但是 cookie 有它致命的缺點:
存儲量太小,只有 4KB
所有 HTTP 請求都帶著,會影響獲取資源的效率
API 簡單,需要封裝才能用
后來,HTML5 標準就帶來了sessionStorage和localStorage,先拿localStorage來說,它是專門為了瀏覽器端緩存而設計的。
其優點有:存儲量增大到 5MB
不會帶到 HTTP 請求中
API 適用于數據存儲 localStorage.setItem(key, value) localStorage.getItem(key)
sessionStorage的區別就在于它是根據 session 過去時間而實現,而localStorage會永久有效,應用場景不同。例如,一些需要及時失效的重要信息放在sessionStorage中,一些不重要但是不經常設置的信息,放在localStorage中。
標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外 鏈css和js腳本、結構行為表現的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維 護、改版方便,不需要變動頁面內容、提供打印版本而不需要復制內容、提高網站易用性;
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/113633.html
訪問時間超過3S對于用戶就十分痛苦,為考慮到用戶訪問效果。為此我,首屏加載時間一頓操作,基本都在2s左右,這樣的首屏加載時間,對于用戶來說,算是可以接受的。 那我都哪些操作?下面就為大家展示 打包分析 在 package.json 中添加命令 "report":"vue-cli-servicebuild--report" 然后命令行執行npm ...
摘要:那百度為什么不和一樣用呢況且還是開源的。我想一個重要的原因是使用的需要調用官網的庫,用于控制資源加載緩存等功能這個恐怕是百度不愿意采用的一個核心原因,鑒于國內的網絡環境偉大的,難免不讓人擔心這個庫那天被屏蔽了。 1.關于AMP 在移動互聯網的時代,盡管網站響應式設計可以滿足多屏(pc、手機、ipad等)瀏覽,但google在2015年10月推出了更快移動頁面訪問速度的技術-Accele...
Steam是由美國網絡游戲商Valve于2003年9月12日上線的數字發行服務平臺,被稱之為電子計算機游戲圈最大的一個數碼科技發售服務平臺之首。本文運用Python即時獲得steam優惠游戲存檔,有興趣的話可以試一試 序言 Steam是由美國網絡游戲商Valve于2003年9月12日上線的數字發行服務平臺,被稱之為電子計算機游戲圈最大的一個數碼科技發售服務平臺之首,Steam網站是全球最大...
1、下面是添加antd組件樣式不生效代碼 在入口文件中引入import'antd/dist/antd.css' 樣式生效,但是生成警告 WARNINGin./node_modules/antd/dist/antd.css Failedtoparsesourcemap:'webpack://antd/./components/time- picker/s...
小編寫這篇文章的主要目的,是給大家做一個介紹,具體是給大家介紹新版4.0Python代碼的相關解釋,以及具體的實例,下面就給大家詳細的解答下。 1、selenium簡介 Selenium是一個用于Web應用程序測試的工具,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7,8,9,10,11),MozillaFirefox,Safari,Google...
閱讀 2238·2021-09-23 11:52
閱讀 1905·2021-09-02 15:41
閱讀 3026·2019-08-30 10:47
閱讀 1989·2019-08-29 17:14
閱讀 2345·2019-08-29 16:16
閱讀 3195·2019-08-28 18:29
閱讀 3426·2019-08-26 13:30
閱讀 2615·2019-08-26 10:49