中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS中currentColor關鍵字如何使用

發布時間:2021-07-23 15:53:22 來源:億速云 閱讀:152 作者:Leah 欄目:web開發

這篇文章給大家介紹CSS中currentColor關鍵字如何使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、currentColor-真正大隱于市者

實際上,之前“SVG圖標顏色文字般繼承與填充”一文就簡單介紹過currentColor, 后來有同事問此關鍵字,說沒見過。我意識到,應該好好大家宣揚currentColor一番。

currentColor顧名思意就是“當前顏色”,準確講應該是“當前的文字顏色”,例如:

CSS Code復制內容到剪貼板

  1. .xxx { border1px solid currentColor; }   

沒錯!再說一遍,沒錯!就是這么一個長得很不和諧的單詞就是CSS3中一個標準且重要且強大的關鍵字。

什么?你沒見過!!孤陋寡聞了吧~~過來~~來嘛~~只告訴你一個人哦,鄙人其實……已經使用有一段時日了,超贊的!

沒事沒事,別慌,現在開始認識還來得急,也會讓你爽滴!
二、currentColor的使用與表現

上面提到,currentColor表示“當前的標簽所繼承的文字顏色”。可能還有小伙伴一時半會沒消化過來,炒兩個簡單板栗助消化,CSS代碼如下:

CSS Code復制內容到剪貼板

  1. img[src$='mm1.jpg'] { border: 1em solid currentColor; }  

于是,如果御用妹子直接暴露在本文中,妹子邊框顏色就會是文章默認文字顏色,如下這樣子:
CSS中currentColor關鍵字如何使用

我的鑫空間<pre>標簽文字顏色是藍色(pre { color: blue; }),于是,我把御用妹子放在<pre>標簽中,則邊框則是藍色,如下:
CSS中currentColor關鍵字如何使用

注意:由于是CSS3新增關鍵字,需要IE9+以及其他現代瀏覽器才有效果。

換種方式表示就是:currentColor = color的值

用圖示意是:
CSS中currentColor關鍵字如何使用

任意替換性
凡事需要使用顏色值的地方,都可以使用currentColor替換,比方說背景色 &ndash; background-color, 漸變色 &ndash; gradient, 盒陰影 &ndash; box-shadow, SVG的填充色 &ndash; fill等等。很靈活,很好用!

下面問題來了,我要讓圖片邊框藍色,直接:

CSS Code復制內容到剪貼板

  1. border: 1em solid blue;  

不就好了,還要費盡周折弄個currentColor搞摩斯(武漢話,&rsquo;干嘛&rsquo;意思)啊?這活生生多了好多字節的大小啊!

這個想法其實短見了,當我們應用一些CSS高級技能,尤其CSS3圖形技術的時候,你會發現,currentColor就是霧霾天氣下的強勁冷空氣,帶來無比的清爽與潔凈,下面一章節的栗子大家不妨好好感受下!
三、 currentColor的實戰表演秀

實戰1:背景色鏤空技術
去年介紹過“CSS背景色鏤空技術”,可以方便控制圖標的顏色,很贊的想法。此文章對應demo可以輕戳這里訪問。

這種設計的目的就是鼠標hover時候,圖標可以跟著文字一起變色。如果不考慮兼容性問題,我們可以稍稍改造下,使其實現更加簡單:

CSS Code復制內容到剪貼板

  1. .icon {   

  2.     displayinline-block;   

  3.     width16pxheight20px;   

  4.     background-imageurl(../201307/sprite_icons.png);   

  5.     background-color: currentColor; /* 該顏色控制圖標的顏色 */  

  6. }  

于是,我們想要鼠標hover文字鏈接,其圖標顏色要跟著一起變化,只要改變文字顏色就可以了:

CSS Code復制內容到剪貼板

  1. .link:hover { color#333; }/* 雖然改變的是文字顏色,但是圖標顏色也一起變化了 */  

HTML結構如下:

XML/HTML Code復制內容到剪貼板

  1. <a href="##" class="link"><i class="icon icon1"></i>返回</a>  

于是鼠標hover就是#333顏色圖文合體變化:
CSS中currentColor關鍵字如何使用

您可以狠狠地點擊這里:背景色鏤空技術與currentColor demo

實戰2:CSS3圖標生成與hover控制
今天開春時候寫過有一定反響的“CSS3圖標圖形生成技術個人攻略”一文,那個時候還沒有意識到可以借助CSS3 currentColor簡化工作量和HTML代碼。現在可以使用同樣的例子感受下currentColor的風采。

所謂CSS3圖標生成,就是圖標完全由CSS3特性代碼組合合成。由于多半跟鏈接文字混用,因此,有個交互效果就是:hover文字的時候,圖標的顏色也要跟著變化。我一開始使用的是定值顏色,為了hover時候顏色控制方便,就大肆使用border屬性構建圖形,雖然效果也有,但HTML和CSS都啰嗦了點。借助currentColor, hover時候的顏色變化,我們根本無需關心,因為無論是border, background, 還是box-shadow都使用currentColor作為圖形顏色,hover時候自然就會變成我們想要的文字顏色。

于是,之前文章demo中下圖這些CSS代碼就多余了:
CSS中currentColor關鍵字如何使用

具體每個圖標代碼也簡化了,拿平鋪圖標舉例,9個點:
CSS中currentColor關鍵字如何使用

之前為了hover方便,使用border實現,于是5個元素上陣才模擬出來的,代碼熙熙攘攘如下:

CSS Code復制內容到剪貼板

  1. .ico-repeat::before,   

  2. .ico-repeat::after,   

  3. .ico-repeat z { width3pxheight7pxborder-top3px solid #777border-bottom3px solid #777top5pxleft3px; }   

  4. .ico-repeat::before { left3px; }   

  5. .ico-repeat::after { left13px; }   

  6. .ico-repeat z { left8px; }   

  7. .ico-repeat z::before { width7pxheight3pxborder-left3px solid #777border-right3px solid #777top2pxleft: -5px; }   

  8. .ico-repeat z::after { width3pxborder-top3px solid #777top2px; }   

使用currentColor我們可以擺脫實現方式的限制,例如,我們可以使用box-shadow + currentColor, 只要一個元素就可以了。

CSS Code復制內容到剪貼板

  1. .ico-repeat::before { width3pxheight3pxbackground-color: currentColor; box-shadow: 0 5px currentColor, 5px 0 currentColor, 5px 5px currentColor, 10px 0 currentColor, 0 10px currentColor, 5px 10px currentColor, 10px 5px currentColor, 10px 10px currentColor; top5pxleft3px; }  

HTML方便也沒有必要再內嵌一個<z>元素,直接如下就可以了:

XML/HTML Code復制內容到剪貼板

  1. <a href="javascript:" class="ico-a"><i class="ico ico-repeat"></i>平鋪</a>  

鼠標hover效果依然杠杠的,如下:
CSS中currentColor關鍵字如何使用

其他很多圖標也可以做類似的優化,例如列表圖標可以放心使用background-color + border + background-clip單標簽三邊框生成技術,于是,只要兩個元素就足夠了,而之前至少要四個。

若想感受,您可以狠狠地點擊這里:CSS3圖標圖形生成與currentColor demo
四、結語,體系中方能彰顯強大

在CSS2.1的年代,雖然沒有currentColor, 我們依然可以該蹦蹦該跳跳,因為,那時候圖形這些東西都是交給圖片完成的。但是,CSS3(以及SVG)的強大特性、硬件發展(屏幕)以及設計趨勢賦予了其新的使命,圖形構建就是其中之一。然而,阻礙之一就是如何方便控制圖形的狀態變化,幸好,我們有currentColor,圖形跟隨文字顏色狀態同時變化,達到了「圖文合一」的境界,這種境界已經超越font-face, 必將在未來的web技術大潮中大放異彩!

關于CSS中currentColor關鍵字如何使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉峪关市| 合作市| 葫芦岛市| 镇坪县| 河北区| 中西区| 贵南县| 漳州市| 石家庄市| 明光市| 广南县| 洪泽县| 筠连县| 邳州市| 武陟县| 五家渠市| 耒阳市| 周至县| 北京市| 高雄市| 吕梁市| 绥化市| 逊克县| 延寿县| 饶阳县| 宾川县| 靖州| 安塞县| 顺义区| 稷山县| 探索| 雷山县| 呼和浩特市| 安阳市| 唐山市| 宁陕县| 左云县| 炎陵县| 抚顺市| 广汉市| 西乡县|