整合營銷服務商

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

          免費咨詢熱線:

          web 中怎么實現斜線表頭效果?

          果是自己用 table 實現的表格,可以用下面的兩個方法:

          1. 直接做一個帶有斜線和文字的圖片,在 html 中引用。

          缺點:要求圖片大小能和格子大小相同。頁面做了自適應的功能的話,圖片上的線可能會失真,效果不夠理想。

          2. 用 css3 的標簽 canvas,將其作為畫布畫一條斜線。

          缺點:會存在瀏覽器兼容性問題,如果只需要在 chrom 中使用可以考慮。

          其實現在大部分項目中做表都會用報表工具,工具中就基本都有這個功能了,設置方式也很簡單,潤乾報表中只要直接點選個按鈕就輕松實現效果,也不用擔心有什么瀏覽器兼容的問題,具體可以參考看下文章 那些特殊邊框效果在報表中要怎樣實現? - 乾學院
          文章中除了斜線表頭外,還有其他類型的特殊邊框效果的實現方法。

          標題估計也很難知道什么是斜線拼接,為了快速知道斜線拼接是什么意思,此處省去一堆廢話……

          這篇文章我們來研究一下用CSS3屬性怎么實現下面這張圖效果。

          上面這圖是由兩張圖構成的,使用的是css3屬性masklinear gradient。沒什么難的。通過這個實例我們就能理解這兩個屬性是怎么用的了。

          一、先來顯示兩張圖

          DOM結構:

          <div class="wrapper">

          <div class="left"></div>

          <div class="right"></div>

          </div>

          樣式內容:

          .wrapper{

          position: relative;

          width: 360px;

          border: 5px solid #fff;

          }

          .left{

          background: url(1.png);

          background-size: cover;

          width: 100%;

          height: 200px;

          }

          .right{

          background: url(2.png);

          background-size: cover;

          width: 100%;

          height: 200px;

          }

          顯示結果是這樣的:

          這很簡單,很好理解,沒什么難的,下面開始重點內容了

          二、畫個斜線

          為了實現斜線拼接,你總得有個斜線吧?把下面那個美女圖換成一個斜線圖。

          .right{

          background: -webkit-linear-gradient(left top, blue 50%, #ddd 50%);

          }

          結果變成這個樣子的:

          沒錯,美女圖不見了,不急,下面我們在換回來。

          三、換回美女圖

          把背景換成真實的美女,漸變圖作為mask。

          .right{

          background: url(2.png);

          -webkit-mask-image: -webkit-linear-gradient(left top, blue 50%, #ddd 50%);

          }

          這個時候又回到了顯示兩張圖的效果。是的,沒錯,那是因為:

          Mask的原理是:它只會把遮罩圖里透明像素所對應的原圖部分進行隱藏,而我們的漸變是完全不透明的。所以就沒有遮罩效果。

          現在來改一下mask:

          .right{

          -webkit-mask-image: -webkit-linear-gradient(left top, transparent 50%, #ddd 50%);

          }

          這樣子就對了,效果如下圖所示:

          四、層疊兩張圖

          給下面那個美女圖區加個定位:

          .right{

          position:absolute;

          left:0;

          top:0;

          }

          這樣就得到文章一開始的那個兩張圖拼接的效果了。本文最關鍵是理清css3屬性masklinear gradient的使用原理,記住文中加粗的那句話。

          短內容,說完整事,哪怕只讀一篇也能學知識。點擊關注小鄭搞碼事,說的都是那堆代碼。謝謝您的鼓勵!

          TypeScript是Javascript的超集,實現以面向對象編程的方式使用Javascript。當然最后代碼還是編譯為Javascript。

          三斜杠指令是包含單個XML標記的單行注釋。 注釋的內容用作編譯器指令。

          三斜杠指令僅在其包含文件的頂部有效。 三重斜杠指令只能在單行或多行注釋之前,包括其他三重斜杠指令。 如果在聲明或聲明之后遇到它們,則將它們視為常規單行注釋,并且沒有特殊含義。

          /// <reference path ="..."/>

          /// <reference path ="..."/>指令是該組中最常見的。 它充當文件之間的依賴聲明。

          三斜杠引用指示編譯器在編譯過程中包含其他文件。

          它們還可以作為在使用–out或–outFile時對輸出進行排序的方法。 在預處理傳遞之后,文件以與輸入相同的順序發送到輸出文件位置。

          該過程從一組根文件開始; 這些是在命令行或tsconfig.json文件的”files”列表中指定的文件名。 這些根文件按照指定的順序進行預處理。 在將文件添加到列表之前,將處理其中的所有三重斜杠引用,并包括其目標。 三重斜杠引用按照它們在文件中看到的順序以深度優先方式解析。

          如果無根則,則相對于包含文件解析三斜杠參考路徑。

          錯誤

          引用不存在的文件是錯誤的。 如果文件具有對自身的三斜杠引用,則會出錯。

          使用–noResolve

          如果指定了編譯器標志–noResolve,則忽略三次斜杠引用; 它們既不會導致添加新文件,也不會更改所提供文件的順序。

          /// <reference types="..." />

          類似于/// <reference path ="..."/>指令,該指令用作依賴聲明; 但是, /// <references types ="..."/>指令聲明了對包的依賴性。

          解析這些包名稱的過程類似于在import語句中解析模塊名稱的過程。 考慮三重斜杠引用類型指令的簡單方法是作為聲明包的導入。

          例如,在聲明文件中包含/// <references types ="node"/>聲明此文件使用在types/node/index.d.ts中聲明的名稱; 因此,此包需要與聲明文件一起包含在編譯中。

          只有在手動創建d.ts文件時才使用這些指令。

          對于編譯期間生成的聲明文件,編譯器會自動為您添加/// <references types ="..."/>; 當且僅當生成的文件使用引用包中的任何聲明時,才會添加生成的聲明文件中的/// <reference types ="..."/> 。

          /// <reference lib="..." />

          該指令允許文件顯式包含現有的內置lib文件。

          內置的lib文件以與tsconfig.json中的”lib”編譯器選項相同的方式引用(例如,使用lib=”es2015”而不是lib=”lib.es2015.d.ts”等)。

          對于在內置類型上進行中繼的聲明文件作者,例如 建議使用DOM API或內置的JS運行時構造函數(如Symbol或Iterable,三斜杠引用lib指令)。 以前這些.d.ts文件必須添加此類型的前向/重復聲明。

          例如,將/// <reference lib="es2017.string"/>添加到編譯中的一個文件等效于使用–lib es2017.string進行編譯。

          /// <reference lib="es2017.string" />
           
          "foo".padStart(4);
          

          /// <reference no-default-lib="true"/>

          該指令將文件標記為默認庫。 您將在lib.d.ts及其不同變體的頂部看到此注釋。

          該指令指示編譯器不在編譯中包含默認庫(即lib.d.ts)。 這里的影響類似于在命令行上傳遞–noLib。

          另請注意,在傳遞–skipDefaultLibCheck時,編譯器將僅跳過使用/// <reference no-default-lib ="true"/>檢查文件。

          /// <amd-module />

          默認情況下,AMD模塊是匿名生成的。 當使用其他工具處理結果模塊(例如捆綁器(例如r.js))時,這會導致問題。

          amd-module指令允許將可選模塊名稱傳遞給編譯器:

          amdModule.ts

          ///<amd-module name="NamedModule"/>
          export class C {
          }
          

          將導致將名稱NamedModule分配給模塊作為調用AMD定義的一部分:

          amdModule.js

          define("NamedModule", ["require", "exports"], function (require, exports) {
           var C = (function () {
           function C() {
           }
           return C;
           })();
           exports.C = C;
          });
          

          /// <amd-dependency />

          注意:此指令已被棄用。使用import”moduleName”;而是聲明。

          /// <amd-dependency path ="x"/>通知編譯器需要在結果模塊的require調用中注入的非TS模塊依賴項。

          amd-dependency指令也可以有一個可選的name屬性; 這允許傳遞amd依賴的可選名稱:

          /// <amd-dependency path="legacy/moduleA" name="moduleA"/>
          declare var moduleA:MyType
          moduleA.callStuff()
          

          生成的JS代碼:

          define(["require", "exports", "legacy/moduleA"], function (require, exports, moduleA) {
           moduleA.callStuff()
          });
          

          最后

          以下是總結出來最全前端框架視頻,包含: javascript/vue/react/angualrde/express/koa/webpack 等學習資料。

          【領取方式】

          關注頭條 前端全棧架構丶第一時間獲取最新前端資訊學習

          手機用戶可私信關鍵詞 【前端】即可獲取全棧工程師路線和學習資料!


          主站蜘蛛池模板: 免费高清av一区二区三区| 无码AⅤ精品一区二区三区| 国产情侣一区二区| 国产精品亚洲高清一区二区| 国产成人精品一区二区三区无码| 精品福利一区二区三区免费视频| 国产中文字幕一区| 玩弄放荡人妻一区二区三区| 国产精品美女一区二区视频| 久久国产高清一区二区三区| 综合激情区视频一区视频二区| 亚洲AV无码国产一区二区三区| 色偷偷一区二区无码视频| 一区二区三区杨幂在线观看| 亚洲Av无码国产一区二区| 麻豆AV一区二区三区| 一区二区在线电影| 久久高清一区二区三区| 中文字幕一区二区三区乱码| 国产成人高清精品一区二区三区 | 国产美女口爆吞精一区二区| 亚洲AV无码一区二区三区牛牛 | 日韩在线一区二区三区免费视频| 高清精品一区二区三区一区| 国产成人精品日本亚洲专一区| 亚洲制服中文字幕第一区| 久久久久成人精品一区二区 | 一本久久精品一区二区| 亚洲V无码一区二区三区四区观看 亚洲爆乳精品无码一区二区三区 亚洲爆乳无码一区二区三区 | 中文字幕一区二区三区永久| 国产av福利一区二区三巨| 超清无码一区二区三区| 99久久精品国产免看国产一区 | 偷拍精品视频一区二区三区| 日本韩国黄色一区二区三区| 亚洲一区二区三区在线播放| 国产免费播放一区二区| 国99精品无码一区二区三区| 中文字幕精品一区二区日本| 亚洲av无码一区二区三区人妖| 日韩人妻无码免费视频一区二区三区|