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 国产成人在线免费观看,亚洲国产精品久久网午夜,欧美一级毛片怡红院

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          今天全國哀悼日,手把手教你一段css讓全站變灰



          表達(dá)全國各族人民對抗擊新冠肺炎疫情斗爭犧牲烈士和逝世通報的深切哀悼,國務(wù)院今天發(fā)布公告,決定2020年4月4日舉行全國性哀悼活動。在此期間,全國和駐外使館下半旗致哀,全國停止公共娛樂活動,4月4日10點開始,全國人民默哀3分鐘,汽車、火車、艦船鳴笛,防空警報鳴響。

          想到以往默哀日訪問網(wǎng)站時發(fā)現(xiàn)整站會變成全灰,即想到如果立即開始開發(fā)、設(shè)計圖修改等工作也會消耗大量的時間與精力,那會不會有css可以直接處理所有的元素將他們變灰,隨即想到了css3的filter(濾鏡),并也證實了這一想法的可行性。

          filter: grayscale 使用可以調(diào)整元素的灰度值

          .gray-filter {
              filter: grayscale(100%);
              -webkit-filter: grayscale(100%);
              -moz-filter: grayscale(100%);
              -ms-filter: grayscale(100%);
              -o-filter: grayscale(100%);
              filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
              filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
              -webkit-filter: grayscale(1);
          }
          復(fù)制代碼

          實戰(zhàn)

          以B站為例:

          在正常的情況下B站這個導(dǎo)航欄滑到下面之后是fixed在頁面的頂部的


          但假如你把這段css加到了body上會發(fā)生下面這種情況:

          你可以發(fā)現(xiàn)它不再固定在頁面的頂部了,而是超出去了屏幕外面,屏幕左下角的小電視人也跑到了頁面上半部分去,為什么會發(fā)生這樣的情況呢?


          我去Google查閱了相關(guān)資料,發(fā)現(xiàn):

          對于指定了 filter 樣式且值不為 none 時,被應(yīng)用該樣式的元素其子元素中如果有 position 為 absolute 或 fixed 的元素,會為這些元素創(chuàng)建一個新的容器,使得這些絕對或固定定位的元素其定位的基準(zhǔn)相對于這個新創(chuàng)建的容器。

          我們可以聯(lián)想出fixed是相對于html根容器來定位的,如果在body上設(shè)置了filter則會創(chuàng)建一個新的定位基準(zhǔn),而頁面滾動時將body滾動出了屏幕外,則body內(nèi)所有子孫元素的fixed將產(chǎn)生不符合預(yù)期的效果。

          如何解決呢?

          解決方案1

          影響全站的方法我們可以將該樣式應(yīng)用到根元素html上,即使創(chuàng)建了新的定位基準(zhǔn)元素,也不會對子孫元素產(chǎn)生不符合預(yù)期的影響。

          html {
              filter: grayscale(100%);
              -webkit-filter: grayscale(100%);
              -moz-filter: grayscale(100%);
              -ms-filter: grayscale(100%);
              -o-filter: grayscale(100%);
              filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
              filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
              -webkit-filter: grayscale(1);
          }
          復(fù)制代碼

          效果:



          解決方案2

          非全站變灰我們可以將需要使用filter的元素單獨加上

          
          <html>
              <body>
                  <div class="gray-filter"></div>
              </body>
          </html>
          
          <style>
          .fixed {
              position: fixed;
              top: 100px;
              left: 100px;
              height: 100px;
              width: 100px;
              background-color: #f00;
          }
          .gray-filter {
              filter: grayscale(100%);
              -webkit-filter: grayscale(100%);
              -moz-filter: grayscale(100%);
              -ms-filter: grayscale(100%);
              -o-filter: grayscale(100%);
              filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
              filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
              -webkit-filter: grayscale(1);
          }
          </style>
          復(fù)制代碼


          兼容IE的辦法

          很多小伙伴評論說IE低版本不支持該怎么辦于是我Google搜索了一下是有實現(xiàn)辦法的 實現(xiàn)辦法是引入grayscale.js,Demo下載 grayscale.js Demo

          簡單查看了該js的源碼后發(fā)現(xiàn)會將color、background-color、borderColor等屬性提取出來后替換成灰色,background-image和圖片會使用canvas繪制處理成灰色再替換成處理后的圖片源

          demo內(nèi)functions.js則是對判斷瀏覽器userAgent來識別瀏覽器類型與版本,做出對應(yīng)的處理

          參考資料地址:http://www.majas-lapu-izstrade.lv/cross-browser-grayscale-ie11/

          小程序下的問題

          微信小程序我嘗試加在page上但是fixed還是失效了,只能使用第二種方法去加樣式,大家如果有解決方案可以評論提出來大家一起討論一下~

          CSS3 filter MDN 地址:https://developer.mozilla.org/zh-CN/docs/Web/CSS/filter


          推薦CSS3學(xué)習(xí)資料文章

          《關(guān)于前端CSS寫法104個知識點匯總(一)》

          《關(guān)于前端CSS寫法104個知識點匯總(二)》

          《妙用CSS變量,讓你的CSS變得更心動》

          《你未必知道的49個CSS知識點》

          《手把手整理CSS3知識匯總【思維導(dǎo)圖】》

          《拒絕JavaScript,這三個CSS技巧你一定用的上》


          作者:tiutiu
          轉(zhuǎn)發(fā)鏈接:https://juejin.im/post/5e86e221e51d4546ce27b99c

          么是 VitePress?

          VitePress 是 VuePress 的下一代框架,是基于 Vue3+Vite 構(gòu)建的靜態(tài)站生成器。

          原先的 VuePress 是基于 Webpack 構(gòu)建,本地啟動開發(fā)一個只有幾個簡單頁面的文檔站點需要等待的時間讓人難以忍受。即使是HMR熱更新也需要幾秒鐘的時間才能在瀏覽器中顯示出來。

          從根本上說,這是因為 VuePress 是 webpack 的一個應(yīng)用程序。即使只有兩頁,這也是一個完整的 webpack 項目(包括所有的主題源文件)正在編譯。當(dāng)項目有很多頁面時,情況會變得更糟:每個頁面都必須先完全編譯,然后服務(wù)器才能顯示內(nèi)容!

          Vite 很好地解決了這些問題:幾乎立即啟動服務(wù)器,只按需編譯正在服務(wù)的頁面,以及閃電般的快速 hmr。所以基于 Vue3 和 Vite 的 VitePress 誕生了。

          VitePress 的優(yōu)勢

          1. VitePress 是 VuePress 的下一代框架,所以它有 VuePress 的所有優(yōu)點;
          2. 具有 Vite 的速度, 開發(fā)服務(wù)器啟動快,熱更新快,構(gòu)建快,只按需編譯正在服務(wù)的頁面;
          3. 利用 Vue 3 做的一些優(yōu)化, JS 負(fù)載更容易解析,hydration 也變得更快。
          4. 容易上手,VitePress 更多的是主觀性的并且配置很少。
          5. VitePress 是面向未來的:VitePress 僅適用于支持原生 ES 模塊導(dǎo)入的瀏覽器,鼓勵使用沒有經(jīng)過轉(zhuǎn)換的原生 JavaScript 以及主題化中使用 CSS 變量。

          總之,體驗舒適,性能好,才有競爭力。開源字節(jié)基于vitepress推出官方技術(shù)文檔,幫助大家做一些系統(tǒng)化的學(xué)習(xí)來提升自我的認(rèn)知效率,從而提高我們的自我獨立性。

          如若轉(zhuǎn)載,請注明出處:開源字節(jié) https://sourcebyte.cn/article/107.html

          號用于每日更新前端最新面試題,React、Vue、小程序、JavaScript、HTML5、CSS、uniapp、ES6、前端工程化、性能優(yōu)化等熱點面試題~~~

          歡迎關(guān)注,面試題刷起來~~升職加薪不是夢~~

          以下是一些常見的前端面試題和答案,涉及 CSS 的主題:

          1. 請解釋一下 CSS 盒模型。
            答案:CSS 盒模型是用來描述元素在頁面中占據(jù)空間的方式。它由內(nèi)容區(qū)域、內(nèi)邊距、邊框和外邊距組成。
          2. 請解釋一下 CSS 選擇器的優(yōu)先級。
            答案:CSS 選擇器的優(yōu)先級是用來確定哪個規(guī)則應(yīng)用于特定的元素。它由選擇器的特殊性、重要性和源代碼順序決定。
          3. 請解釋一下 CSS 清除浮動。
            答案:清除浮動是一種技術(shù),用于處理浮動元素引起的父元素高度塌陷的問題。常見的清除浮動的方法包括使用空元素清除浮動、使用 clearfix 類、使用偽元素等。
          4. 請解釋一下 CSS 偽類和偽元素的區(qū)別。
            答案:CSS 偽類用于選擇處于特定狀態(tài)的元素,如:hover、:active;而偽元素用于創(chuàng)建元素的特定部分,如::before、::after。
          5. 請解釋一下 CSS 相對定位和絕對定位的區(qū)別。
            答案:相對定位是相對于元素在正常文檔流中的位置進(jìn)行定位,它不會影響其他元素的布局;絕對定位是相對于最近的已定位祖先元素進(jìn)行定位,或者如果沒有已定位的祖先元素,則相對于初始包含塊進(jìn)行定位。
          6. 請解釋一下 CSS 選擇器的子代選擇器和后代選擇器的區(qū)別。
            答案:子代選擇器(>)選擇作為某個元素直接子元素的元素;后代選擇器(空格)選擇作為某個元素后代的所有元素,無論它們是直接子元素還是更深層次的子元素。
          7. 請解釋一下 CSS 中的層疊上下文(stacking context)。
            答案:層疊上下文是指在 HTML 文檔中的一個三維概念,它決定了元素在 z 軸上的顯示順序和如何相互堆疊。層疊上下文可以通過特定的 CSS 屬性(如position、z-index)創(chuàng)建。
          8. 請解釋一下 CSS 中的浮動(float)屬性。
            答案:浮動是一種布局方式,用于將元素從正常的文檔流中移動并使其根據(jù)浮動方向?qū)R。浮動元素會影響周圍元素的布局。
          9. 請解釋一下 CSS 中的盒子模型和內(nèi)容溢出(overflow)屬性。
            答案:CSS 盒子模型是用來描述元素的布局方式,內(nèi)容溢出屬性用于控制當(dāng)元素中的內(nèi)容超過元素框時如何處理溢出的部分。
          10. 請解釋一下 CSS 中的媒體查詢(media queries)。
            答案:媒體查詢是一種在 CSS 中使用媒體類型和特定條件來應(yīng)用樣式的方法。它可以根據(jù)設(shè)備的特性(如屏幕寬度、像素密度等)動態(tài)地調(diào)整樣式。
          11. 請解釋一下 CSS 中的盒子陰影(box-shadow)屬性。
            答案:盒子陰影屬性用于在元素周圍創(chuàng)建一個或多個陰影效果。它可以指定陰影的顏色、模糊半徑、偏移量等。
          12. 請解釋一下 CSS 中的動畫(animation)屬性。
            答案:動畫屬性用于在元素上創(chuàng)建動畫效果。它可以定義動畫的關(guān)鍵幀、持續(xù)時間、延遲等屬性。
          13. 請解釋一下 CSS 中的彈性布局(Flexbox)。
            答案:彈性布局是一種用于創(chuàng)建靈活的、自適應(yīng)的布局的 CSS 模塊。它通過使用容器和項目的屬性來控制元素在主軸和交叉軸上的對齊和分布。
          14. 請解釋一下 CSS 中的網(wǎng)格布局(Grid)。
            答案:網(wǎng)格布局是一種二維布局系統(tǒng),用于將頁面劃分為行和列,并通過使用容器和項目的屬性來控制元素在網(wǎng)格中的位置和大小。
          15. 請解釋一下 CSS 中的響應(yīng)式設(shè)計(Responsive Design)。
            答案:響應(yīng)式設(shè)計是一種設(shè)計方法,通過使用媒體查詢和流動布局等技術(shù),使網(wǎng)站或應(yīng)用能夠在不同的設(shè)備和屏幕尺寸上提供最佳的用戶體驗。
          16. 請解釋一下 CSS 中的變量(Variables)。
            答案:CSS 變量是一種用于存儲和重用值的機制。它們使用自定義屬性(如 --color: red;)來定義,并通過 var() 函數(shù)在其他地方引用。
          17. 請解釋一下 CSS 中的漸變(Gradients)。
            答案:漸變是一種在元素背景或文本中創(chuàng)建平滑過渡效果的方法。它可以是線性漸變(沿著一條直線方向)或徑向漸變(從中心向外擴(kuò)散)。
          18. 請解釋一下 CSS 中的字體圖標(biāo)(Icon Fonts)。
            答案:字體圖標(biāo)是使用字體文件來顯示圖標(biāo)的方法。通過將圖標(biāo)設(shè)計為字體字符,并將字體文件引入頁面,可以使用 CSS 控制圖標(biāo)的樣式和大小。
          19. 請解釋一下 CSS 中的屏幕閱讀器隱藏(Screen Reader Hiding)。
            答案:屏幕閱讀器隱藏是一種技術(shù),用于將某些內(nèi)容隱藏或屏蔽,以使屏幕閱讀器用戶不會聽到或感知到這些內(nèi)容。
          20. 請解釋一下 CSS 中的響應(yīng)式圖像(Responsive Images)。
            答案:響應(yīng)式圖像是一種優(yōu)化圖像顯示的方法,使圖像能夠根據(jù)設(shè)備的屏幕尺寸和分辨率自動調(diào)整大小和加載適當(dāng)?shù)膱D像版本。常見的實現(xiàn)方法包括使用 srcset 和 sizes 屬性。

          主站蜘蛛池模板: 亚洲AV无码一区二区大桥未久| 国产精品视频一区| 精品国产一区二区三区久久久狼| 中文字幕无线码一区2020青青| 亚洲av午夜精品一区二区三区| 国产福利91精品一区二区三区| 久久亚洲中文字幕精品一区| 综合无码一区二区三区四区五区| 亚洲午夜福利AV一区二区无码| 国产在线第一区二区三区| 搡老熟女老女人一区二区| 亚洲男人的天堂一区二区| 免费高清av一区二区三区| 91视频一区二区三区| 一区二区三区日韩| 久久久无码一区二区三区| 亚洲国产成人久久一区WWW | 无码av免费一区二区三区| 一区二区三区四区精品| 海角国精产品一区一区三区糖心| 亚洲AV美女一区二区三区| 日韩精品一区二区三区四区| 波多野结衣的AV一区二区三区| 亚洲日韩国产一区二区三区| 国产主播福利精品一区二区 | 国产免费一区二区三区不卡 | 成人无号精品一区二区三区| 国产高清在线精品一区| 蜜臀AV一区二区| 国产精品福利一区二区久久| 99久久精品日本一区二区免费| 蜜桃无码一区二区三区| 日本在线视频一区二区| 亚洲一区二区观看播放| 久久精品国内一区二区三区| 精品国产一区二区二三区在线观看| 免费高清在线影片一区| 一区二区三区视频网站| 久久久久久综合一区中文字幕 | 夜夜高潮夜夜爽夜夜爱爱一区| 亚洲欧美日韩一区二区三区在线|