文章專區

網頁設計相關文章

 上回介紹了flex-container(容器)可使用的屬性,這次來介紹flex-items(子項目)可操作的屬性。 一樣先來張flexbox盒子模型圖複習一下(來源:MDN)   關於flex-items可操作的屬性,有以下幾項: order可以決定項目的排列順序。   例:下面兩圖僅差在是否加入了order,若未加order指定順序的話會如右圖所示。左圖則是已加入order。   flex-grow可設定項目們在容器內的比例。 例:每個項目在容器內的比例是2:1:3:2   flex-shrink與flex-grow相反,當項目將容器擠爆時,flex-shrink會把項目們縮小設定的比例。會根據flex-shrink設定的值來決定縮小的倍數。   下圖的縮小倍數比:1:2:3:4:5   flex-basis項目的基本大小,有點類似min-width,算是代替width用的,優先權比width高,但若兩者其中之一為auto,會以沒設auto的為優先。 關於flex-grow、flex-shrink、flex-basis此三項屬性,這邊有更詳細的解釋     flex由flex-grow、flex-shrink、flex-basis三個屬性組成,例:.flex{flex:2 1 300px;}   align-self可以指定某個項目的行為,會覆蓋容器align-items的設定。 auto:預設值,繼承容器的align-items屬性,若沒有則為stretch flex-start:對齊容器最上面的cross start flex-end:對齊容器最下面的cross end center:垂直置中 stretch:將flex項目撐開至容器的高度 baseline:以所有flex項目的基線作為對齊標準 例:下圖本來將容器設align-items: flex-start(靠齊最上方)。然而在第三項與第四項分別設了align-self: center(垂直置中)與align-self: flex-end(靠齊最下方),覆蓋了容器align-items: flex-start的設定。
flexbox是CSS3裡較為特殊的排版方式,相較於一般常使用的float、position等屬性更為彈性,可以更有效率地做出一般方式所不易達成的效果。隨著響應式布局的興起,排版彈性大的flexbox使用率也頻繁了起來。 flexbox盒子模型如下圖(圖片來源:MDN),不同於其他一般的CSS屬性,它有專屬於自己的一些屬性和概念,flexbox具有水平的起點與終點(main start、main end)、垂直的起點與終點(cross start、cross end)、水平軸與垂直軸(main axis、cross axis)。   總體來說分為flex container(容器)與flex item(子項目)兩大類。 如何使用flexbox的功能呢? 只要在容器內加上display:flex或是display:inline-flex,容器和其內的項目就會直接套用flexbox的設定喔! display:flex與display:inline-flex的差別 就跟display:block與display:inline-block差不多   此章先介紹flex container(容器)可用的屬性,有以下幾項: flex-direction為容器內項目的排列方向 可用的值有: row (從左到右,再從上到下) row-reverse(row的顛倒順序) column(從上到下,再從左到右) column-reverse(column的顛倒順序)   flex-wrap決定flex項目是否換行 可用的值有: nowrap:不換行(預設值),不管有多少項目都會放在同一行內(寬度會自動調整) wrap:換行,會依照內容或寬度自動換行。 wrap-reverse:換行,但順序相反   flex-flow是  flex-direction與  flex-wrap屬性的縮寫,就跟 「border-width:1px;border-style:solid; border-color:#000」等於「 border:1px solid #000」是一樣的道理 flex-direction | flex-wrap 例:.box{flex-flow: row wrap}   justify-content決定flex項目與容器的水平對齊設定 flex-start:預設值,flex項目對齊最左邊的main start(水平起點) flex-end:flex項目對齊容器最左邊的main end(水平終點) center:水平置中 space-between:平均分配  flex項目,最左與最右的flex項目會與main start及main end貼齊。 space-around:平均分配  flex項目,間距也是平均分配。   align-items與justify-content相反,決定的是flex項目與容器的垂直對齊設定。 flex-start:預設值,對齊容器最上面的cross start(垂直起點) flex-end:對齊容器最下面的cross end(垂直終點) center:垂直置中 stretch:將flex項目撐開至容器的高度 baseline:以所有flex項目的基線作為對齊標準   align-content align-items是針對內容為單行的項目進行處理,但若是多行的項目,就要使用align-content此屬性。 flex-start:預設值,對齊容器最上面的cross start(垂直起點) flex-end:對齊容器最下面的cross end(垂直終點) center:垂直置中 space-between:第一行與最後一行分別貼齊最上方與最下方 space-around:行距平均分配 stretch:將flex項目撐開至容器的高度   以上便是flex container(容器)可用的屬性,下次將介紹flex item(子項目)。
Font Awesome網站提供許多好看的icon可以免費下載使用,原理為將icon以文字型式(fonts)表現,在應用上比起將設計的icon切成圖片使用來得更加便利。 首先進入Font Awesome的網站http://fontawesome.io/ 下載套件   解壓縮後,若只是需要css的話只需將css與font的資料夾複製到目的地。   在<head>與</head>之間加入css語法 例如: <link rel="stylesheet" href="font-awesome/css/font-awesome.css"> 若要使用只需在html裡加入欲選擇的icon語法即可 例:<i class="fa fa-camera" aria-hidden="true"></i>   若要更改大小的話可以依自己需求在原始碼裡加上fa-lg、fa-2x、fa-3x等。 例: <i class="fa fa-camera fa-lg" aria-hidden="true"></i> <i class="fa fa-camera fa-2x" aria-hidden="true"></i> <i class="fa fa-camera fa-3x" aria-hidden="true"></i> <i class="fa fa-camera fa-4x" aria-hidden="true"></i>   <i class="fa fa-camera fa-5x" aria-hidden="true"></i>   另外因為Font Awesome的icon是文字型式,所以也可用文字設定的css來改變大小 例:font-size:14px   Font Awesome提供的icon可減少特地設計icon和切版所需花費的時間,設計上又簡單實用,為網頁設計師可善加利用的好工具。
CSS的背景屬性background-position,主要用來定位背景圖片的位置。 background-position的數值分成三種表示方式:關鍵字、像素、百分比 關鍵字:background-position:top left; 值有top、bottom、left、right、center 像素:background-position:0px 0px; 百分比:background-position:0% 0%; 前兩者指定的是背景圖片左上角相對於容器左上角的位置。(百分比的情況較特殊,後面會解釋。)   EX: background-position: 10px 20px; 第一個數值(10px)指的是水平位置;第二個數值(20px)指的是垂直位置 也就是說從左上角算起,將背景圖往右移10px、往下移20px   background-position: top center; 背景圖設定在從容器左上角算起最上方並中間的位置   百分比表示: background-position: 背景圖本身(x% y%)的那個點會與容器(x% y%)的那個點重合 例: background-position: 20% 40%; 背景圖本身(20% 40%)的那個點會與容器(20% 40%)的那個點重合   若以px或%表示時,數值可以用負的。 如: background-position: -10px -30px; 從左上角算起,背景圖會往左移10px、往上移30px 註:因為背景圖片只能在容器內顯示,所以超出的部分會被切掉。   1. 數值與百分比是可以一起用的。(如:background-position:15px 60%;) 2. 數值/百分比與關鍵字是無法混用的。(如:background-position:center 20%;) 3. 若只輸入一個數值,會隨數值改變的只有水平位置。
在作網頁設計時常常需要嵌入youtube影片,但一碰到RWD網頁時,影片就會遇上無法隨著螢幕縮放的問題!這是因為youtube供嵌入用的iframe原始碼已經是固定尺寸了,因此我們需要修改以讓影片能跟著RWD一同縮放。 步驟相當簡單: 1.首先在CSS列表中新增以下CSS .video-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; } .video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0;left: 0; width: 100%; height: 100%;} padding-bottom: 56.25%為影片高度與寬度的比例16:9計算得來,9除以16=0.5625換算高度比0.5625=56.25% padding-top: 30px:用於修正的高度,可用25px或30px 2.在youtube提供的iframe原始碼加入<div class="video-container"></div> EX: <div class="video-container"><iframe width="560" height="315" src="https://www.youtube.com/embed/9CjvlhJMkcc" frameborder="0" allowfullscreen></iframe></div>   影片實例: 可以縮放視窗看看實際效果唷! 以上,就可以使youtube影片100%自動縮放瞜!這是在RWD設計裡相當實用的基本技巧。
html提供許多特殊符號可使用,像是星星、金錢、箭頭.....等等,在作網頁設計時,這樣的話就不用切成圖片,而是能直接寫成html碼了! 而Mausr是個能直接透過手畫找到你想要的符號的搜尋器,十分便利。   1.Draw a symbol - Mausr:http://www.mausr.com/ 進入網頁後,左邊的框框內為繪製區,可以自由地繪出你需要的符號大致輪廓。   2.繪出圖案後網站會自動幫你搜尋類似的符號,其上會提供html碼,只要複製即可運用。   只要畫出大致形狀就會跳出相似圖形的搜尋結果。     除了用繪製區尋找外,還提供了符號列表可供查找。   Mausr辨識效果相當強大,對於網頁設計師來說是不可多得的好工具。  
以往網頁設計常見使用jpg、png、gif等圖片檔,但因為皆屬點陣圖模式,由於RWD(自適應網頁設計)可以隨著螢幕作放大縮小,所以若切成一般圖片格式易造成模糊失真的問題,而SVG會是不錯的解決方法。 SVG(Scalable Vector Graphics)是一種可縮放式向量圖形,是W3C所制定的開放性網路標準之一,此圖片格式能讓網頁設計師在網頁中以向量格式呈現圖片。可以在illusrator中畫好向量圖形,另存成SVG檔,運用方式就跟一般用jpg、png、gif等圖片檔一樣,但不同的是並不會因尺寸的改變而失真,日後欲修改時也可直接開啟檔案修改,相當方便,在網頁設計領域中,SVG的使用已越來越普及。   step.1:開啟製作的AI檔   step.2:另存新檔->SVG檔   step.3:保持預設選項不變,按「確定」   SVG檔在原始碼的寫法如下: 1.跟一般圖片寫法img一樣 <img src="001.svg" /> 2.直接用svg元素寫法 <svg width="800" height="800" version="1.1" xmlns=" http://www.w3.org/2000/svg " xlink:href="001.svg" ></svg> width、height:定義svg的寬高 version:指出此文件遵循的svg語言版本  xmlns:為SVG命名空間 xlink:指出SVG檔案路徑   另外,可直接用SVG標籤繪製圖形,以下介紹三個基本屬性。 圓形:circle 可設定圓心的座標(cx,cy)  r:半徑 fill:填滿色 stroke:線條顏色 線條寬度: stroke-width ex: <svg><circle cx="50" cy="50" r="40" fill="yellow" stroke="black" stroke-width="5"/></svg>   線條:line 從(x1,y1)到(x2,y2)的線條 ex: <svg><line x1="20" y1="20" x2="50" y2="50"/></svg> 矩形:rect 以(x,y)作為左上角的座標繪製 <svg><rect x="20" y="25" width="40" height="40"/></svg>   SVG除了可以先繪製圖形再置入,亦可直接寫原始碼繪製圖形,是網頁設計師可善加利用的工具!
 nth-child是CSS新增的偽類選擇器(不寫在html裡,而是寫在CSS),標準的語法是:nth-child(n),括弧中的n可以是奇數「odd」,或是偶數「even」,也可以自訂數列應用。此功能能夠有效減少多餘的class與id,十分方便,應用上也非常彈性與廣泛。   1. :nth-child(odd)選取奇數 ex: .list_1 li:nth-child(odd){ background:#311D1E; color:#fff;}   設定只選取列表中的奇數項目。因此位於第一與第三列的001與003會被選取。   2. :nth-child(even)選取偶數 ex: .list_2 li:nth-child(even){ background:#4E5996; color:#fff;} 同理,even設定偶數,所以位於偶數列的項目會被選取。   3. :nth-child(n)選取特定的數字 ex: .list_4 li:nth-child(5){ background:#61AA72; color:#fff;} n數值設定為5,因此只選定第五項被選取。   4. :nth-child(an+b)自訂數列 裡面的「n」從0數起,a與b為自訂數值。 ex: .list_3 li:nth-child(2n+1){ background:#4CB0D4; color:#fff;} n的值從0算起,因此數列計算如下: 2X0+1=1 2X1+1=3 2X2+1=5 ......以此類推。   CSS3 的:nth-child(n)在網頁設計上十分實用,初學者可以多加應用看看。
   HTML本身是一個網頁頁面的架構,是超文件標示語言(HyperText Markup Language,簡稱為HTML),它具有超文字(HyperText)、超連結(HyperLink)、超媒體(HyperMedia)的特性。  隨著網路環境的快速發展及行動裝置的出現,因此網站的結構也不斷的演進,Html5與html最大的差異在於寫法的改變,新增許多元素加強文章結構的明確性,例如以往版本的HTML4有 這樣的表示方式,主要是利用 區分文件各個部分,然而HTML5中,許多常用的功能有了自己的標籤,例如和標記,使插入聲音和影片變得更簡單,使用的語意標籤取代不具意義的 所構成的HTML文件,來協助我們做到更好的語義架構,讓開發者更容易閱讀,也更容易讓搜尋引擎能快速了解網頁的重點。     HTML4標籤 HTML5標籤 說明     位於網頁頁面頂部,放置網站的LOGO、大標題或主要資訊     放置網站的連結或選單     文章內容可以有很多個,用於章節或標題的段落區分     放置側邊攔     位於網頁頁面的底部,大多用於顯示著作權、作者或相關資訊等    
   19.Template Monster http://www.templatemonster.com/    Template Monster是全球知名的版型套用網站,版型應有盡有,分類也相當詳細,每個範本內容提供完整,包括PSD、字型等原始檔案。也可以對每件作品評分並加入收藏。   20.Duda https://www.dudamobile.com/responsive-website/templates   Duda是一款為專家與小企業服務的網站建立平台,網頁設計簡單明亮,提供的版型有企業、餐廳、一頁式等多項類別,也能以顏色作搜尋。       21.Jimdo http://www.jimdo.com/templates/   Jimdo是自助建站服務,讓不懂網頁的人也能輕鬆建立屬於他的個人網站,高品質的作品對於設計師來說也是啟發靈感的優良來源。網站上方以醒目的精美大圖搭配,類別有商店、企業、個人網頁等等。