css選擇器和優先級總結,設計師職業生涯最寶貴的前十年?
假定你本科畢業時22周歲,32歲時正好步入10年職齡,這個年齡段是設計師功底和創意(經驗和能力)的巔峰時期,也是大部分設計師考慮職業生涯轉型的關鍵節點。是繼續在崗位上做創意指導執行,轉身管理角色,還是另起門戶成立自己的品牌和設計事務所?沒有孰優孰劣,但大熊這里有幾點自己的思考,應當對你有啟發:
1)選擇北上廣(如果你剛步入社會)
「客戶在哪兒,我們就在哪兒」,咨詢公司把服務意識詮釋的最到位。
設計也一樣,不管你是在甲方還是乙方,設計產出最終都有交付對象。作為對設計本身有追求的你,絕對要在工作的積累中,篩選你的客戶。好的客戶,可能所在公司原本就有一支專業的設計團隊,他們選擇從外部尋求幫助,是因為信任這位設計師的水平,也期許從第三方的角度找到更好的設計解決提案。這樣的合作是愉快的,雙方對彼此的整體設計認知都很認可,直接提升了溝通效率,甚至有長期合作的可能。
比方說大熊在今日頭條時,企業相當重量級的品宣設計,都委托給 Infini Studio 制作,還請了韓瑩棣 老師配音,最終成品按秒計費,相當不菲,水準自然也很高。
「問:為什么頭條內部有設計團隊,還要委托第三方工作室?」
「答:為什么錘子聚集了這么多設計大神,還要委托 Ammunition 設計手機?」
所以,曾經有一位女生問大熊,自己在三線城市的一家廣告公司做平面設計,客戶質量低,干的很郁悶,有沒有可能轉型做 UI 設計。我回答,試試北上廣的工作機會,一定會比你現在干的還要累,但至少接觸客戶的質量會高一大截,對設計的要求也會更高,能堅持下來,將來不會后悔。
好的客戶會找業內有水準的設計公司,鼎鼎大名的 frog design,IDEO,Thoughworks,以及國內的 Tang,eico design,ark design,順帶一提兔紙的 Dinehq ,好的設計公司同樣也挑客戶。巨大的競爭壓力(同樣也包括甲方公司設計部門)推著設計師往前走,面對這批對設計有消費能力,有審美的挑剔客戶,除了做出更好的作品,沒有別的存活方式。超一線城市吸絡了全國各地的精英,Fortune 500 的公司會選擇在國貿扎堆,而不是跑到偏遠縣城湊熱鬧,這是客觀事實。
相對更公平的競爭環境,一流的客戶和一流的設計工作室,年輕人最開始的一兩年真的是 Nothing to lose,到中年時未必有這份勇氣。在需要大量積累經驗的階段,選擇北上廣,或者經濟更活躍的城市,承擔壓力,也享受成長。
2)多嘗試不同的設計方向,再在熟悉的領域深耕
窄義上的 GUI 設計師(這種說法是不是很老派,你們愿意的話,換成 UI 設計師也可以。)如果要在設計這條路上提升,大概有這么幾種選擇:
要么深耕 Motion Graphic,轉型更專業的動效設計師,C4D 和 AE 要拿捏精通。這是稀缺的專業技能,大廠里會比較需要,和界面設計師的分工也很明確,小廠則不會分這么細。看個人選擇,若跳去頂尖乙方 4A 公司做創意執行,薪水翻幾倍稀松平常,但于此同時,項目密集期熬夜寫提案的時候壓力也是杠杠的;擅長 MG 的設計工作室不少,bito,wtt,Sebastian Baptista,illo,STUDIO AKA,還有我最喜歡的 Ronda。
從2013年 iOS7 推動整個設計圈扁平化風潮,已經過去3年,最直觀的感受是 UI 設計的門檻已經降低很多,已經到了零基礎培訓班3個月出來就能在互聯網公司找到一份工的地步,至于真實水平怎么樣,不作討論。這就逼著已經工作了幾年的設計師,必須丟掉老人心態,重新投入學習。
要么苦練美術功底,主攻視覺表現,在游戲類公司的話基本就是往主美這條路線發展,如果真的熱愛繪畫和視覺藝術,會在工作中得到極大的滿足感;實際路線也可以擴展到影娛方向,女神毛婷給「奇葩說」做的整體視覺設計就是一個極其好的案例。
要么專注在產品界面可用性/易用性上,往用研和 UX 的方向靠,成長為類似產品經理的角色,這要求你對界面設計范式和用戶行為有邏輯縝密的判斷和數據支持,并提供完整的解決辦法,對實際工程經驗要求很高。Luke Wroblewski 或 Welie 是典型的參照對象。
除了以上 3 種,還有一個方向值得嘗試,那就是成為產品工程師。深入到項目工程實現的方方面面:梳理需求、完成原型交互、設計視覺界面、實現界面、實現功能(配合其他工程師)。這樣做的好處是能最大程度參與項目,從多個角度(產品經理、設計師、工程師)考慮問題,從而正確評估每個需求的工作量和預判最終的上線效果,這將大大減少其他同事的返工成本(返工也是你先來),從而提高團隊整體的協作效率。
不止設計師,產品和設計意識強烈的工程師,往往也會成長為這樣的角色,當然也有產品經理轉型工程師,同理。
不過,成為產品工程師的前提是,你必須要寫代碼。
想想同行工業設計師,花費大量時間考量不同材質和工藝對最后成品的影響,同時結合造價成本對設計做取舍,最終達到平衡;所以 GUI 設計師熟悉界面實現的代碼成本,反復推敲最合理的設計實踐,也是理所當然。為此,你要熟悉:
什么是 Dom(以及 Virtual Dom);
什么是 Less/Sass/PostCSS,什么是Pseudo,CSS 選擇器的優先級和權重;
什么是 ORM (Object Relational Mapping);
什么是 MVC/MVVM 設計模式,以及它們出現的歷史背景;
什么是RESTful API,常用的 HTTP 請求類型;
什么是 Bower/Grunt/Gulp,它們解決了什么問題,區別在哪里;
什么是 RWD,如何實踐,它的優缺點各是什么,以及em、rem、%的區別;
什么是Closure,什么是 Scope,什么是 Prototype;
…
不要被這些名詞嚇到,它們有的屬于設計模式,有的是樣式規則中的細枝末節,有的是工程經驗的最佳實踐,總歸來說都是工程師在解決實際問題過程中淬煉的經驗。不需要刻意去嚴格辨析,只要知道大概是怎么一回事即可,剩下的交給項目中實戰。
3)一日漫長,十年很短
保持好奇心很重要。
川和雞總從站酷開始,相愛相殺4、5年,不約而同在UISDC開設計課(川總課程:http://xue.uisdc.com/uidesign 雞爺課程:http://xue.uisdc.com/motion),這個世界還有什么不可能。10年職業經驗的積累,足以讓初入職場的設計師成長為設計總監這樣的角色,前提是要從工作中獲得成就感,不要害怕職業冒險,人生早期的嘗試越多,最后的選擇越可能有益。
大熊見過不少優秀的設計師,中年時有選擇繼續待在大公司轉型管理的,有待在廣告公司做創意執行的,有開設自己設計事務所變身乙方的,也有憑借多年設計經驗的積淀,做自己的精品酒店、餐館的…基本上每過10年,人的想法就會發生重大的轉變,皆由經歷造就。不過高點遠點,將來遺憾少點,總是沒錯。
設計師是一份謀生的工作,設計是一種生活態度。與此同時,焦慮感會長期伴隨你,在事業變化或重大挑戰來臨時尤甚。這本身沒有什么問題,聰明有雄心的人永遠想要獲得更多,對于他們來說,掙錢是緩解焦慮最好的方式,花錢不是。
永遠保持好奇心是抵抗職業倦怠的良藥,總有一天你會發現做了太多界面,寫了太多代碼,對于工作這件事情完全提不起興趣。試著回憶最初驅動你設計的契機,那份旺盛的好奇心,那顆對美好事物感知的心,想想看,一切又可以重新開始了。
學習web前端開發?
黑馬程序員web前端中級程序員學習路線圖,含配套視頻,前端工具,源碼等。
黑馬程序員學習路線圖及能掌握的能力(總,以下會分階段,加上配套學習視頻,小伙伴可繼續往下看!)
第一階段:HTML5+css
配套學習視頻:
前端小白零基礎入門HTML5+CSS3
第二階段:移動web網頁開發
配套學習視頻:
2018移動web進階教程
第三階段:JavaScript網頁編程
配套學習視頻:
前端與移動開發基礎入門到精通
javaScript零基礎通關必備教程
第四階段:Node.js與Ajax
配套學習視頻:
Nodejs教程精講
ajax從入門到精通
第五階段:vue.js項目實戰
配套學習視頻:
4小時+5個揀選案例讓你快速入門Vue.js
2018年Vue.js深入淺出教程
第六階段:微信小程序
配套學習視頻:
一天教你打造企業級微信小程序
微信小程序-個人語音接口功能
分分鐘快速入門小程序開發
零基礎玩轉微信小程序
2小時輕松實現人臉識別的小程序
第七階段:React.js項目實戰
配套學習視頻:
Reactjs入門教程
ReactJs精品教程
第八階段:框架階段與原理
第九階段:移動APP開發
第十階段:node.js進階
第十一階段:可視化游戲
第十二段階段:架構與運維
還有前端免費工具下載
另外,關注加轉發,然后私聊我發送:前端,就能獲得上面這些資源咯。
如何控制css域沖突?
需要控制的模塊id不能重復,class名字是不能重復,矛盾的css樣式不指向同一塊區域。
dom操作?
文檔對象模型( DOM, Document Object Model )主要用于對HTML和XML文檔的內容進行操作。DOM描繪了一個層次化的節點樹,通過對節點進行操作,實現對文檔內容的添加、刪除、修改、查找等功能。
一、DOM樹
DOM樹有兩種,分別為節點樹和元素樹。
節點樹:把文檔中所有的內容都看成樹上的節點;
元素樹:僅把文檔中的所有標簽看成樹上的節點。
二、DOM常用操作
2.1 查找節點
document.getElementById('id屬性值');
返回擁有指定id的第一個對象的引用
document/element.getElementsByClassName('class屬性值');
返回擁有指定class的對象集合
document/element.getElementsByTagName('標簽名');
返回擁有指定標簽名的對象集合
document.getElementsByName('name屬性值');
返回擁有指定名稱的對象結合
document/element.querySelector('CSS選擇器');
僅返回第一個匹配的元素
document/element.querySelectorAll('CSS選擇器');
返回所有匹配的元素
document.documentElement
獲取頁面中的HTML標簽
document.body
獲取頁面中的BODY標簽
document.all['']
獲取頁面中的所有元素節點的對象集合型
2.2 新建節點
document.createElement('元素名');
創建新的元素節點
document.createAttribute('屬性名');
創建新的屬性節點
document.createTextNode('文本內容');
創建新的文本節點
document.createComment('注釋節點');
創建新的注釋節點
document.createDocumentFragment( );
創建文檔片段節點
2.3 添加新節點
parent.appendChild( element/txt/comment/fragment );
向父節點的最后一個子節點后追加新節點
parent.insertBefore( newChild, existingChild );
向父節點的某個特定子節點之前插入新節點
element.setAttributeNode( attributeName );
給元素增加屬性節點
element.setAttribute( attributeName, attributeValue );
給元素增加指定屬性,并設定屬性值