2019年12月25日 星期三

瀏覽器適用前綴

CSS3 的 Gradients 漸層效果功能是直接套用在 background 屬性中的一個功能,我們這篇介紹的兩種漸層方式差別在於 gradient 的前綴,線性漸層的前綴是 linear,徑向漸層的前綴則是 radial,除此之外,為了可以獲得最佳的瀏覽器支援效果,我們會在 gradient 的最前面再加上瀏覽器的前綴,讓瀏覽器知道我們要顯示 gradient 的功能。
  • Google Chrome 與 Apple Safari 使用 -webkit-
  • Mozilla FireFox 使用 -moz-
  • Opera 使用 -o-
  • 線性漸層語法:background: linear-gradient(方向,顏色1,顏色2, ......);
  • 徑向漸層語法:background: radial-gradient(ellipse 或 circle,顏色1,顏色2, ......);
  • <style type="text/css">
    body {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    }
    #container{
    height:1000px;
    margin-top:0px;
    background: -webkit-linear-gradient(yellow,red);
    background: -o-linear-gradient(yellow,red);
    background: -moz-linear-gradient(yellow,red);
    background: linear-gradient(yellow,red);
    }
    </style>
    <body>
        <div id="container">
            ...網站內容...
        </div>
    </body>

2019年12月23日 星期一

css排版觀念padding&margin

CSS 排版有一個很重要的觀念: Box Model 。它描述了元素之間的彼鄰關係,同時也左右了我們是否能夠成功透過 CSS ,完成整個頁面的呈現。
Box Model 的意思,直譯英翻中可以解釋成,方塊模組,也就是說,每一個元素我們都可視它為一個 Box(方塊)。一個 Box 由以下屬性組成:margin 、 padding 、 border 、 content 。而一個 Box 的實際寬度 (高度) 是由 padding + border + width (height) 所組成,如下圖:
 
所以一般我們指定的 width(寬度) 和 height(高度)是 content 的寬和高,而沒有包含 border 和 padding 。換句話說,一個元素真正佔用的視覺空間,應該是 content + padding + border ,這是標準的 CSS 規範。
margin可以解釋成,以border(邊欄)為主,邊欄以外的空白處。
padding則是以border為主,邊欄以內的空白處。

2019年12月22日 星期日

iframe 框架語法


HTML iframe 框架語法
HTML iframe 用來設定嵌入框架的應用,首先解釋一下什麼是 HTML 框架,簡單來說,框架可以想像為一個櫥窗,裡面可以放很多的東西,這個櫥窗就像是一個網頁的主體,裡面放的東西可稱為內置框架,這個概念應該蠻容易了解的,那假設我們現在要在一個沒有框架的網頁內某個區塊,採用框架的方式嵌入其他網頁的內容,這時候就可以使用 HTML iframe 來處理,常常見到的如部落格邊欄上用 iframe 嵌入許多外掛,或者是網站上用 iframe 嵌入 Facebook 的粉絲團,都是相當普遍的 HTML iframe 應用方式。
HTML iframe
語法

<iframe src="嵌入目標" width="寬度" height="高度" frameborder="邊框參數" scrolling="卷軸參數"></iframe>
HTML iframe 有許多參數可以設定,最重要的就是 src 這個部分,嵌入目標就是要嵌入的網頁,少了這個部分,iframe 就等於沒有存在意義,嵌入的網頁可以是相同網域內的其他頁面,也可以是外部網頁。width height 分別用來設定 iframe 所要占用的寬度與高度。第三個參數 frameborder 可以用來設定 iframe 的邊框是否要顯示,如果寫為 frameborder="0" 代表不顯示邊框,如果寫成 frameborder="1" 則代表要顯示邊框。最後 scrolling 用來控制 iframe 的卷軸是否要顯示,有三種屬性質可以設定,寫成 scrolling="yes" 代表要顯示捲軸、寫成 scrolling="no" 代表不顯示捲軸、寫成 scrolling="auto" 則代表根據網頁大小自動顯示。

HTML iframe
範例
<iframe src="嵌入目標" width="250px" height="300px" frameborder="0" scrolling="no"></iframe>
此範例的寬度與高度設定都是以 px 為單位,這也是大部分瀏覽器(browser)的預設值,px 有沒有寫通常沒有影響(建議還是寫出來比較不容易出錯),但如果採用百分比做為單位,就一定要寫出來,否則光寫數字會造成瀏覽器的誤判,以為是要以 px 為單位,再來「frameborder="0"」代表不顯示邊框、「scrolling="no"」代表不顯示卷軸,基本上 HTML iframe 的概念就這麼簡單。

background gradients屬性


CSS3 網頁漸層背景顏色效果設計
網頁漸層背景顏色效果是現在網頁設計師經常使用的一種技巧,傳統的網頁設計必須使用漸層圖片來當作網頁背景圖片,才能呈現出網頁漸層背景顏色的效果,不過 CSS3 有推出一個新的 Gradients 漸層效果功能,透過這一個 Gradients 設定就能輕鬆的讓瀏覽器自動替網頁呈現出漸層背景效果,不需要準備漸層圖片就能做到這樣的視覺效果,而且還可以設定漸層所要呈現的顏色與方向,顏色可以設定多個不同的顏色去變化,方向也可以設定上下左右延伸以及透過角度呈現,甚至可以設計成徑向漸層效果,功能非常強大。
CSS3
Gradients 漸層效果功能語法
線性漸層語法:background: linear-gradient(方向,顏色1,顏色2, ......);
徑向漸層語法:background: radial-gradient(ellipse circle,顏色1,顏色2, ......);
CSS3  Gradients 漸層效果功能是直接套用在 background 屬性中的一個功能,我們這篇介紹的兩種漸層方式差別在於 gradient 的前綴,線性漸層的前綴是 linear,徑向漸層的前綴則是 radial,除此之外,為了可以獲得最佳的瀏覽器支援效果,我們會在 gradient 的最前面再加上瀏覽器的前綴,讓瀏覽器知道我們要顯示 gradient 的功能,這些前綴整理如下。
瀏覽器適用前綴
  • Google Chrome Apple Safari 使用 -webkit-
  • Mozilla FireFox 使用 -moz-
  • Opera 使用 -o-
我們將以上的語法關念套用到範例看看設計出來的效果吧!
CSS3
網頁漸層背景顏色效果設計範例一、線性漸層
<style type="text/css">
body {
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
}
#container{
height:1000px;
margin-top:0px;
background: -webkit-linear-gradient(yellow,red);
background: -o-linear-gradient(yellow,red);
background: -moz-linear-gradient(yellow,red);
background: linear-gradient(yellow,red);
}
</style>
<body>
    <div id="container">
        ...
網站內容...
    </div>
</body>
範例呈現的效果
範例中的 HTML 網頁部份共有兩個結構,其中一個就是網頁本身的 body 標籤,中間包著一個名為 container  DIV 區塊,這樣設計的用意在於利用 container 區塊的寬度與高度來填滿整個網頁比較有彈性,如果單純的在 body 標籤設定 CSS3  Gradients 漸層效果,會造成當網頁內容長度太長,超出預設的 body 標籤高度,超出的部份就不會有漸層背景顏色,所以我們在 body 標籤並未固定一個高度,而是在 container  區塊內設高度,隨著網頁內容的多寡再自己調整要顯示的漸層背景顏色範圍即可。
各位可以在範例中看到這個網頁的漸層背景顏色是由上往下發展,從第一個顏色黃色(yellow)開始漸漸變成紅色(yellow),你也可以設定更多不同的顏色、調整漸層的發展方向,更多變化請參閱《CSS3 Gradients 漸層效果》篇的詳細介紹。
CSS3
網頁漸層背景顏色效果設計範例二、徑向漸層
<style type="text/css">
body {
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
}
#container{
height:500px;
background: -webkit-radial-gradient(circle,white,orange);
background: -o-radial-gradient(circle,white,orange);
background: -moz-radial-gradient(circle,white,orange);
background: radial-gradient(circle,white,orange);
}
</style>
<body>
    <div id="container">
        ...
網站內容...
    </div>
</body>
範例呈現的效果
範例二所呈現的就是 CSS3 Gradients 漸層效果功能中的徑向漸層,我們設計的顏色是白色(white)漸層至橘色(orange),預設的效果是從中心開始向外漸層,所以會看到像範例的這種效果,顏色一樣可以自己選擇,值得一提的是 CSS3 Gradients 預設的徑向漸層效果是橢圓形的,參數為 ellipse,允許網頁設計師調整為正圓形,只要使用參數 circle 即可,就像範例這樣。

以上兩個範例呈現了 CSS3 網頁漸層背景顏色效果設計的技巧,其實 Gradients 的功能很強大,可以做許多項的細微調整,關於更詳細的用法請各位詳細閱讀《CSS3 Gradients 漸層效果》篇的內容,對於設計出其它變化效果會有幫助。