SS的強大和精妙,只有在認真研讀其代碼之后才會深刻明白。
今日繼續用純CSS畫圖,并給大家整理了本文中所有代碼,需要的小伙伴可以私信我哦。
首先,用CSS畫一個陰陽圖,如下:
代碼也很簡單:
#yin-yang { width: 96px; height: 48px; background: #eee; border-color: red; border-style: solid; border-width: 2px 2px 50px 2px; border-radius: 100%; position: relative; } #yin-yang:before { content: ""; position: absolute; top: 50%; left: 0; background: #eee; border: 18px solid red; border-radius: 100%; width: 12px; height: 12px; } #yin-yang:after { content: ""; position: absolute; top: 50%; left: 50%; background: red; border: 18px solid #eee; border-radius:100%; width: 12px; height: 12px; }
當然,顏色什么的,可以隨便改啦~
再畫一個可愛的雞蛋~~~像這樣:
代碼僅僅幾句話:
#egg { display:block; width: 126px; height: 180px; background-color: red; -webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; }
長這樣:
代碼非常非常少:
#moon {
width: 80px;
height: 80px;
border-radius: 50%;
box-shadow: 15px 15px 0 0 red;
}
是不是很神奇?不敢相信這幾句代碼居然有這樣的功力?
那就打開電腦,按照我之前講的方法創建一個html試試吧~
不知道怎么創建的小伙伴看這里>>css3制作圖形大全:簡單幾句代碼畫出漂亮的圖形,一起來看看吧~
羊 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
畫數學插圖令人頭禿?
現在,CMU的研究人員們開發出了一款實用工具Penrose:
以純文本的方式輸入,根據語言描述,就能自動生成數學圖表。
集合論:
幾何:
線性代數:
光線追蹤:
都不在話下。
整個過程,不需要手動進行繁瑣調整,只需在軟件中用編程語言的方式,描述數學表達式。
并且,這些表達式不僅限于基本功能,而是可以表達任何數學領域的復雜關系。
這一研究成果,入選計算機圖形學頂會SIGGRAPH 2020。
在GitHub上,也得到了3500標星,登上熱榜。
有網友認為:Penrose,就像是科學圖表中LaTeX。
用LaTeX編輯數學公式的快樂,誰用誰知道。
那么Penrose具體是怎么繪制出數學圖表的呢?
比如,要畫出這樣一個集合關系:
在軟件界面中,完成這樣的輸入就能自動生成:
如果對配色、布局不滿意,點擊「resample」,系統會提供其他不同的選擇:
也可以自己手動在「sty」文件中進行調整:
研究人員還提到,該系統支持與基于Web的應用程序集成。并且,Penrose IDE能夠提供自動語法高亮和自動補全功能。
不過,目前Penrose尚處在初期版本,未向公眾開放。研發團隊表示,他們正在快馬加鞭,希望能盡快上線公開版本。
作者之一、CMU計算機科學和機器人學助理教授Keenan Crane表示,他們打造Penrose的目的,是讓所有人都能擁有數學家一般,繪制漂亮圖表的能力。
為了實現這一目標,Penrose圍繞兩個設計原則來實現:
第一步,是用編程語言來規定數學對象及其可視化表示。
具體而言分為三個部分:
需要說明的是,這并不意味著用戶想要上手Penrose,必須學會三種語言。
實際上,大多數用戶只要掌握Substance語言,類似這樣:
Set A,B
intersecting(A,B)
set C := intersection(A,B)
Label A $\text{Circles}$
Label B $\text{Diagrams}$
Label C $\text{Venn Diagrams}$
Domain和Style就交給專業人士,要用的時候調用軟件包就行了。
第二步,使用約束性優化來合成滿足給定規范的圖。
該方法主要受到手繪圖的啟發。
Penrose展現的效果,得到了網友們的點贊。
目前,Penrose的GitHub已經有3500標星,在Hacker News上也有399的熱度。
有網友認為,想要理解數學概念,可視化是非常重要的手段,而Penrose可能會給數學教育帶來很大的幫助。
還有網友表示,希望幾何繪圖軟件Geogebra能集成這一功能。
不過,也有網友指出,簡單的示例說明了系統的思想,但還是希望看到Penrose實現的更為復雜的數學概念可視化,以證明其確實可以表達數學領域的復雜關系。
論文地址:http://penrose.ink/media/Penrose_SIGGRAPH2020.pdf
GitHub地址:https://github.com/penrose/penrose
官網:http://www.penrose.ink/
— 完 —
量子位 QbitAI · 頭條號簽約作者
關注我們,第一時間獲知前沿科技動態
碼來做藝術?
藝術家的作品大多有點高深,除非是寫實類作品,不然你不一定能「看懂」。
而代碼對大多數人來說也是艱難的。對非專業人士來說,代碼可能比藝術品還要復雜。那么,如果用代碼來搞藝術創作,這一切會更簡單嗎?
《索思沃爾德的夜晚》是一幅安靜的圖畫。即將西下的太陽光撒在湖面上,湖上波光粼粼,泛著金光,波浪的漣漪一點點的散開。岸上的建筑物則安然有序,燈塔、圍墻、小房子,組成了這幅安靜的風景圖。
有人覺得這幅畫看上去冷清,過于安靜,是一幅悲傷的畫。
有人覺得這幅畫陽光照耀四方,小屋整齊的立在一旁,是一幅和諧又溫暖的風景畫。
當然,如果這些人知道這幅畫是用代碼畫的,可能就只會說這是一幅很漂亮的畫了。畢竟代碼聽上去就和藝術無關,和情感表達無緣。
此畫的作者本·埃文斯是一個網頁設計師,是一個前端開發,也是一個插畫家。《索思沃爾德的夜晚》是他用層疊樣式表(CSS)畫的一幅作品。除了這幅畫,他還用 CSS 畫過大海,畫過撲克牌。
和他一樣使用 CSS 畫畫的人也不止一個,近些年還有越來越多的趨勢。
自由網絡開發者克里斯·帕特爾畫的辛普森一家是前些年的作品,只是近來才開始被人注意。在 GitHub 上,你可以輕易找到創作者的代碼,并在它的基礎上進行更改。
當你復制原作者的代碼,再稍以修改后,你就可以畫出屬于自己的辛普森。你還可以給他變色,讓他從透明變成黃色、藍色、綠色。
在 CSS 作圖這個領域,數字藝術家戴安娜·史密斯則是一個不可忽略的先驅人物,他以 CSS 的巴洛克風格作畫而聞名,創作過多幅 18 世紀復古風格的作品,也畫過現實向的靜物海報。
史密斯的作品從來不使用繪圖軟件,他只用手寫的 HTML / CSS代碼創建精美的圖片。作為一個每天 90% 的工作都圍繞著 JavaScript 工作的程序員,史密斯卻更喜歡 CSS 作畫,因為 CSS 有一些限制的規則。
這只是我喜歡 CSS 的眾多原因之一。
有限的規則正是它的樂趣所在,你不會期望 CSS 能滿足你所有的需求。這就是為什么當你在 CSS 最終找到了一種(可以滿足你的)方法時,它就會變得更有價值。
在工作之余,史密斯還會不斷回到 CSS 尋找藝術靈感,在限制之中創作新的藝術作品。
因為一些關于這些限制的東西一直在召喚著我。當我在說嚴格的限制是激發創造力的最佳催化劑時,我并不孤單。因為完全的藝術創作自由可能是一個令人麻痹的概念。
值得一提的是,有限制的 CSS 圖畫不是一個完全靜態的藝術作品。不管是簡單的辛普森一家頭像畫還是精致的巴洛克肖像畫、風景畫,他們都是會變化的。每個人可以通過改變開源的代碼來創作出自己的 CSS 圖畫。
在此之外,選擇不同的瀏覽器打開圖像也會呈現不同的作品。作為實時呈現的圖畫,每個瀏覽器在加載頁面時都會將圖畫的代碼呈現為繪圖。
而大多數的數字藝術家都是在 Chrome 瀏覽器上處理代碼的。所以除了 Chrome 瀏覽器能夠呈現圖片本身預想的畫作外,其它瀏覽器都會「畫」出不同的圖像。這也展示了不同瀏覽器轉換工作的差別。
創作者說不考慮圖畫的兼容性問題,反而更有意思。
由于這個項目的藝術性原因,我并不關心跨瀏覽器的兼容性,所以實時預覽可能在除 Chrome 之外的任何瀏覽器中看起來都很可笑。
適配單一瀏覽器也有驚喜。當我們將這些代碼放進不同瀏覽器的時候,有的圖像有了出乎意料的變化。
Chrome 瀏覽器在羽毛和發絲的轉換上非常細致,展現了本身的細節,Safari 瀏覽器則在部分高光的處理上有點過火,裙子也多了一條豎線。
不過隨著時間往前移,我們用更多版本的瀏覽器配上 CSS 代碼圖畫時,呈現效果就會更特別。
這幅畫本尊是這樣的:
在 Safari 瀏覽器中,蕾絲的花邊裝飾直接蓋在了女人的臉上,看不出原圖。
在 2014 版本的 Opera 瀏覽器中,畫作有了一種全然不同的風格。
脖子分成了三個部分,眉毛、頭發、眼睫毛的位置都出現了偏移和錯位,更條碼式。
而 Edge 瀏覽器則自動消掉了畫作的棱角,使整幅圖畫更為平滑、陰沉。
最后在上古時期的網景瀏覽器中,這位女士的嘴巴、眼睛等五官都變成了不同大小的方塊,有點樂高的感覺,風格獨樹一幟。
作為該領域的先驅人物,史密斯給這些圖畫的表現賦予了更多的意義:
當你在不同的瀏覽器上查看這張圖片時,你就像是在查看互聯網的歷史,以及當時用戶對瀏覽器的要求。
代碼是冰冷的、理性的代表,它是沒有感情的。而畫作的藝術則能表達作者豐沛的情感和思想。但當理性的代碼用來創作感性的畫作時,這一切會改變嗎?
在一部分人看來,數字藝術是不能算作真正的藝術的。
當大片空白可以在瞬息間充滿五彩的色塊,渲染過度也能在強大工具的幫助下變得快捷且自然時,人們認為這不再是藝術了。雖然數字化工具做的畫也可以很漂亮,很有創意,但人們會覺得它沒有「靈魂」。即使它能模仿油畫、水墨等不同風格,但創造出的作品也稱不上藝術。
這個問題甚至可以上升到「代碼是不是藝術」的問題上,深入討論一下藝術的定義和內涵。
在主流觀念中來,那些使用新工具去創作藝術作品的人不算正統藝術家。即便要稱為藝術家,也得在前面加上「數字」兩個字。在大眾的、觀念中,數字藝術家和傳統的藝術家涇渭分明,完全不同。即便這兩種藝術家在顯示生活中已經有了很多工作的交織、身份的重合。
對當下的數字時代而言,隨著互聯網在我們生活中的滲透程度越來越深。每個人可能都會成為數字藝術家,在創作的過程中,都需要數字工具的幫助。
而純粹用數字工具畫出的 CSS 作圖在可玩性、趣味性上都強于普通的藝術作品。即使我們不把它看作一個藝術杰作,它也是一個互聯網的行為藝術作品。
它讓我們意識到自己生活在一個現實扭曲的文化泛濫時代,人與人之間很難獲得一致的事實版本。
你看到的東西是由你的設備版本決定的,是和你選擇的數字工具有關的。當我們看到的東西不一樣的時候,我們創作的東西也是不一樣的。
CSS 作畫與其說是藝術,不如說它讓我們看到了互聯網的一種能力,一次進程,一段歷史。
本文作者 冷思真,首發于公眾號「AppSo」(ID:AppSo),這是一個讓你手機更好用的專業媒體,歡迎識別下方二維碼進行關注
*請認真填寫需求信息,我們會在24小時內與您取得聯系。