Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 一区二区三区视频在线播放,亚洲最新在线,欧美综合激情

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          github最火,近5千star的前端必備知識點匯總(二),前端開發必備

          文資料來源于

          https://github.com/qiu-deqing/FE-interview

          目前已在github獲得4700個star,在前端知識項目中名列第一。

          上一篇主要分享了該項目中的HTML, HTTP,web綜合問題部分。

          本文主要分享該項目中的CSS部分的知識點及面試題部分,后續分享剩余5個章節。

          目錄

          • CSS選擇器有哪些
          • css sprite是什么,有什么優缺點
          • display: none;與visibility: hidden;的區別
          • css hack原理及常用hack
          • specified value,computed value,used value計算方法
          • link與@import的區別
          • display: block;和display: inline;的區別
          • PNG,GIF,JPG的區別及如何選
          • CSS有哪些繼承屬性
          • IE6瀏覽器有哪些常見的bug,缺陷或者與標準不一致的地方,如何解決
          • 容器包含若干浮動元素時如何清理(包含)浮動
          • 什么是FOUC?如何避免
          • 如何創建塊級格式化上下文(block formatting context),BFC有什么用
          • display,float,position的關系
          • 外邊距折疊(collapsing margins)
          • 如何確定一個元素的包含塊(containing block)
          • stacking context,布局規則
          • 如何水平居中一個元素
          • 如何豎直居中一個元素

          歡迎關注筆者,優質文章都在這里等你。


          CSS選擇器有哪些

          1. *通用選擇器:選擇所有元素,不參與計算優先級,兼容性IE6+
          2. #X id選擇器:選擇id值為X的元素,兼容性:IE6+
          3. .X 類選擇器: 選擇class包含X的元素,兼容性:IE6+
          4. X Y后代選擇器: 選擇滿足X選擇器的后代節點中滿足Y選擇器的元素,兼容性:IE6+
          5. X 元素選擇器: 選擇標所有簽為X的元素,兼容性:IE6+
          6. :link,:visited,:focus,:hover,:active鏈接狀態: 選擇特定狀態的鏈接元素,順序LoVe HAte,兼容性: IE4+
          7. X + Y直接兄弟選擇器:在X之后第一個兄弟節點中選擇滿足Y選擇器的元素,兼容性: IE7+
          8. X > Y子選擇器: 選擇X的子元素中滿足Y選擇器的元素,兼容性: IE7+
          9. X ~ Y兄弟: 選擇X之后所有兄弟節點中滿足Y選擇器的元素,兼容性: IE7+
          10. [attr]:選擇所有設置了attr屬性的元素,兼容性IE7+
          11. [attr=value]:選擇屬性值剛好為value的元素
          12. [attr~=value]:選擇屬性值為空白符分隔,其中一個的值剛好是value的元素
          13. [attr|=value]:選擇屬性值剛好為value或者value-開頭的元素
          14. [attr^=value]:選擇屬性值以value開頭的元素
          15. [attr$=value]:選擇屬性值以value結尾的元素
          16. [attr=value]*:選擇屬性值中包含value的元素
          17. [:checked]:選擇單選框,復選框,下拉框中選中狀態下的元素,兼容性:IE9+
          18. X:after, X::after:after偽元素,選擇元素虛擬子元素(元素的最后一個子元素),CSS3中::表示偽元素。兼容性:after為IE8+,::after為IE9+
          19. :hover:鼠標移入狀態的元素,兼容性a標簽IE4+, 所有元素IE7+
          20. :not(selector):選擇不符合selector的元素。不參與計算優先級,兼容性:IE9+
          21. ::first-letter:偽元素,選擇塊元素第一行的第一個字母,兼容性IE5.5+
          22. ::first-line:偽元素,選擇塊元素的第一行,兼容性IE5.5+
          23. :nth-child(an + b):偽類,選擇前面有an + b - 1個兄弟節點的元素,其中n >= 0, 兼容性IE9+
          24. :nth-last-child(an + b):偽類,選擇后面有an + b - 1個兄弟節點的元素 其中n >= 0,兼容性IE9+
          25. X:nth-of-type(an+b):偽類,X為選擇器,解析得到元素標簽,選擇前面有an + b - 1個相同標簽兄弟節點的元素。兼容性IE9+
          26. X:nth-last-of-type(an+b):偽類,X為選擇器,解析得到元素標簽,選擇后面有an+b-1個相同標簽兄弟節點的元素。兼容性IE9+
          27. X:first-child:偽類,選擇滿足X選擇器的元素,且這個元素是其父節點的第一個子元素。兼容性IE7+
          28. X:last-child:偽類,選擇滿足X選擇器的元素,且這個元素是其父節點的最后一個子元素。兼容性IE9+
          29. X:only-child:偽類,選擇滿足X選擇器的元素,且這個元素是其父元素的唯一子元素。兼容性IE9+
          30. X:only-of-type:偽類,選擇X選擇的元素,解析得到元素標簽,如果該元素沒有相同類型的兄弟節點時選中它。兼容性IE9+
          31. X:first-of-type:偽類,選擇X選擇的元素,解析得到元素標簽,如果該元素 是此此類型元素的第一個兄弟。選中它。兼容性IE9+

          css sprite是什么,有什么優缺點

          概念:將多個小圖片拼接到一個圖片中。通過background-position和元素尺寸調節需要顯示的背景圖案。

          優點:

          1. 減少HTTP請求數,極大地提高頁面加載速度
          2. 增加圖片信息重復度,提高壓縮比,減少圖片大小
          3. 更換風格方便,只需在一張或幾張圖片上修改顏色或樣式即可實現

          缺點:

          1. 圖片合并麻煩
          2. 維護麻煩,修改一個圖片可能需要從新布局整個圖片,樣式

          display: none;與visibility: hidden;的區別

          聯系:它們都能讓元素不可見

          區別:

          1. display:none;會讓元素完全從渲染樹中消失,渲染的時候不占據任何空間;visibility: hidden;不會讓元素從渲染樹消失,渲染師元素繼續占據空間,只是內容不可見
          2. display: none;是非繼承屬性,子孫節點消失由于元素從渲染樹消失造成,通過修改子孫節點屬性無法顯示;visibility: hidden;是繼承屬性,子孫節點消失由于繼承了hidden,通過設置visibility: visible;可以讓子孫節點顯式
          3. 修改常規流中元素的display通常會造成文檔重排。修改visibility屬性只會造成本元素的重繪。
          4. 讀屏器不會讀取display: none;元素內容;會讀取visibility: hidden;元素內容

          css hack原理及常用hack

          原理:利用不同瀏覽器對CSS的支持和解析結果不一樣編寫針對特定瀏覽器樣式。常見的hack有1)屬性hack。2)選擇器hack。3)IE條件注釋

          • IE條件注釋:適用于[IE5, IE9]常見格式如下
          <!--[if IE 6]>
          Special instructions for IE 6 here
          <![endif]-->
          
          • 選擇器hack:不同瀏覽器對選擇器的支持不一樣
          /***** Selector Hacks ******/
          /* IE6 and below */
          * html #uno { color: red }
          /* IE7 */
          *:first-child+html #dos { color: red }
          /* IE7, FF, Saf, Opera */
          html>body #tres { color: red }
          /* IE8, FF, Saf, Opera (Everything but IE 6,7) */
          html>/**/body #cuatro { color: red }
          /* Opera 9.27 and below, safari 2 */
          html:first-child #cinco { color: red }
          /* Safari 2-3 */
          html[xmlns*=""] body:last-child #seis { color: red }
          /* safari 3+, chrome 1+, opera9+, ff 3.5+ */
          body:nth-of-type(1) #siete { color: red }
          /* safari 3+, chrome 1+, opera9+, ff 3.5+ */
          body:first-of-type #ocho { color: red }
          /* saf3+, chrome1+ */
          @media screen and (-webkit-min-device-pixel-ratio:0) {
           #diez { color: red }
          }
          /* iPhone / mobile webkit */
          @media screen and (max-device-width: 480px) {
           #veintiseis { color: red }
          }
          /* Safari 2 - 3.1 */
          html[xmlns*=""]:root #trece { color: red }
          /* Safari 2 - 3.1, Opera 9.25 */
          *|html[xmlns*=""] #catorce { color: red }
          /* Everything but IE6-8 */
          :root *> #quince { color: red }
          /* IE7 */
          *+html #dieciocho { color: red }
          /* Firefox only. 1+ */
          #veinticuatro, x:-moz-any-link { color: red }
          /* Firefox 3.0+ */
          #veinticinco, x:-moz-any-link, x:default { color: red }
          
          • 屬性hack:不同瀏覽器解析bug或方法
          /* IE6 */
          #once { _color: blue }
          /* IE6, IE7 */
          #doce { *color: blue; /* or #color: blue */ }
          /* Everything but IE6 */
          #diecisiete { color/**/: blue }
          /* IE6, IE7, IE8 */
          #diecinueve { color: blue\9; }
          /* IE7, IE8 */
          #veinte { color/*\**/: blue\9; }
          /* IE6, IE7 -- acts as an !important */
          #veintesiete { color: blue !ie; } /* string after ! can be anything */
          

          specified value,computed value,used value計算方法

          • specified value: 計算方法如下:
          1. 如果樣式表設置了一個值,使用這個值
          2. 如果沒有設置值,這個屬性是繼承屬性,從父元素繼承
          3. 如果沒設置,并且不是繼承屬性,使用css規范指定的初始值
          • computed value: 以specified value根據規范定義的行為進行計算,通常將相對值計算為絕對值,例如em根據font-size進行計算。一些使用百分數并且需要布局來決定最終值的屬性,如width,margin。百分數就直接作為computed value。line-height的無單位值也直接作為computed value。這些值將在計算used value時得到絕對值。computed value的主要作用是用于繼承
          • used value:屬性計算后的最終值,對于大多數屬性可以通過window.getComputedStyle獲得,尺寸值單位為像素。以下屬性依賴于布局,
          • background-position
          • bottom, left, right, top
          • height, width
          • margin-bottom, margin-left, margin-right, margin-top
          • min-height, min-width
          • padding-bottom, padding-left, padding-right, padding-top
          • text-indent

          link與@import的區別

          1. link是HTML方式, @import是CSS方式
          2. link最大限度支持并行下載,@import過多嵌套導致串行下載,出現FOUC
          3. link可以通過rel="alternate stylesheet"指定候選樣式
          4. 瀏覽器對link支持早于@import,可以使用@import對老瀏覽器隱藏樣式
          5. @import必須在樣式規則之前,可以在css文件中引用其他文件
          6. 總體來說:link優于@import

          display: block;和display: inline;的區別

          block元素特點:

          • 處于常規流中時,如果width沒有設置,會自動填充滿父容器
          • 可以應用margin/padding
          • 在沒有設置高度的情況下會擴展高度以包含常規流中的子元素
          • 處于常規流中時布局時在前后元素位置之間(獨占一個水平空間)
          • 忽略vertical-align

          inline元素特點

          • 水平方向上根據direction依次布局
          • 不會在元素前后進行換行
          • 受white-space控制
          • margin/padding在豎直方向上無效,水平方向上有效
          • width/height屬性對非替換行內元素無效,寬度由元素內容決定
          • 非替換行內元素的行框高由line-height確定,替換行內元素的行框高由height,margin,padding,border決定
          • 浮動或絕對定位時會轉換為block
          • vertical-align屬性生效

          PNG,GIF,JPG的區別及如何選

          參考資料: 選擇正確的圖片格式 GIF:

          1. 8位像素,256色
          2. 無損壓縮
          3. 支持簡單動畫
          4. 支持boolean透明
          5. 適合簡單動畫

          JPEG:

          1. 顏色限于256
          2. 有損壓縮
          3. 可控制壓縮質量
          4. 不支持透明
          5. 適合照片

          PNG:

          1. 有PNG8和truecolor PNG
          2. PNG8類似GIF顏色上限為256,文件小,支持alpha透明度,無動畫
          3. 適合圖標、背景、按鈕

          CSS有哪些繼承屬性

          • 關于文字排版的屬性如:
          • font
          • word-break
          • letter-spacing
          • text-align
          • text-rendering
          • word-spacing
          • white-space
          • text-indent
          • text-transform
          • text-shadow
          • line-height
          • color
          • visibility
          • cursor

          IE6瀏覽器有哪些常見的bug,缺陷或者與標準不一致的地方,如何解決

          • IE6不支持min-height,解決辦法使用css hack:
          .target {
           min-height: 100px;
           height: auto !important;
           height: 100px; // IE6下內容高度超過會自動擴展高度
          }
          
          • ol內li的序號全為1,不遞增。解決方法:為li設置樣式display: list-item;
          • 未定位父元素overflow: auto;,包含position: relative;子元素,子元素高于父元素時會溢出。解決辦法:1)子元素去掉position: relative;; 2)不能為子元素去掉定位時,父元素position: relative;
          <style type="text/css">
          .outer {
           width: 215px;
           height: 100px;
           border: 1px solid red;
           overflow: auto;
           position: relative; /* 修復bug */
          }
          .inner {
           width: 100px;
           height: 200px;
           background-color: purple;
           position: relative;
          }
          </style>
          <div class="outer">
           <div class="inner"></div>
          </div>
          
          • IE6只支持a標簽的:hover偽類,解決方法:使用js為元素監聽mouseenter,mouseleave事件,添加類實現效果:
          <style type="text/css">
          .p:hover,
          .hover {
           background: purple;
          }
          </style>
          <p class="p" id="target">aaaa bbbbb<span>DDDDDDDDDDDd</span> aaaa lkjlkjdf j</p>
          <script type="text/javascript">
          function addClass(elem, cls) {
           if (elem.className) {
           elem.className += ' ' + cls;
           } else {
           elem.className = cls;
           }
          }
          function removeClass(elem, cls) {
           var className = ' ' + elem.className + ' ';
           var reg = new RegExp(' +' + cls + ' +', 'g');
           elem.className = className.replace(reg, ' ').replace(/^ +| +$/, '');
          }
          var target = document.getElementById('target');
          if (target.attachEvent) {
           target.attachEvent('onmouseenter', function () {
           addClass(target, 'hover');
           });
           target.attachEvent('onmouseleave', function () {
           removeClass(target, 'hover');
           })
          }
          </script>
          
          • IE5-8不支持opacity,解決辦法:
          .opacity {
           opacity: 0.4
           filter: alpha(opacity=60); /* for IE5-7 */
           -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* for IE 8*/
          }
          
          • IE6在設置height小于font-size時高度值為font-size,解決辦法:font-size: 0;
          • IE6不支持PNG透明背景,解決辦法: IE6下使用gif圖片
          • IE6-7不支持display: inline-block解決辦法:設置inline并觸發hasLayout
           display: inline-block;
           *display: inline;
           *zoom: 1;
          
          • IE6下浮動元素在浮動方向上與父元素邊界接觸元素的外邊距會加倍。解決辦法: 1)使用padding控制間距。 2)浮動元素display: inline;這樣解決問題且無任何副作用:css標準規定浮動元素display:inline會自動調整為block
          • 通過為塊級元素設置寬度和左右margin為auto時,IE6不能實現水平居中,解決方法:為父元素設置text-align: center;

          容器包含若干浮動元素時如何清理(包含)浮動

          1. 容器元素閉合標簽前添加額外元素并設置clear: both
          2. 父元素觸發塊級格式化上下文(見塊級可視化上下文部分)
          3. 設置容器元素偽元素進行清理推薦的清理浮動方法
          /**
          * 在標準瀏覽器下使用
          * 1 content內容為空格用于修復opera下文檔中出現
          * contenteditable屬性時在清理浮動元素上下的空白
          * 2 使用display使用table而不是block:可以防止容器和
          * 子元素top-margin折疊,這樣能使清理效果與BFC,IE6/7
          * zoom: 1;一致
          **/
          .clearfix:before,
          .clearfix:after {
           content: " "; /* 1 */
           display: table; /* 2 */
          }
          .clearfix:after {
           clear: both;
          }
          /**
          * IE 6/7下使用
          * 通過觸發hasLayout實現包含浮動
          **/
          .clearfix {
           *zoom: 1;
          }
          

          什么是FOUC?如何避免

          Flash Of Unstyled Content:用戶定義樣式表加載之前瀏覽器使用默認樣式顯示文檔,用戶樣式加載渲染之后再從新顯示文檔,造成頁面閃爍。解決方法:把樣式表放到文檔的head

          如何創建塊級格式化上下文(block formatting context),BFC有什么用

          創建規則:

          1. 根元素
          2. 浮動元素(float不是none)
          3. 絕對定位元素(position取值為absolute或fixed)
          4. display取值為inline-block,table-cell, table-caption,flex, inline-flex之一的元素
          5. overflow不是visible的元素

          作用:

          1. 可以包含浮動元素
          2. 不被浮動元素覆蓋
          3. 阻止父子元素的margin折疊

          display,float,position的關系

          1. 如果display為none,那么position和float都不起作用,這種情況下元素不產生框
          2. 否則,如果position值為absolute或者fixed,框就是絕對定位的,float的計算值為none,display根據下面的表格進行調整。
          3. 否則,如果float不是none,框是浮動的,display根據下表進行調整
          4. 否則,如果元素是根元素,display根據下表進行調整
          5. 其他情況下display的值為指定值 總結起來:絕對定位、浮動、根元素都需要調整display

          外邊距折疊(collapsing margins)

          毗鄰的兩個或多個margin會合并成一個margin,叫做外邊距折疊。規則如下:

          1. 兩個或多個毗鄰的普通流中的塊元素垂直方向上的margin會折疊
          2. 浮動元素/inline-block元素/絕對定位元素的margin不會和垂直方向上的其他元素的margin折疊
          3. 創建了塊級格式化上下文的元素,不會和它的子元素發生margin折疊
          4. 元素自身的margin-bottom和margin-top相鄰時也會折疊

          如何確定一個元素的包含塊(containing block)

          1. 根元素的包含塊叫做初始包含塊,在連續媒體中他的尺寸與viewport相同并且anchored at the canvas origin;對于paged media,它的尺寸等于page area。初始包含塊的direction屬性與根元素相同。
          2. position為relative或者static的元素,它的包含塊由最近的塊級(display為block,list-item, table)祖先元素的內容框組成
          3. 如果元素position為fixed。對于連續媒體,它的包含塊為viewport;對于paged media,包含塊為page area
          4. 如果元素position為absolute,它的包含塊由祖先元素中最近一個position為relative,absolute或者fixed的元素產生,規則如下:
          • 如果祖先元素為行內元素,the containing block is the bounding box around the padding boxes of the first and the last inline boxes generated for that element.
          • 其他情況下包含塊由祖先節點的padding edge組成
          1. 如果找不到定位的祖先元素,包含塊為初始包含塊

          stacking context,布局規則

          z軸上的默認層疊順序如下(從下到上):

          1. 根元素的邊界和背景
          2. 常規流中的元素按照html中順序
          3. 浮動塊
          4. positioned元素按照html中出現順序

          如何創建stacking context:

          1. 根元素
          2. z-index不為auto的定位元素
          3. a flex item with a z-index value other than 'auto'
          4. opacity小于1的元素
          5. 在移動端webkit和chrome22+,z-index為auto,position: fixed也將創建新的stacking context

          如何水平居中一個元素

          • 如果需要居中的元素為常規流中inline元素,為父元素設置text-align: center;即可實現
          • 如果需要居中的元素為常規流中block元素,1)為元素設置寬度,2)設置左右margin為auto。3)IE6下需在父元素上設置text-align: center;,再給子元素恢復需要的值
          <body>
           <div class="content">
           aaaaaa aaaaaa a a a a a a a a
           </div>
          </body>
          <style>
           body {
           background: #DDD;
           text-align: center; /* 3 */
           }
           .content {
           width: 500px; /* 1 */
           text-align: left; /* 3 */
           margin: 0 auto; /* 2 */
           background: purple;
           }
          </style>
          
          • 如果需要居中的元素為浮動元素,1)為元素設置寬度,2)position: relative;,3)浮動方向偏移量(left或者right)設置為50%,4)浮動方向上的margin設置為元素寬度一半乘以-1
          <body>
           <div class="content">
           aaaaaa aaaaaa a a a a a a a a
           </div>
          </body>
          <style>
           body {
           background: #DDD;
           }
           .content {
           width: 500px; /* 1 */
           float: left;
           position: relative; /* 2 */
           left: 50%; /* 3 */
           margin-left: -250px; /* 4 */
           background-color: purple;
           }
          </style>
          
          • 如果需要居中的元素為絕對定位元素,1)為元素設置寬度,2)偏移量設置為50%,3)偏移方向外邊距設置為元素寬度一半乘以-1
          <body>
           <div class="content">
           aaaaaa aaaaaa a a a a a a a a
           </div>
          </body>
          <style>
           body {
           background: #DDD;
           position: relative;
           }
           .content {
           width: 800px;
           position: absolute;
           left: 50%;
           margin-left: -400px;
           background-color: purple;
           }
          </style>
          
          • 如果需要居中的元素為絕對定位元素,1)為元素設置寬度,2)設置左右偏移量都為0,3)設置左右外邊距都為auto
          <body>
           <div class="content">
           aaaaaa aaaaaa a a a a a a a a
           </div>
          </body>
          <style>
           body {
           background: #DDD;
           position: relative;
           }
           .content {
           width: 800px;
           position: absolute;
           margin: 0 auto;
           left: 0;
           right: 0;
           background-color: purple;
           }
          </style>
          

          如何豎直居中一個元素

          參考資料:6 Methods For Vertical Centering With CSS。 盤點8種CSS實現垂直居中

          • 需要居中元素為單行文本,為包含文本的元素設置大于font-size的line-height:
          <p class="text">center text</p>
          <style>
          .text {
           line-height: 200px;
          }
          </style>
          

          您的轉發+關注就是對筆者最大的支持,歡迎關注。

          對大廠架構設計,BAT等廠家面試題解讀,編程語言理論或者互聯網圈逸聞趣事這些感興趣,歡迎關注筆者,沒有錯,干貨文章都在這里。

          接調用(異步調異步)

          function fn1() {
          	setTimeout(() => {
          		console.log('fn1執行')
          		fn2('fn1傳遞過去的參數')
          	}, 1000)
          }
          
          function fn2(data) {
          	setTimeout(() => {
          		console.log('fn2執行', data)
          		fn3('fn2傳遞過去的參數')
          	}, 1000)
          }
          
          function fn3(data) {
          	setTimeout(() => {
          		console.log('fn3執行', data)
          	}, 1000)
          }
          fn1()

          執行結果如下:


          我們發現這種方式雖然能實現,但是代碼量一旦變多,可讀性就降低了。

          Promise的方式

          function fn1() {
          	return new Promise((resolve, reject) => {
          		console.log('fn1執行')
          		setTimeout(() => {
          			console.log('fn1結束')
          			resolve('fn1傳遞過去的參數')
          		}, 1000)
          	})
          }
          
          function fn2(data) {
          	return new Promise((resolve, reject) => {
          		console.log('fn2執行,接收的參數', data)
          		setTimeout(() => {
          			resolve('fn2傳遞過去的參數')
          		}, 1000)
          	})
          }
          
          function fn3(data) {
          	return new Promise((resolve, reject) => {
          		console.log('fn3執行,接收的參數', data)
          		setTimeout(() => {
          			resolve('fn3傳遞過去的參數')
          		}, 1000)
          	})
          }
          
          fn1().then(fn2).then(fn3).then(res => {
          	console.log('最后一個', res)
          })

          生成器的方式

          生成器就是能返回一個迭代器的函數,它也是一個函數,對比普通的函數,多了一個*,在它的函數體內可以使用yield關鍵字,函數會在每個yield后暫停,等待,直到這個生成的對象,調用下一個next(),每調用一次next會往下執行一次yieId,然后暫停。

          、下面關于WEB開發中,常見的技術和問題描述正確的是:(多選)

          A、CSS selector中,支持按照元素的id選擇,元素的名稱進行選擇,元素的class屬性進行選擇,比如 “#div .red”就是選擇CSS class屬性中包括red的所有的div元素
          B、JSON是一種以JavaScript語法表示的數據對象格式,比如描述一個學生,包括,其中,姓名,年齡就可以這樣表達 {name: "John", age: 18}
          C、HTML頁面中的第一個指令: 表明這是一個符合HTML5標準的頁面
          D、不同的瀏覽器對HTML渲染的方式稍有差異,但是所有的主流瀏覽器都支持JavaScript語言,而且提供的JavaScript的編程環境都是一致的
          E、HTML頁面裝載時,首先把整個HTML頁面下載下來,再根據HTML中出現的順序依次下載它引用的外部的JavaScript代碼和圖片資源,最后才執行頁面中的JavaScript代碼
          F、JavaScript中的函數就是一個對象,每個函數對象都繼承了JavaScript的Function類

          正確答案: C

          解析:

          A.“#div .red”就是選擇CSS class屬性中包括red的所有Id為div元素

          B.{"name": "John", "age": 18},json數據中的鍵都需要添加""(雙引號)

          D.不同瀏覽器提供的編程環境不一致(包括html、css、js編程的不一致),所以在編程時才要使用 -ms、-webkit、-moz來實現不同瀏覽器的兼容性(解決css編程不一致)

          E.JS文件按在HTML中引入的順序依次載入(不是最后載入),在載入后馬上執行,執行時會阻塞頁面后續的內容(包括頁面的渲染、其它資源的下載)

          F.箭頭函數沒有super關鍵字,所以箭頭函數沒有繼承任何對象,也就不可能繼承Function類。


          2、以下描述正確的是:(多選)

          A、`inline-block` 可以設置高度,`inline` 不可以設置高度
          B、`inline-block` 和 `inline` 都可以設置 `padding-left`
          C、`inline-block` 可以設置 `margin-left`,inline 不可以
          D、`block` 會獨占一行,`inline-block` 不會

          正確答案: A、B、D

          解析:

          行內元素不可以設置元素寬高,但是可以設置 左右padding、左右margin

          img、input屬于行內替換元素。height/width/padding/margin均可用。效果等于塊元素


          3、對于以下 HTML,下列選項中哪一個 CSS 選擇器效果與其他的不同:

          ```html
          <p><span>A</span><span>B</span><span>C</span></p>
          ```

          A、`span:first-child`
          B、`span:nth-child(0)`
          C、`span:nth-child(-n+1)`
          D、`span:nth-last-child(3)`

          正確答案: B

          解析:

          :nth-child(-n+4)選取小于等于4標簽, nth-child最小從1開始


          4、input 元素中,下列哪個類型屬性定義了輸入電話號碼的控件?

          A、mob
          B、tel
          C、mobile
          D、telephone

          正確答案: B


          5、以下選項中,哪些是html5 input的新屬性(多選)

          A、file
          B、search
          C、number
          D、reset
          E、tel

          正確答案: B、C、E

          解析:

          在HTML5中,為input元素新增了以下一些type屬性值:

          • color:用于指定顏色的控件。
          • date:用于輸入日期的控件(年,月,日,不包括時間)。
          • month:用于輸入年月的控件,不帶時區。
          • week:用于輸入一個由星期-年組成的日期,日期不包括時區
          • time:用于輸入不含時區的時間控件。
          • datetime:基于UTC時區的日期時間輸入控件(時,分,秒及幾分之一秒)。
          • datetime-local:用于輸入日期時間控件,不包含時區。
          • email:用于應該包含 e-mail 地址的輸入域。在提交表單時,會自動驗證 email 域的值。
          • number: 用于應該包含數值的輸入域。只能輸入數字
          • range:用于應該包含一定范圍內數字值的輸入域。range 類型顯示為滑動條。
          • search:用于輸入搜索字符串的單行文本字段。換行會被從輸入的值中自動移除。
          • tel:用于輸入電話號碼的控件。在移動端輸入會顯示數字鍵盤,PC端無效果
          • url:用于編輯URL的字段。

          主站蜘蛛池模板: 99精品国产高清一区二区| 99偷拍视频精品一区二区| 午夜精品一区二区三区在线视| 东京热无码一区二区三区av| 国模吧一区二区三区精品视频| 午夜天堂一区人妻| 亚洲熟妇av一区二区三区漫画| 日韩十八禁一区二区久久| 无码精品不卡一区二区三区| 亚洲视频在线一区二区三区| 精品乱人伦一区二区三区| 丰满人妻一区二区三区视频53| www.亚洲一区| 波多野结衣高清一区二区三区| 日韩精品人妻av一区二区三区| 成人欧美一区二区三区在线视频| 精品少妇ay一区二区三区| 亚洲午夜一区二区电影院| 精品欧洲av无码一区二区| 国产精品高清视亚洲一区二区| 亚洲一区视频在线播放| 无码一区二区三区在线观看| 波多野结衣一区二区三区高清av | 国产香蕉一区二区在线网站| 亚洲一区二区三区AV无码| 久久免费国产精品一区二区| 美女福利视频一区| 久久久老熟女一区二区三区| 久久精品免费一区二区| 无码国产精品久久一区免费| 精品人妻无码一区二区三区蜜桃一| 精品国产一区二区三区麻豆| 亚洲一区二区三区高清在线观看 | 一区二区三区免费在线观看| 国产高清一区二区三区四区| 日韩一本之道一区中文字幕| 日本欧洲视频一区| 麻豆天美国产一区在线播放| 一本一道波多野结衣一区| 精品在线一区二区三区| 国产成人精品无码一区二区三区|