小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

代碼變油畫(huà),精細(xì)到毛發(fā),讓美術(shù)設(shè)計(jì)也驚嘆

 恰恰365 2020-03-17

代碼變油畫(huà),精細(xì)到毛發(fā),這個(gè)前端小姐姐只用 HTML+CSS,讓美術(shù)設(shè)計(jì)也驚嘆丨 GitHub 熱榜

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

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

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

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

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

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

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

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

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

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

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

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

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

這個(gè)項(xiàng)目也一度登上了 GitHub Trending 排行榜第二名:

并且 Issues 里都是諸多用戶的膜拜:厲害!崇拜!太棒了!

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

繪制過(guò)程

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

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

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

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

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

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

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

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

div{

width: 500px;

height: 350px;

background: #000;

position: relative;

&::after, &::before{

width: 20%;

height: 100%;

position: absolute;

top: 0;

z-index:2;

content: '';

background: #1e5799;

background: -moz-linear-gradient ( top, #1e5799 0%, #7db9e8 100% ) ;

background: -webkit-linear-gradient ( top, #1e5799 0%,#7db9e8 100% ) ;

background: linear-gradient ( to bottom, #1e5799 0%,#7db9e8 100% ) ;

filter: progid:DXImageTransform.Microsoft.gradient ( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ) ;

}

&::after{

border-radius: 100% 0% 0% 100%;

right: 0;

}

&::before{

border-radius: 0 100% 100% 0;

left: 0;

}

}

body{

background: #1e5799;

background: -moz-linear-gradient ( top, #1e5799 0%, #7db9e8 100% ) ;

background: -webkit-linear-gradient ( top, #1e5799 0%,#7db9e8 100% ) ;

background: linear-gradient ( to bottom, #1e5799 0%,#7db9e8 100% ) ;

filter: progid:DXImageTransform.Microsoft.gradient ( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ) ;

}

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

https:///jean-jordan/pen/KeKaBw

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

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

但是僅僅會(huì)畫(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ù)值。

border-radius: 15px 10px 40px 30px / 40px 10px 15px 30px;

2、盒子陰影(box-shadow)

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

box-shadow: 6px -11px 20px 1px red, -15px -15px 5px -10px blue, inset 5px 5px 35px 10px green;

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

3、變形(transform)

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

transform: rotate ( -45deg )

transform: scale ( 0.7, 1.3 )

transform: skew ( 25deg, 30deg ) ;

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

transform: perspective ( 10px ) rotateY ( 5deg ) ;

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

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

background-image: linear-gradient ( 0deg, blue, transparent 60% ) ,

radial-gradient ( circle at 70% 30%, purple, transparent 40% ) ;

5、層疊(overflow)

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

overflow: hidden;

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

從左至右分別是缺少邊界半徑、陰影、變形、梯度、層疊的效果(點(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),妹子的眼睛就方了:

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

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

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

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

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

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

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

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

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

連人種都變了?。?/p>

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

妹子你 bra 里的鋼圈出來(lái)了?。?/p>

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

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

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

反向繪圖

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

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

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

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

傳送門:

作者的 GitHub:

https://github.com/cyanharlow

作者博客主頁(yè):

https:///

教程:

https:///solving-lifes-problems-with-css/

用質(zhì)數(shù)生成任意 ASCII 藝術(shù):

https://github.com/geonnave/primg

作者系網(wǎng)易新聞 · 網(wǎng)易號(hào) ' 各有態(tài)度 ' 簽約作者

查看原文

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多