顯示具有 多媒體設計 標籤的文章。 顯示所有文章
顯示具有 多媒體設計 標籤的文章。 顯示所有文章

2012年1月9日 星期一

Loading,讓煩躁少一些




前一陣子,接到一個app切圖製作載入圓形進度條的任務,看到那個小進度條轉啊轉的,我若有所思…同時,一個做印象派製作間控制項設計的同學最近做了 改版,那個控制項登陸需要一些時間,看到他對loading載入條進行了優化,然後就一起交流了一下。作為一個剛畢業入行不久的新人,請允許我分享一下關於 討論loading載入後的一些心得…
 這是一個浮躁的年代,長聽到這樣的抱怨“好慢!”“等到死!”,每次看到那個轉啊轉的圈圈,或者是那個“loading…”後面那三個點不停滴閃動,心裡總是有莫名的焦躁,彼時的心情就好像下面這張圖片一樣,不知您是否有同感…


有人統計,用戶能夠忍受的最長等待時間大約在 6~8秒之間。8秒是一個臨界值,如果網頁載入時間在8秒以上,很有可能大部分訪問者最終都會離開該頁面。除非他一定要打開那個頁面。

以上三種是常見的loading方式,如果是我,我更希望看到第三種的進度條,因為我實在不知道第一個圈圈要轉多久才能算載入成功,也不知道第二個點點點要點到猴年馬月。
但是如果這個時候,介面除了看到“載入”以 外的東西,是否就能轉移用戶的注意力呢?比如我們在銀行排隊的時候,如果我們無時不刻看著自己手中的號碼 牌和叫號板,雖然知道自己大概什麼時候會輪到,但是依舊會無聊和煩躁。這時候銀行裡的一些宣傳單起到了很好的作用:比如各種銀行的理財產品,如果你不小心 還看到了適合自己投資的,肯定會激動不已,覺得這個等待時間給自己帶來的意外的收穫,即使沒有得到自己想要的資訊,也不會覺得那麼無聊了。又比如視頻在緩 沖的過程中,總是會放一段廣告,我一直弱弱滴認為這個好雞肋,捨不得放棄看那個視頻,但又要忍耐這個載入時候的廣告。但是如果廣告做得很棒,就一點都不煩 躁了,甚至還在評論裡看到求載入廣告的地址。網頁的loading就承擔了宣傳單跟載入廣告的作用。
在頁面局部載入時常能看到第一個圈圈的身影,不過每次看到這個圈圈都差不多,如果換一種轉圈的形式,也許會覺得“這個圈圈跟別的好像不太一樣”,通過好奇減少等待的焦躁。
下面我找了一些變過形的圈圈,是不是多了一些新意呢?


減少用戶的焦慮,可以給個允諾,示意他們還要載入多久,告訴現在的進度(有個進程百分比),算給一個定心丸。例如以下的方式:


其中上圖最下面一種進度條又有不同的設計:

上面兩種確定性進度條雖然都提示了現在的進程,但它們的差別是,第一種的進度條內容是純色,第二種進度條內容有動畫效果,如果這個進度條再某點 上突 然停住了,這時候會給用戶造成困擾,到底是卡死了還是這段的載入比較慢呢?如果是下一種進度條就一目了然,如果卡死,那動畫效果就沒了,如果依然有動畫效 果,那就說明只是這一段載入比較緩慢。
如果進度條再進行一些變形,不僅告訴了使用者現在的載入進程,還別有一種欣賞的意味:






PS:上右是搜狗實驗室的logo,但是這個創意做成loading也很棒啊,還加強了品牌印象。
除了進度條變形外,還可以從文案下手,例如,下面的是“下廚房”的APP的載入頁,雖然只有短短的一句話“是誰來自山川湖海 卻囿於晝夜 廚房與愛”雖然只閃過短短一秒鐘,這非但沒給用戶帶來煩躁的感覺,反而覺得這個應用有一種特別的氣質,不僅加深了印象,更帶來了好感。


一般電影上映前都有一段預告片來吸引觀眾去觀影。顯露冰山一角,以此激起用戶的好奇心,也告訴了使用者大概情況。

上圖是QZONE的熱門應用遊戲——捕魚大亨的登陸頁,這個loading的 進度設計就像一個魚雷的行程,不僅告訴玩家現在載入到哪個進度,尾部的 小水花也似乎在說我一直在努力載入。另外,這個載入速度有點慢,上方還有場景圖介紹,以此讓玩家有更多的瞭解。這種快顯視窗展示放大圖片和多個視圖也是許 多頂級線上零售商所採用的方法。雖然載入有點慢,但是給玩家這樣一個暗示:這是非常值得的等待。
此外,如果要載入的東西比較多,那麼載入進度肯定會比較慢,呈現一種載入條一直滯留不動的情況,在這種情況下,我們可以把進度條分成多個進度條多次 載入以安撫用戶焦躁的心。但是每次載入最好都配有文字顯示現在在載入的內容,不然一次又一次的進度條會讓使用者恐慌“這到底要載入多少次才是個頭!”但是如 果像下面一樣,明確告訴使用者在載入的內容,就算使用者是有些煩躁“怎麼有這麼多要載入”但是每次都相對載入得比較快,而且每次載入都有理有據,讓用戶覺得這 個載入還是有必要的。


要減弱用戶的焦躁,“增強用戶的期待值”也不失為一種好方法,除了對本身網站的期待,還有對“進度條本身”的期待。


如果在不同的百分點上都會有不一樣的顏色,那麼用戶也許在等待的時候會想:下一秒會是什麼顏色呢,從而,好像也不是那麼急了。


這個小人的表情好豐富,但是似乎又代表了用戶的心情,看著他挪動並有不同的心理,就像在看一個好玩的gif。

這是印像派的新版製作間登陸,在等待的同時還告訴客戶有哪些產品可以使用到製作間,既傳達了品牌的資訊,也讓使用者在等待時不那麼枯燥。
此外,如果這個是多次登陸的網站,那麼不管捕魚大亨的場景展示,還是yxp的步驟流程展示,似乎這些展示只在第一次會起到比較特別的作用,但是如果每次都附帶給登陸者不同的資訊,那麼,使用者每次都有小驚喜,比如每次都隨機出現一些小提示(以下分別是四次loading):

雖然載入是個小細節,但是也很有可能不經意間讓用戶流失。以上是我的一些小心得,雖然搜集的這些設計方式可以減緩一些使用者煩躁的等待情緒,但 是真正 可以減緩的辦法還是載入的速度增快;別致的設計可以治標,載入速度提高是治本。在載入頁中顯示進度,給出承諾,增加信息量或者幽默內容都能使使用者潛移默 化 減少“覺察”正在載入的時間。當然,煩躁是一種心情,載入是煩躁的導火索,但是如果每天保持好心情,那對待等待的耐心也會大大增加哦^.^
最後,送上一個可以生成載入圈圈的小工具,希望可以對您有幫助:
 http://preloaders.net/en/circular

文章來自uedc
文章提供:: BAYSTARS DESIGN網頁設計公司

2011年11月29日 星期二

馴服CSS選擇器 - 健壯我們的樣式表

PPT:Taming CSS Selectors
作者:Nicole Sullivan

CSS 文件的大小和所引起的 HTTP 的請求數

是 CSS 性能的最關鍵因素

回流(reflow)和渲染時間

(非常!)沒那麼重要

副本(duplication)比陳舊的規則(stale rules)更糟糕

因為我們有工具處理後者

定義缺省值

不要在每處都重複編碼

不好的:
程序代碼 程序代碼
#weatherModule h3{color:red;}
#tabs h3{color:blue;}

推薦:
程序代碼 程序代碼
h1, .h1{...}
h2, .h2{...}
h3, .h3{...}
h4, .h4{...}
h5, .h5{...}
h6, .h6{...}


用單獨的 class 來定義結構

不要在每處都重複編碼



使用 class

而不是元素選擇器

不好的:
程序代碼 程序代碼
div.error{...}

推薦:
程序代碼 程序代碼
.error{絕大多數代碼寫在這裡}
div.error{單獨定義}
p.error{單獨定義}
em.error{單獨定義}


避免使用元素選擇器

初始化除外

不好的:
程序代碼 程序代碼
div{...}
ul{...}
p{...}

推薦:
程序代碼 程序代碼
.error{...}
.section{...}
.products{...}


給規則同樣的權重

使用級聯去重寫先前的規則

不好的:
程序代碼 程序代碼
.myModule .inner b{...}
.myModule2 b{...}

推薦:
程序代碼 程序代碼
.myModule b{...}
.myModule2 b{...}


保守的使用 hack

不好的:
程序代碼 程序代碼
.mod .hd{...}
.ie .mod .hd{...}
.weatherMod .hd{...}

推薦:
程序代碼 程序代碼
.mod .hd{color:red;_zoom:1;}
.weatherMod .hd{...}

註: 此點來自 The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective, Ajax Experience 2009 第96P,為作者在 Ajax Experience 2009 上所做的補充。

避免指定位置

應用 class 在你想要改變的對象上

不好的:
程序代碼 程序代碼
.sidebar ul{...}
.header ul{...}

推薦:
程序代碼 程序代碼
.mainNav{...}
.subNav{...}


避免太過特別的 class

它們是都有語義的,而且有限制

不好的:
程序代碼 程序代碼
.ducatiMonster620{...}
.nicolesDucatiMonster620{...}

推薦:
程序代碼 程序代碼
.vehicle{...}
.motorcycle{...}


避免單獨的定義

id 在每個頁面只能使用一次

不好的:
程序代碼 程序代碼
#myUniqueIdentifier{...}
#myUniqueIdentifier2{...}


混合使用

避免重複編碼





封裝

不要直接訪問對象的子節點



不好的:
程序代碼 程序代碼
.inner{...}
.tr{...}
.bl{...}

推薦:
程序代碼 程序代碼
.weatherMod .inner{...}
.weatherMod .tr{...}
.weatherMod .bl{...}


譯文原文:點這裡...
文章提供:: BAYSTARS DESIGN網頁設計公司

2009年11月16日 星期一

2009年最佳免費圖標大收集

過去我們分享過很多天才和大方的設計師製作的大量圖標,這些圖標對我們在網頁設計和開發中起到了很大的作用。現在我們整理一批2009年出現的最好的圖標給大家,這些都是值得收藏的,合理的使用它們會大大的提高你的工作效率和設計效果。


Basic


Onebit Icon Set 2


Hand Pointer Icons


WP WooThemes Ultimate Icon Set


Led Icon Set


MinIcons


Grunge Peeling Stickers


Onebit


Web Injection


Watercolor Icon Pack


Finance


Flavour Extended


Social Media Icons


Must Have Icons


Social Icons Hand Drawn


Weby Icons


Quartz


譯自:The Best Free Icon Sets of 2009
原作者: Henry Jones
文章提供BASYTARS DESIGN網頁設計公司

版權所有,轉載請註明出處,多謝!

2009年10月19日 星期一

CSS在Internet Explorer 6, 7和8中的差別

中文原文:CSS在Internet Explorer 6, 7和8中的差別譯自:CSS Differences in Internet Explorer 6, 7 and 8版權所有,轉載請註明出處,多謝!
關於瀏覽器的最離奇的統計結果之一就是Internet Explorer 版本6,7和8共存。截至本文,Internet Explorer各個版本總共佔據了大約65%的市場份額。在網站開發社區,這個數字要小很多,統計顯示大概只有40%。
這些統計中比較有趣的部分是,IE6、IE7、IE8之間的數值很接近,這防止了單個Microsoft的瀏覽器佔居統治地位——與過去的情況相反。根據這些令人遺憾的統計結果,在為客戶開發網站的時候開發人員對所有當前使用的IE瀏覽器做全面的測試是必要的,而且這樣在個人項目上也可以拉攏更多的用戶。
多謝那些JavaScript庫(框架),跨瀏覽器的Javascript的測試已經像當前形勢所允許的那樣接近完美了。但在CSS開發中還不是這樣,特別是關係到IE目前存在的三個版本。
本文嘗試為希望了解CSS對IE6、IE7、IE8的支持的不同的開發者提供一份詳細的、易用的參考。本參考包含以下情況的概述和兼容情況:
三個瀏覽器中的一個支持而另外兩個不支持的條目
三個瀏覽器中的兩個支持而另外一個不支持的條目
本文不討論:
三個瀏覽器都不支持的條目
私有屬性
因此,本文的中心是三個瀏覽器中的不同,而不是必要的支持缺陷。該列表被分為五個部分
選擇器與繼承
子選擇器
示例
body > p {
color: #fff;
}
描述
子選擇器選擇一個特定父級元素的所有直接子級元素,在上面的例子中,body是父元素,p是子元素。
支持情況
IE6No
IE7Yes
IE8Yes
Bugs
IE7中,如果在父級標籤和子級標籤之間有一個HTML註釋,子選擇器將不會工作。
鏈類
示例
.class1.class2.class3 {
background: #fff;
}
描述
鏈類用於送一個HTML元素有多個class聲明的情況,就像這樣:

Content here.



支持情況
IE6No
IE7Yes
IE8Yes
Bugs
IE6好像支持這種情況,因為它能匹配鏈中的最後一個class到使用該class的元素上,然而,它並不能限制一個使用鏈中所有class的元素。
屬性選擇器
示例
a[href] {
color: #0f0;
}
描述
該選擇器允許一個元素被定位只要它有指定的屬性。在上面的例子中,所有的帶有href屬性的a標籤都會被限定,而沒有href屬性的a標籤不會被限定。
支持情況
IE6No
IE7Yes
IE8Yes
臨近兄弟選擇器
示例
h1+p {
color: #f00;
}
描述
該選擇器定位臨近到指定元素的兄弟標籤。上面的例子將會限定p標籤,但是他必須是h1標籤的兄弟而且要直接尾隨在h1標籤的後面。比如:

heading


Content here.


Content here.


在上面的代碼中,CSS樣式將只對第一個p有效。因為它是h1的兄弟而且緊跟著h1。第二個p也是h1的一個兄弟,但是它沒有緊跟著h1。
支持情況
IE6No
IE7Yes
IE8Yes
Bugs
在IE7中,如果在兄弟之間有一個HTML註釋,臨近兄弟選擇器將無效。
普通兄弟選擇器
示例
h1~p {
color: #f00;
}
描述
該選擇器定位一個指定元素後面的所有兄弟元素。將此選擇器應用到上面的那個例子,將會對兩個p標籤都有效。當然,如果有一個p元素出現在h1之前,那個p元素不會被匹配。
支持情況
IE6No
IE7Yes
IE8Yes
偽類和偽元素
:hover後面的後代選擇器
示例
a:hover span {
color: #0f0;
}
描述
一個元素可以被:hover偽類後面的選擇器定位,就像後代選擇器一樣。上面的例子,在鼠標懸停的時候,將會改變a元素內的span元素中的文字的顏色。
支持情況
IE6No
IE7Yes
IE8Yes
鏈偽類
示例
a:first-child:hover {
color: #0f0;
}
描述
偽類可以鏈起來以縮小元素選擇。上面的例子會定位每一個父級元素下的第一個a標籤,並將hover偽類P應用到它上。
支持情況
IE6No
IE7Yes
IE8Yes
非錨點元素中的:hover
示例
div:hover {
color: #f00;
}
描述
:hover偽類可以應用到任何元素的懸停狀態,而不只是a標籤。
支持情況
IE6No
IE7Yes
IE8Yes
:first-child偽類
示例
div li:first-child {
background: blue;
}
描述
改偽類定位每一個指定的元素的父級元素的第一個子元素。
支持情況
IE6No
IE7Yes
IE8Yes
Bugs
IE7中,如果要定位的第一個子元素之前有HTML註釋,first-child偽類將會無效。
:focus偽類
示例
a:focus {
border: 1px solid red;
}
描述
該偽類定位有鍵盤焦點的所有元素。
支持情況
IE6No
IE7No
IE8Yes
:before和:after偽類
示例
#box:before {
content: "本段文字在盒子前面";
}

#box:after {
content: "本段文字在盒子後面";
}
描述
這兩個偽元素分別在指定元素的前面和後面添加生成的內容,結合content屬性一起使用。
支持情況
IE6No
IE7No
IE8Yes
屬性支持
由position產生的實際大小
示例
#box {
position: absolute;
top: 0;
right: 100px;
left: 0;
bottom: 200px;
background: blue;
}
描述
定義top, right, bottom,和left 值到絕對定位的元素上將給這個元素實際的大小(寬度和高度),雖然並沒有設定使寬度和高度值。
支持情況
IE6No
IE7Yes
IE8Yes
Min-Height與Min-Width
示例
#box {
min-height: 500px;
min-width: 300px;
}
描述
這兩個屬性分別指定元素的寬和高的最小值,允許一個盒子可以比指定的最小值更大,但是不能更小。它們兩個可以一起使用,也可以分開來用。
支持情況
IE6No
IE7Yes
IE8Yes
Max-Height和Max-Width
示例
#box {
max-height: 500px;
max-width: 300px;
}
描述
這兩個屬性分別指定元素的高和寬的最大值,允許一個盒子比這個指定的最大值小,但是不能更大。它們也可以同時使用或者單獨使用。
支持情況
IE6No
IE7Yes
IE8Yes
透明邊框顏色
示例
#box {
border: solid 1px transparent;
}
描述
一個透明的邊框色允許一個邊框和邊框色可見(或者不透明)時佔用一樣的空間。
支持情況
IE6No
IE7Yes
IE8Yes
固定位置元素
示例
#box {
position: fixed;
}
描述
position屬性的這個值允許一個元素絕對的相對於窗口定位。
支持情況
IE6No
IE7Yes
IE8Yes
固定位置的背景圖
示例
#box {
background-image: url(images/bg.jpg);
background-position: 0 0;
background-attachment: fixed;
}
描述
background-attachment屬性的值為fixed允許一個背景圖片絕對地相對於窗口定位。
支持情況
IE6No
IE7Yes
IE8Yes
Bugs
就像position:fixed一樣,IE6同樣不支持background-positon的fixed值。然而,在IE6中只有在這個值用於根元素的時候才有效。
屬性值“inherit”
示例
#box {
display: inherit;
}
描述
將值inherit 應用到一個屬性那個允許一個元素從它的包含元素繼承計算的值。
支持情況
IE6No
IE7No
IE8Yes
Bugs
IE6和IE7不支持inherit 值除了direction 和visibility 屬性。
表格單元的邊框空白
示例
table td {
border-spacing: 3px;
}
描述
該屬性設置相鄰的表格單元的邊框之間的空白。
支持情況
IE6No
IE7No
IE8Yes
在表格中渲染空單元格
示例
table {
empty-cells: show;
}
描述
該屬性,只應用於元素的display屬性被設置為table-cell的元素,允許空單元格渲染他們的邊框和背景。否則,它們將不可見。
支持情況
IE6No
IE7No
IE8Yes
表格標題的水平位置
示例
table {
caption-side: bottom;
}
描述
這個屬性允許將一個表格的標題放到表格的底部——默認是頭部。
支持情況
IE6No
IE7No
IE8Yes
修剪區域
示例
#box {
clip:rect(20px, 300px, 200px, 100px)
}
描述
該屬性指定一個盒子的一個區域可見,剩下的部分修剪掉,或者不可見。
支持情況
IE6No
IE7No
IE8Yes
Bugs
有趣的是,該如果不使用隔開各個值的逗號,IE6和IE7也可以用這個屬性。 (比如,使用空格隔開剪切的值。)
打印頁面中的orphanes和widows
示例
p {
orphans: 4;
}

p {
widows: 4;
}
描述
orphans屬性設定在打印頁面底部顯示的最少行數。而widows 屬性用來設定打印頁面頭部至少顯示的段落的行數。
支持情況
IE6No
IE7No
IE8Yes
盒子內的頁面分割
示例
#box {
page-break-inside: avoid;
}
描述
該屬性設定分頁是否發生在一個指定元素內。
支持情況
IE6No
IE7No
IE8Yes
Outline屬性
示例
#box {
outline: solid 1px red;
}
描述
outline 是outline-style, outline-width,和outline-color的縮寫。該屬性要優於border屬性,因為它不會影響文檔流,因而u更有助於調試佈局問題。
支持情況
IE6No
IE7No
IE8Yes
display屬性的替代值
示例
#box {
display: inline-block;
}
描述
display 屬性通常設置為block, inline,或none。替代值包括:
inline-block
inline-table
list-item
run-in
table
table-caption
table-cell
table-column
table-column-group
table-footer-group
table-header-group
table-row
table-row-group
支持情況
IE6No
IE7No
IE8Yes
處理可折疊空白
示例
p {
white-space: pre-line;
}

div {
white-space: pre-wrap;
}
描述
white-space屬性的pre-line值設定將多個空白元素折疊為一個空白,同時允許明確的設置斷行。white-space 屬性的pre-wrap 值不會將多個空白折疊為一個,不過也允許明確的設置斷行。
支持情況
IE6No
IE7No
IE8Yes
其它各種技術
@import的媒體類型
示例
@import url("styles.css") screen;
描述
就像上面的例子那樣,引入的樣式表文件的媒體類型聲明在文件地址的後面。在該例子中,媒體類型是”screen”。
支持情況
IE6No
IE7No
IE8Yes
Bugs
儘管IE6和IE7支持 @import,它們在媒體類型被指定的時候會無效,甚至會引起正@import規則無效。
計數遞增
示例
h2 {
counter-increment: headers;
}
h2:before {
content: counter(headers) ". ";
}
描述
該CSS技術允許你自動增加出現在指定元素前面的編號,結合before偽元素一起使用。
支持情況
IE6No
IE7No
IE8Yes
生成內容的引用字符
示例
q {
quotes: "'" "'";
}

q:before {
content: open-quote;
}

q:after {
content: close-quote;
}
描述
指定用於生成內容的引用呼號,用於q標籤。
支持情況
IE6No
IE7No
IE8Yes
重要bug和不兼容性問題
下面是在上文中沒有提到的IE6和IE7的眾多bug。當然這個列表不包括在這三個瀏覽器中都不支持的條目。
IE6 Bugs
不支持用樣式設置 元素
不支持以連字符和下劃線開頭的class和ID名