成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Twitter 換新 logo 了,用 CSS 漸變來畫一個吧~

開發 前端
整個 logo 是一個鏤空的“x”形狀,先不考慮鏤空部分,如何繪制實心的“x”呢?漸變有 3 種,線性漸變、徑向漸變和錐形漸變。很顯然,x 可以看成是兩端傾斜的線段,用線性漸變就足夠了。

大家可能知道,不久前 twitter 換了一個新 logo,從藍色小鳥變成了一個 “x”,如下

不聊其他的,看看如何用 CSS 漸變來繪制這樣一個圖形。

一、 x 的繪制

整個 logo 是一個鏤空的“x”形狀,先不考慮鏤空部分,如何繪制實心的“x”呢?

漸變有 3 種,線性漸變、徑向漸變和錐形漸變。很顯然,x 可以看成是兩端傾斜的線段,用線性漸變就足夠了。

假設 HTML 結構是這樣,一個x元素。

<x></x>

用字號來控制尺寸大小。

x{
  display: inline-block;
  font-size: 200px;
  width: 1em;
  height: 1em;
}

然后通過線性漸變繪制一條斜線,其實就是透明→純色→透明的漸變,注意這里的角度關系,示意如下:

用代碼實現就是。

x{
  /**/
  background: linear-gradient(-52deg, #0000 50%, currentColor 0 55%,#0000 0);
}

可以得到一條傾斜的線段。

用同樣的方式繪制另一個方向上的。

x{
  /**/
  background: linear-gradient(-52deg, #0000 50%, currentColor 0 55%,#0000 0),
    linear-gradient(52deg, #0000 44%, currentColor 0 56%,#0000;
}

這樣就得到一個“x”。

二、鏤空的實現

提到鏤空,你應該想到 CSS mask[1]

遮罩的原理很簡單,在遮罩圖像下,只顯示不透明的部分,透明的部分會被裁剪,半透明以此類推,示意如下:

在這里,由于只需要挖空一小部分,所以這部分是透明的,而其他部分都是不透明的,示意如下:

圖片

那么問題來了,如何繪制這樣一個遮罩圖呢?

這種情況下,應該反過來思考,里面的斜線和前面的線性漸變基本一致,只是這部分現在是鏤空的。因此,這里需要用到遮罩合成:mask-composite[2],和設計軟件中的圖形運算非常相似。

所以,上面的遮罩圖形可以拆分為以下兩個部分。

圖片

用代碼實現就是。

x{
  /**/
  -webkit-mask: linear-gradient(red 0 0),
        linear-gradient(52deg, #0000 48%, red 0 52%,#0000 0) 0/100% 90% no-repeat;
  -webkit-mask-composite: xor;
}

這樣就實現了twitter的新logo。

由于背景色是跟隨文字顏色的,所以更換 logo 顏色也非常方便。

x{
  color: royalblue
}

效果如下:

完整代碼如下(不到10行)。

x{
  display: inline-block;
  font-size: 200px;
  width: 1em;
  height: 1em;
  background: 
    linear-gradient(52deg, #0000 44%, currentColor 0 56%,#0000 0),
    linear-gradient(-52deg, #0000 50%, currentColor 0 55%,#0000 0);
  -webkit-mask: linear-gradient(red 0 0),
    linear-gradient(52deg, #0000 48%, red 0 52%,#0000 0) 0/100% 90% no-repeat;
  -webkit-mask-composite: xor;
}

你也可以訪問以下在線鏈接:

  • CSS twitter (juejin.cn)[3]
  • CSS twitter (codepen.io)[4]

三、總結一下

非常簡單、非常輕松的一篇分享,相信可以給大家帶來一些啟發,下面總結一下繪制要點:

  • 復雜的圖像先拆解,先實現簡單的部分。
  • x 可以看成是兩端傾斜的線段,用線性漸變繪制即可。
  • 看到鏤空,應該想到 CSS 中的遮罩。
  • 有些反向遮罩不好實現,可以考慮用遮罩合成,和設計中的圖形運算非常相似。
  • CSS實現的好處是可以隨意更換顏色。

當然實際的 logo 不可能用這種方式去繪制啦~這里只是提供一種 CSS 思路,鍛煉一下 CSS 繪制的能力。

[1]CSS mask: https://developer.mozilla.org/en-US/docs/Web/CSS/mask-image。

[2]mask-composite: https://developer.mozilla.org/en-US/docs/Web/CSS/mask-composite。

[3]CSS twitter (juejin.cn): https://code.juejin.cn/pen/7271283256816271421。

[4]CSS twitter (codepen.io): https://codepen.io/xboxyan/pen/vYvNVaB。

責任編輯:姜華 來源: 前端偵探
相關推薦

2023-06-05 09:28:32

CSS漸變

2017-08-29 15:34:10

CanvasWASM算法

2023-07-17 09:19:20

CSSCSS 漸變

2024-03-13 08:21:53

冒泡排序動畫

2022-11-21 18:01:24

CSSthree.js

2017-08-28 15:11:41

PythonJavaPHP

2022-03-07 09:20:00

JavaScripThree.jsNFT

2013-03-15 10:57:34

AMDLOGO固態硬盤

2020-05-09 09:59:52

Python數據土星

2011-10-21 09:10:12

JavaScript

2021-12-30 06:59:27

視頻通話網頁

2022-12-05 11:20:21

CSS漸變小技巧

2017-12-27 14:51:12

Kotlin谷歌Java

2018-05-28 07:27:18

2010-06-21 09:08:02

Twitter宕機云計算

2010-03-05 09:02:01

2020-12-09 11:32:10

CSS前端代碼

2025-02-08 08:42:22

2013-06-27 15:47:18

Motorola MoGoogle

2021-09-07 07:34:42

CSS 技巧代碼重構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 特级黄一级播放 | 成人黄色三级毛片 | 亚洲精品中文字幕在线观看 | 国产成人精品午夜视频免费 | 亚洲国产69 | 亚洲高清一区二区三区 | 天天操伊人 | 99久久婷婷国产综合精品电影 | 国产原创视频 | av毛片在线免费观看 | 日韩一区二区不卡 | 国产精品久久片 | 亚洲精品3 | 日韩免费1区二区电影 | 免费一级欧美在线观看视频 | 欧美a∨ | 欧美伊人久久久久久久久影院 | 国产免费一区二区 | 国产在线精品一区二区 | av中文字幕网| 国产精品99久久久久久动医院 | 国产 欧美 日韩 一区 | 亚洲福利一区二区 | 午夜精品91 | 国产精品日韩欧美一区二区 | 日韩在线播放一区 | 欧美久久视频 | 日韩α片| 国产精品久久久久无码av | 怡红院怡春院一级毛片 | 影音先锋中文字幕在线观看 | 性一交一乱一伦视频免费观看 | 日韩视频一区二区三区 | 91久久精品国产免费一区 | 亚洲精品一区中文字幕乱码 | 久热电影 | 久久久精品国产 | 91亚洲国产成人精品一区二三 | 在线婷婷 | 91九色porny首页最多播放 | 欧美嘿咻 |