自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

新聞 前端
大佬級(jí)前端,用HTML+CSS繪畫,全程不用PS、AI這種圖形化的圖片編輯器,單純敲一行行代碼純手工繪制。

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

HTML不是編程語(yǔ)言,但這并不妨礙精通它的大佬玩出花來(lái)。

普通的前端,用HTML+CSS制作網(wǎng)頁(yè),元素簡(jiǎn)單,工具豐富。

大佬級(jí)前端,用HTML+CSS繪畫,全程不用PS、AI這種圖形化的圖片編輯器,單純敲一行行代碼純手工繪制。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

把代碼轉(zhuǎn)換之后,就變成了鮮嫩的水果:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

或者畫出洛可可風(fēng)格的古典女性肖像:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

還有弗拉芒巴洛克肖像風(fēng)格的人物畫像,充滿了中世紀(jì)的禁欲感:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

現(xiàn)代的也有,比如這位在粉色燈光下的著禮服的妹子:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

以及充滿者50年代氣息的復(fù)古風(fēng)人物海報(bào):

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

曲線、光影、漸變,每個(gè)元素都相當(dāng)復(fù)雜。

而且,創(chuàng)作過(guò)程中不用SVG,只用Atom文本編輯器和Chrome開(kāi)發(fā)者工具。

也就是說(shuō),畫面上的每一條曲線和漸變、每一處高光和陰影、每一根頭發(fā)和睫毛、每一片蕾絲和褶皺,都是一行行代碼從頭敲出來(lái)的!

如此精細(xì)程度和創(chuàng)造力,讓學(xué)美術(shù)的網(wǎng)友感嘆“學(xué)畫畫不如寫代碼”,讓學(xué)計(jì)算機(jī)的同學(xué)覺(jué)得“別人寫的這么藝術(shù),一定是我的教科書(shū)打開(kāi)方式不對(duì)”。

真·交叉學(xué)科大佬。

它們的作者,是灣區(qū)前端大神Diana Smith小姐姐,她目前是企業(yè)及軟件開(kāi)發(fā)商Atlassian的一名資深Web開(kāi)發(fā)。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

繪制過(guò)程

Diana在專門討論CSS的網(wǎng)站CSS-Tricks寫下了詳細(xì)的教程。

畫出這樣一個(gè)圖形分成幾步?

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

如果不用CSS,一般都是直接嵌入這個(gè)特殊的圖形。

如果用CSS,那么就從黑色矩形開(kāi)始,然后在兩側(cè)加上上兩個(gè)

與白色背景顏色匹配的邊框半徑元素。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

先畫出一個(gè)黑色矩形,然后兩邊用圓弧遮擋。有了基礎(chǔ)形狀后,下一步就是給它添上漸變的背景。但是如果用矩形方式填充,得到的效果就是這樣的:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

Diana的辦法是:在保留矩形的同時(shí),加上兩個(gè)彎曲的div,把凹進(jìn)去的部分也填充上。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

最后完整的代碼是這樣的:

  1. div{ 
  2.   width: 500px; 
  3.   height: 350px; 
  4.   background: #000
  5.   position: relative; 
  6.  
  7.   &::after, &::before{ 
  8.     width: 20%; 
  9.     height: 100%;     
  10.     position: absolute; 
  11.     top: 0
  12.     z-index:2
  13.     content: "";     
  14.  
  15.     background: #1e5799;  
  16. background: -moz-linear-gradient(top, #1e5799 0%, #7db9e8 100%);  
  17. background: -webkit-linear-gradient(top, #1e5799 0%,#7db9e8 100%); 
  18. background: linear-gradient(to bottom, #1e5799 0%,#7db9e8 100%);  
  19. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 );  
  20.   } 
  21.  
  22.   &::after{ 
  23.     border-radius: 10000100%;    
  24.     right: 0
  25.   } 
  26.  
  27.   &::before{ 
  28.     border-radius: 0 1001000;    
  29.     left: 0
  30.   }    
  31.  
  32. body{ 
  33.   background: #1e5799;  
  34. background: -moz-linear-gradient(top, #1e5799 0%, #7db9e8 100%);  
  35. background: -webkit-linear-gradient(top, #1e5799 0%,#7db9e8 100%);  
  36. background: linear-gradient(to bottom, #1e5799 0%,#7db9e8 100%);  
  37. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 );  

你也可以去這個(gè)完成查看CSS樣式的實(shí)際運(yùn)行效果:

https://codepen.io/jean-jordan/pen/KeKaBw

剛剛我們畫的那幅畫像不像人的脖子?好的,我們?cè)倩氐饺讼癞嬌?,Diana繪制人物的脖子也是類似的過(guò)程。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

在上面這張圖里,我們看到了Diana如何逐步改形狀,最終得到了油畫中人物的脖子。

但是僅僅會(huì)畫各種幾何形狀,是無(wú)法生成藝術(shù)品的,Diana總結(jié)了她在繪圖中的5個(gè)重要CSS屬性。

1、邊界半徑(border-radius)

邊界半徑是為了讓矩形的邊角過(guò)渡得更自然,對(duì)于大多數(shù)網(wǎng)頁(yè)開(kāi)發(fā)者來(lái)說(shuō),只需一個(gè)參數(shù)border-radius,可以設(shè)定不同的半徑數(shù)值。

  1. border-radius: 15px 10px 40px 30px / 40px 10px 15px 30px; 
代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

2、盒子陰影(box-shadow)

對(duì)多個(gè)盒子陰影進(jìn)行分層是增加深度的最佳方法之一??蜿幱皩⒄掣降絟tml容器的邊緣,也會(huì)沿著邊界半徑定義的邊緣。

  1. box-shadow: 6px -11px 20px 1px red, -15px -15px 5px -10px blue, inset 5px 5px 35px 10px green; 
代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

開(kāi)發(fā)者可以指定模糊半徑,以及陰影是向內(nèi)延伸還是向外延伸。

3、變形(transform)

變形的主要方式有:旋轉(zhuǎn)(rotate)、縮放(scale)和傾斜(skew)

  1. transform: rotate(-45deg) 
  2. transform: scale(0.71.3
  3. transform: skew(25deg, 30deg); 
代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

此外還有透視,讓物體產(chǎn)生遠(yuǎn)小近大的視覺(jué)效果,或者是僅僅為畫出一個(gè)梯形。

  1. transform: perspective(10px) rotateY(5deg); 
代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

4、線性梯度(linear-gradient)和徑向梯度(radial-gradient)

線性梯度用于定義一個(gè)方向上的漸變效果,徑向梯度用于定義圓和橢圓形的漸變效果

  1. background-image: linear-gradient(0deg, blue, transparent 60%), 
  2. radial-gradient(circle at 7030%, purple, transparent 40%); 
代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

5、層疊(overflow)

層疊是一種將大量雜亂元素填充到一個(gè)整齊的包中的方法,可以創(chuàng)建一些有趣的形狀。在變形那部分的基礎(chǔ)上使用hidden參數(shù),可以把邊緣遮蓋起來(lái)。

  1. overflow: hidden; 
代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

以上5種元素缺一不可,隨便少一種都會(huì)產(chǎn)生怪異的效果。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆
從左至右分別是缺少邊界半徑、陰影、變形、梯度、層疊的效果(點(diǎn)擊查看大圖)

不過(guò)即使這樣,也很有抽象藝術(shù)的美感,仿佛在看畢加索的作品。

只適用于Chrome

不過(guò),由于這是一個(gè)純個(gè)人藝術(shù)創(chuàng)作,Diana小姐姐并不關(guān)心瀏覽器適配性。

因此,這些代碼在Chrome里可以完美展現(xiàn),但如果用其他瀏覽器打開(kāi),可能就會(huì)出現(xiàn)不一樣的效果。

比如,MAC上的Safari瀏覽器打開(kāi),妹子的眼睛就方了:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

肩膀上的高光,變成了一個(gè)大圈圈:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

胸前的禮服上,也被潑了一道墨:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

如果用早期的Chrome打開(kāi),會(huì)出現(xiàn)驚悚的頭身分離的效果:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

早期的Opera瀏覽器,打開(kāi)之后臉?lè)搅耍?/p>

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

Windows 7上從IE 6到IE 11,顯示出來(lái)的都是這個(gè)鬼樣子:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

濃重的線條,甚至有點(diǎn)抽象藝術(shù)的感覺(jué)。

同樣是早期IE,放到Mac上也一樣鬼畜,這是IE 5.1.7的效果:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

還有人試了試,在Windows 98系統(tǒng)的IE 7瀏覽器打開(kāi),會(huì)變成非常像素風(fēng)的樣子:

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

最恐怖的是三星手機(jī)上的夜間模式打開(kāi):

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

連人種都變了??!

其他的幾張畫,換個(gè)瀏覽器打開(kāi)也比較鬼畜。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

妹子你bra里的鋼圈出來(lái)了啊!

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

拉夫領(lǐng)變得透明而有光澤,領(lǐng)口的蕾絲干脆斷掉了,仿佛是逃難時(shí)期的肖像畫。

最后,如果你在iPhone上裝了Chrome,出來(lái)的也是Safari的效果,想看完整效果的話,請(qǐng)?jiān)诎沧渴謾C(jī)或者電腦的Chrome上打開(kāi)。

因此,有不少網(wǎng)友都覺(jué)得,這幾幅畫可以當(dāng)成瀏覽器測(cè)試項(xiàng)目,一試就能知道內(nèi)核用的是誰(shuí)家的。

反向繪圖

CSS太難,學(xué)不會(huì)?不要緊,雖然我們不能把代碼變成圖片,但是可以把圖片變成代碼啊。

沒(méi)錯(cuò),就是ASCII藝術(shù),早在DOS時(shí)期,就有人用命令行界面來(lái)顯示圖片。直到今天已成為一種流行的互聯(lián)網(wǎng)文化。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

用單色字符來(lái)畫出世界名畫已經(jīng)不算新鮮事。最近又有個(gè)碼農(nóng)開(kāi)發(fā)了一個(gè)新的項(xiàng)目Primg,讓任何一幅畫都可以用質(zhì)數(shù)來(lái)表示。

比如蒙拉麗莎,就可以用一個(gè)3萬(wàn)位的質(zhì)數(shù)二進(jìn)制方式繪制出來(lái)。

代碼變油畫,精細(xì)到毛發(fā),前端小姐姐只用HTML+CSS,讓美術(shù)也驚嘆

傳送門:

作者的GitHub:https://github.com/cyanharlow

作者博客主頁(yè):https://diana-adrianne.com/

教程:https://css-tricks.com/solving-lifes-problems-with-css/

用質(zhì)數(shù)生成任意ASCII藝術(shù):https://github.com/geonnave/primg

 

責(zé)任編輯:張燕妮 來(lái)源: 量子位
相關(guān)推薦

2019-07-08 10:08:35

人工智能AI自動(dòng)化

2021-08-17 10:08:44

HTML網(wǎng)站網(wǎng)絡(luò)

2015-04-24 10:05:15

HTML+CSS阿童木頭像

2023-07-17 09:19:20

CSSCSS 漸變

2019-10-21 10:01:58

Python素描技術(shù)

2019-11-11 17:42:02

前端開(kāi)發(fā)編程

2022-10-09 12:00:36

開(kāi)發(fā)參數(shù)

2025-04-07 07:30:00

JavaScript前端

2020-11-27 17:57:08

AI 數(shù)據(jù)人工智能

2020-09-29 09:09:03

數(shù)據(jù)庫(kù)程序運(yùn)行

2021-05-06 10:46:40

JS代碼文字煙花

2019-10-24 11:00:05

Python 開(kāi)發(fā)編程語(yǔ)言

2021-10-05 21:03:54

BeautifulSo 爬蟲(chóng)

2018-02-05 15:52:06

硬盤故障損壞

2023-07-07 08:24:53

Python爬蟲(chóng)Flask

2013-10-11 11:06:53

CSS前端

2021-04-14 14:28:14

Python點(diǎn)攢抖音

2023-12-05 13:49:00

AI模型

2022-02-23 14:21:20

Chrome插件瀏覽器

2017-08-17 12:03:58

前端CSS加載
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)