整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          超絕!一組配色醒目明快化得黃色系優秀網頁設計

          于任何網站而言,配色方案都是其中最關鍵的影響因素之一。你可以使用你所熟悉的配色方案,也可以跳出來選擇更加大膽、明快、更有性格的配色方案,它們或許更容易給人留下深刻的印象。

          而今天我們要說的,是黃色。作為暖色調,黃色象征能量,帶來溫度,充滿生命力,它可以讓你的網站看起來更具有親和力,舒適而溫馨。毫無疑問,黃色色調的網站設計大多都非常的醒目,讓人難以忽視。

          但是同時,它也是一個不容易掌控的顏色,一個不小心可能會毀掉網站的整個設計。所以,你需要清楚地了解黃色的運用手法——比如先看看那些設計優秀的網站是怎樣使用大面積黃色色調的。在黃色作為主色調/背景色的時候,文字內容如何展現,各種控件如何使用,這些都值得學習。

          Lordz

          明快的黃色和動感的舞蹈有著天然的契合度,這也是為什么瑞士城市舞蹈學院選擇使用黃色作為網站的主色調。為了確保網站內容的識別度,設計師采用的是黃黑搭配。

          James Tupper

          擁有韓國血統的攝影師JamesTupper 也在設計他的作品展示頁的時候選擇了黃色作為主色調。 在字體配色上,他同樣選取了黑色。

          Collectif-yay

          YAY 是一個平面設計類的合集網站,黃黑的配色使得文字內容無比的醒目。

          Lavagraphics

          黃色的色調和其他的色彩也可以很好的搭配,重要的是控制好對比度,這里的插畫的色調控制就非常合理,不會太深,但是和背景的黃色形成了很好的對比。

          Adamhartwig

          這是一位來自英國劍橋、獲得過不少獎項的設計師的個人作品網站。網站設計大氣,但是它最大的特色是交互,無論你是在桌面端、平板還是手機上訪問,交互的豐富度都非常的強。

          Croscon

          Croscon 是一個植根于設計和數字制造業的定制化軟件,網站的配色主色調黃色使用了黑色和白色來做搭配。

          Vivedmv

          Vivedmv 的網站所用的黃色飽和度相對較低,看起來也更加復古,搭配上復古的字體、圖形元素,整體的氛圍非常的一致。

          Lunar gravity

          這個網站在功能開發和內容策略上達到了一個不錯的平衡,在色調的搭配上也很好的體現出了設計、開發和內容三方面的功力。

          idesign

          依然是黃、黑、白的色彩搭配,經典的黃黑支撐起整個視覺,而白色在整個配色中顯得更加醒目,它承載了LOGO、副標題和關鍵性的按鈕。

          Lambda – Responsive Moodle Theme

          作為一個在線學習網站,Lambda 所用的主題基本上是經過深度定制的,深藍灰和白色占據了大量的面積,而黃色在整個網站中作為提亮色,很好的強調了關鍵性的內容與操作。

          Fitness WordPress Theme eCommerce

          Fitness 是一個為健身房和運動所定制的一個WP主題,極簡的風格、黃黑為主的色彩搭配讓這個主題在視覺上頗為突出。

          Mobirise

          Mobirise 是一個免費的BootStrap 模板,整體設計風格非常現代。和前面許多網站在配色上不同,它沒有使用黃黑來搭配,而是使用偏橙色的黃色和灰色搭配起來,文字內容則使用了白色。

          ENERGY – Responsive WordPress Fitness Theme

          ENERGY 是一個運動健身類的WP主題,黃色醒目的特色在這個主題中被體現的淋漓盡致。

          ETHANOL PORTFOLIO

          Ethanol Portfolio 是一個干凈簡約的免費Bootstrap 網站模板,這個簡約的模板是多功能的。黃色的文本標題在暗色調的背景上顯得無比清晰。

          XPRESS

          Xpress 用作作品展示或者時尚類的內容網站都是是相當不錯的選擇,黃色這一配色在網站中被很好的運用了起來。

          Darklowpress

          Darklowpress 是一個WP博客主題,大量的可定制的輪播圖能夠讓你更好的展示多媒體信息。

          Pluton

          Pluton 是一款現代多功能的HTML5著陸頁,基于BootStrap來開發的。整個網站使用了許多最新的HTML5、CSS3 和 jQuery 技術。

          Agency

          Agency 是一款有范兒的單頁式Bootstrap主題,對于商業機構和小公司而言,這個主題相當的不錯。這套主題的設計則是基于Golden PSD。

          Taxi Park

          這個網站是一個為出租車公司所設計的,黃色的色調和出租車的基礎色調保持了一致。

          Hotel Deluxe

          Hotel Deluxe 同樣是一個響應式的網頁模板,其中黃色也是網站中最醒目的色彩而起到關鍵性的作用。

          VG 動畫有很多種實現方法,也有很大SVG動畫庫,現在我們就來介紹 svg動畫實現方法都有哪些?

          一、SVG 的 animation

          SVG animation 有五大元素,他們控制著各種不同類型的動畫,分別為:

          • set
          • animate
          • animateColor
          • animateTransform
          • animateMotion

          1.1、set

          set 為動畫元素設置延遲,此元素是SVG中最簡單的動畫元素,但是他并沒有動畫效果。

          使用語法:

          <set attributeName="" attributeType="" to="" begin="" />
          • attributeName :是要改變的元素屬性名稱。
          • attributeType :是表明attributeName屬性值的列表,支持三個固定參數 CSS/XML/auto,如x,y以及transform屬于XML,opacity屬于CSS。auto是瀏覽器自動判別的意思,也是默認值,如果你不知道該選哪個就填auto,瀏覽器自己判別。
          • to :動畫結束的屬性值。
          • begin :動畫延遲時間。

          eg:繪制一個半徑為200的圓,4秒之后,半徑變為50。

          <svg width="320" height="320">
           <circle cx="0" cy="0" r="200" style="stroke: none; fill: #0000ff;">
            <set attributeName="r" attributeType="XML" to="50" begin="4s" />
           </circle>
          </svg>

          1.2、animate

          是基礎的動畫元素,實現單屬性的過渡效果。

          使用語法:

          <animate 
           attributeName="r" 
           from="200" to="50" 
           begin="4s" dur="2s" 
           repeatCount="2"
          ></animate>
          • from :過渡效果的屬性開始值。
          • to:過渡效果的屬性結束值。
          • begin:動畫開始時間。
          • dur:動畫過渡時間,控制動畫速度。
          • repeatCount:動畫重復次數。

          eg:繪制一個半徑為200的圓,4秒之后半徑在2秒內從200逐漸變為50。

          <circle cx="0" cy="0" r="200" style="stroke: none; fill: #0000ff;">
           <animate attributeName="r" from="200" to="50" 
            begin="4s" dur="2s" repeatCount="2"></animate>
          </circle>

          1.3、animateColor

          控制顏色動畫,animate也可以實現這個效果,所以該屬性目前已被廢棄。

          1.4、animateTransform

          實現transform變換動畫效果,與css3的transform變換類似。實現平移、旋轉、縮放等效果。

          使用語法:

          <animateTransform attributeName="transform"  type="scale" 
           from="1.5" to="0" 
           begin="2s"  dur="3s" 
           repeatCount="indefinite"></animateTransform>
          • repeatCount:重復次數,設置為 indefinite 表示無限循環,一直執行。
          • type:添加 transform 變換類型。
          • eg:繪制一個半徑為200的圓,4秒之后開始縮放,在2秒內從1.5縮小到0倍。
          <svg width="320" height="320">
           <circle cx="0" cy="0" r="200" style="stroke: none; fill: #0000ff;">
            <animateTransform attributeName="transform" begin="4s"  
             dur="2s" type="scale" from="1.5" to="0" 
             repeatCount="indefinite"></animateTransform>
           </circle>
          </svg>

          1.5、animateMotion

          可以定義動畫路徑,讓SVG各個圖形,沿著指定路徑運動。

          使用語法:

          <animateMotion 
           path="M 0 0 L 320 320" 
          begin="4s" dur="2s"></animateMotion>
          • path:定義路徑,使用語法與《HTML5(八)——SVG 之 path 詳解》path的d屬性一致。
          • begin:延遲時間。
          • dur:動畫執行時間。

          eg:繪制一個半徑為10的圓,延遲4秒從左上角運動的右下角。

          <svg width="320" height="320">
           <circle cx="0" cy="0" r="10" style="stroke: none; fill: #0000ff;">
            <animateMotion 
             path="M 0 0 L 320 320" 
             begin="4s" dur="2s"
             ></animateMotion>
           </circle>
          </svg>

          實際制作動畫的時候,動畫太單一不酷,需要同時改變多個屬性時,上邊的四種元素可以互相組合,同類型的動畫也能組合。以上這些元素雖然能夠實現動畫,但是無法動態地添加事件,所以接下來我們就看看 js 如何制作動畫。

          二、JavaScript 控制

          上篇文章我們介紹js可以操作path,同樣也可以操作SVG的內置形狀元素,還可以給任意元素添加事件。

          給SVG元素添加事件方法與普通元素一樣,可以只用on+事件名 或者addEventListener添加。

          eg:使用SVG繪制地一條線,點擊線條地時候改變 x1 ,實現旋轉效果。

          <svg width="800" height="800" id="svg">
              <line id="line" x1="100" y1="100" 
              x2="400" y2="300" 
              stroke="black" stroke-width="5"></line>  
            </svg>
          <script>
           window.onload = function(){
            var line = document.getElementById("line")
            line.onclick = function(){
             let start = parseInt(line.getAttribute("x1")),
                 end=400,dis = start-end
             requestAnimationFrame(next)
             let count = 0;
             function next(){
              count++
              let a = count/200,cur = Math.abs(start+ dis*a)
              line.setAttribute('x1',cur)
              if(count<200)requestAnimationFrame(next)
             }
            }
           }
          </script>

          js制作的SVG動畫,主要利用 requestAnimationFrame 來實現一幀一幀的改變。

          我們上述制作的 SVG 圖形、動畫等,運行在低版本IE中,發現SVG只有IE9以上才支持,低版本的并不能支持,為了兼容低版本瀏覽器,可以使用 VML ,VML需要添加額外東西,每個元素需要添加 v:元素,樣式中還需要添加 behavier ,經常用于繪制地圖。由于使用太麻煩,所以我們借助 Raphael.js 庫。

          三、Rapha?l.js (拉斐爾)

          Raphael.js是通過SVG/VML+js實現跨瀏覽器的矢量圖形,在IE瀏覽器中使用VML,非IE瀏覽器使用SVG,類似于jquery,本質還是一個javascript庫,使用簡單,容易上手。

          使用之前需要先引入Raphael.js庫文件。cdn的地址為:https://cdn.bootcdn.net/ajax/libs/raphael/2.3.0/raphael.js

          3.1、創建畫布

          Rapheal有兩種創建畫布的方式:

          第一種:瀏覽器窗口上創建畫布

          創建語法:

          var paper = Raphael(x,y,width,height)

          x,y是畫布左上角的坐標,此時畫布的位置是絕對定位,有可能會與其他html元素重疊。width、height是畫布的寬高。

          第二種:在一個元素中創建畫布

          創建語法:

          var paper = Raphael(element, width, height);

          element是元素節點本身或ID width、height是畫布的寬度和高度。

          3.2、繪制圖形

          畫布創建好之后,該對象自帶SVG內置圖形有矩形、圓形、橢圓形。他們的方法分別為:

          paper.circle(cx, cy, r); // (cx , cy)圓心坐標 r 半徑
          paper.rect(x, y, width, height, r); // (x,y)左上角坐標 width寬度 height高度 r圓角半徑(可選)
          paper. ellipse(cx, cy, rx, ry); // (cx , cy)圓心坐標 rx水平半徑 ry垂直半徑

          eg:在div中繪制一個圓形,一個橢圓、一個矩形。

          <div id="box"></div>
          <script>
           var paper = Raphael("box",300,300)
           paper.circle(150,150,150)
           paper.rect(0,0,300,300)
           paper.ellipse(150,150,100,150)
          </script>

          運行結果如下:

          除了簡單圖形之外,還可以繪制復雜圖形,如三角形、心型,這時就使用path方法。

          使用語法:paper.path(pathString)

          pathString是由一個或多個命令組成,每個命令以字母開始,多個參數是由逗號分隔。

          eg:繪制一個三角形。

          let sj = paper.path("M 0,0 L100,100 L100,0 'Z'")

          還可以繪制文字,如果需要換行,使用 \n 。

          文字語法:paper.text(x,y,text)

          (x,y)是文字坐標,text是要繪制的文字。

          3.3、設置屬性

          圖形繪制之后,我們通常會添加stroke、fill、stroke-width等讓圖形更美觀,Raphael使用attr給圖形設置屬性。

          使用語法:circle.attr({"屬性名","屬性值","屬性名","屬性值",...})

          如果只有屬性名沒有屬性值,則是獲取屬性,如果有屬性值,則是設置屬性。

          注意:如果只設置一個屬性時,可以省略‘{}’。如:rect.attr('fill','pink')

          eg:給上邊的矩形添加邊框和背景色。

          <div id="box"></div>
          <script>
           var paper = Raphael("box",300,300)
           let rect = paper.rect(100,100,150,200)
           rect.attr({'fill':'red','stroke':'blue','stroke-width':'10'})
          </script>

          3.4、添加事件

          RaphaelJS一般具有以下事件:
          click、dblclick、drag、hide、hover、mousedown、mouseout、mouseup、mouseover等以及對應的解除事件,只要在前面加上“un”就可以了(unclick、undblclick)。

          使用語法:

          obj.click(function(){
           //需要操作的內容
          })

          3.5、添加動畫

          animate為指定圖形添加動畫并執行。

          使用語法:

          obj.animate({
           "屬性名1":屬性值1,
           "屬性名2":屬性值2,
            ...
          },time,type)

          屬性名和屬性值就根據你想要的動畫類型加就ok。

          time:動畫所需時間。

          type:指動畫緩動類型。常用值有:

          • linear - 線性漸變
          • ease-in | easeIn | < - 由慢到快
          • ease-out | easeOut | > - 由快到慢
          • ease-in-out | easeInOut | <> - 由慢到快再到慢
          • back-in | backIn - 開始時回彈
          • back-out | backOut - 結束時回彈
          • elastic - 橡皮筋
          • bounce - 彈跳

          eg:點擊矩形,矩形緩緩變大。

          <div id="box"></div>
          <script>
           var paper = Raphael("box",800,500)
           let rect = paper.rect(100,100,150,100)
           rect.attr({'fill':'red','stroke':'blue','stroke-width':'10'})
           rect.attr('fill','pink')
           rect.click(function(){
            rect.animate({
             "width":300,
             "height":300
            },1000,"bounce")
           })
          </script>

          復制上邊的代碼,分別在各個瀏覽器和低版本IE瀏覽器運行,發現都可以正常運行。SVG的動畫庫挺多了,我們介紹了拉斐爾,有興趣的小伙伴可以自行找找其他庫。


          在之前的一篇文章《用HTML5的canvas來畫一個夢幻星空,來學習一下吧》中,我們使用HTML5的canvas畫出了一個夢幻星空的效果。今天這篇文章我們繼續使用canvas來畫出幾個簡單的小球運動效果,一起來看看吧。

          本文源碼已經開源到Github上,感興趣的可以自取,Github地址如下。

          https://github.com/zhouxiongking/article-pages/tree/master/articles/movaByCanvas

          HTML5

          小球直線運動

          首先我們來看看小球直線運動的效果圖,如下所示。

          運動效果圖

          然后我們來分析下,這個效果是如何實現的。

          1. 首先設置畫布寬高等信息,然后利用canvas畫出一個小球,設定初始狀態,包括顏色,半徑,初始位置等信息。

          2. 設定一個定時器,每次動態更新小球的位置,由于定時器時間比較短,肉眼觀察下,相當于小球運動的效果。

          通過上述的分析,我們得出以下的代碼。

          對于canvas頁面的HTML代碼永遠都只包含一個元素。

          HTML代碼

          接下來是主要的Javascript代碼,首先是畫布,小球初始信息的設置,并設置定時器函數。

          小球初始信息

          然后是執行的定時器函數,動態更新小球的位置,當小球運動出畫布范圍后,重新從起點位置開始運動。

          定時器函數

          就這兩段代碼,就可以實現出以上的小球勻速直線運動的效果。

          小球圓周運動

          首先,我們來看看小球勻速圓周運動的效果圖,如下所示。

          運動效果圖

          接下來我們同樣來分析下這個效果是如何實現的。

          1. 首先畫出兩個小圓,一個是藍色,一個是紅色,設定初始信息和上述例子一樣。

          2. 設定定時器,每次清除畫布后,重新渲染,并且更新小藍球的位置,由于是圓周運動,并不會出現上述例子中移出畫布的情況。

          通過上面的描述,我們得出以下代碼,HTML代碼一樣,這里不再給出。

          首先是原始小藍球的繪制,并設置定時器。

          小藍球的繪制

          然后是小紅球的繪制。

          小紅球的繪制

          最后是定時器函數的實現,在該函數中會讓小藍球旋轉一定的角度。

          定時器函數

          至此,小球的勻速圓周運動效果代碼就完全實現了。

          總結

          今天這篇文章主要是利用HTML5的canvas實現了一些簡單的小球運動效果,你學會了嗎?


          主站蜘蛛池模板: 国产在线精品一区在线观看| 国产精品成人免费一区二区| 国产精品合集一区二区三区| 秋霞日韩一区二区三区在线观看 | 日韩毛片一区视频免费| 亚洲不卡av不卡一区二区| 乱中年女人伦av一区二区| 亚洲日韩AV一区二区三区中文| 久久99国产精一区二区三区| 亚洲AⅤ无码一区二区三区在线| 久久青青草原一区二区| 中文字幕在线不卡一区二区| 末成年女A∨片一区二区| 在线观看午夜亚洲一区| 国产成人片视频一区二区| 国产一区二区三区露脸| 四虎成人精品一区二区免费网站| 精品欧洲av无码一区二区14| 日韩精品无码一区二区中文字幕 | 亚洲日本一区二区三区| 亚洲国产综合无码一区| 一区二区三区无码视频免费福利| 国产免费播放一区二区| 波多野结衣高清一区二区三区| 日韩有码一区二区| 国产精品福利区一区二区三区四区 | 香蕉视频一区二区| 中文字幕日本精品一区二区三区| 日韩在线一区二区三区免费视频| 日韩精品无码久久一区二区三| 国产一区二区三区免费在线观看| 天天躁日日躁狠狠躁一区| 国产中的精品一区的| www.亚洲一区| 一本大道东京热无码一区| 日本亚洲成高清一区二区三区| 亚洲V无码一区二区三区四区观看| 一区高清大胆人体| 欧美一区内射最近更新| 日本一区二区高清不卡| 熟妇人妻系列av无码一区二区|