第11章 網站外觀的一致化設計 11-1 CSS層級式樣式表 11-2 主版頁面 11-3 佈景與面板.

Slides:



Advertisements
Similar presentations
E-portfolio 個人履歷網站教學
Advertisements

Microsoft Web Developer ASP .NET 2.0 入門
第1章 ASP.NET、VWD與HTML的基礎
Chapter 5 全球資訊網 5-1 World Wide Web 的誕生 5-2 使用Internet Explorer
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
Excel –格式設定 資訊教育.
《ASP.NET数据库网站设计教程(C#版)》
版面美化與設計 建國科技大學資管系 饒瑞佶 2015/9 V1.
《计算机网络技术》 asp.net 程序设计 文本类控件 笪静.
DreamWeaver MX (V) 林偉川.
第8章 样式表.
第12章 建立網站的巡覽架構.
CSS基礎 靜宜大學 資管系 楊子青.
DreamWeaver MX (II) 林偉川.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
Google協作平台.
連結資料庫 ACCESS MSSQL.
Q101 在701 SDX Linux上的標準安裝與使用程序v2
JDK 安裝教學 (for Win7) Soochow University
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
Dreamweaver 8 範例:201、202 潘雅真.
XSL: Extensible Stylesheet Language
Controls.
CSS基礎 靜宜大學 資管系 楊子青.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
第5章 Web表單程式設計模型 5-1 Web表單程式設計模型 5-2 ASP.NET的Page物件
網頁切換移轉 JS vs. ASP.NET.
Word與PowerPoint的結合 建功國小 陳旻杰 健行國小 張慧如.
CSS - Cascading Style Sheets
CSS基礎 靜宜大學 資管系 楊子青.
檔案與磁碟的基本介紹.
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
Fortran 程式語言 之 編與譯(二) 張基昇.
網頁切換移轉 JS vs. ASP.NET.
VS.NET 2003 IDE.
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
Ch20. 計算器 (Mac 版本).
Dreamweaver 8 潘雅真老師.
第 19 章 XML記憶體執行模式.
PowerPoint 2019/4/9.
第一個cordova project Cordova project建立與平台設定,均藉由cli(command line interface來完成 建立project請打開命令提示字元視窗應輸入下列命令 cordova create hello tw.edu.stust.mis.hello HelloWorld.
HTML – 超連結與圖片 資訊教育.
伸峰科技股份有限公司 李書帆 SanfongWeb 網頁編修 伸峰科技股份有限公司 李書帆
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
表格(HTML – FORM).
武汉纺织大学传媒学院 cm.wtu.edu.cn
Install OpenCV C++ with Visual Studio 2017 on Windows PC
如何利用範本來製作網頁.
Google協作平台+檔案分享(FileZilla+網路芳鄰)
雙按button1,2,3,4 Method 方法/動作 textBox2.Text textBox1 textBox3.Text 轉為數字 c是數字 int c = int.Parse(textBox1.Text) + …; textBox3.Text = c.ToString();
Controls.
個人網路空間 資訊教育.
VS.NET 2003 IDE.
GridView操作 (II).
Flash 8:開口中 從Y:\ 複製『開口中.fla』到 D:\ 更改名稱為:s3x99 (你的班號) 雙按開啟檔案 2019年5月7日
利用 EditorConfig 自訂文字編輯器設定
JQuery 標籤操作 建國科技大學 資管系 饒瑞佶 2013/4 V1.
程式移植.
從HTML表格到CSS 靜宜大學 資管系 楊子青.
Dreamweaver 進階網頁製作 B 許天彰.
Brief Guide of FrontPage
國立台灣大學 關懷弱勢族群電腦課程 By 資訊工程 黃振修
CSS基礎 靜宜大學 資管系 楊子青.
清單的CSS樣式.
DreamWeaver MX (IV) 林偉川.
第五章 自訂佈景主題與文字處理 講授者:詹雅愔.
Chapter 4 Multi-Threads (多執行緒).
Develop and Build Drives by Visual C++ IDE
Presentation transcript:

第11章 網站外觀的一致化設計 11-1 CSS層級式樣式表 11-2 主版頁面 11-3 佈景與面板

11-1 CSS層級式樣式表 11-1-1 在ASP.NET網頁套用CSS樣式 11-1-2 在Visual Studio 建立新樣式 11-1-4 建立外部樣式表檔案 11-1-5 連結外部樣式表檔案 11-1-6 修改與管理CSS樣式

11-1 CSS層級式樣式表 「CSS」(Cascading Style Sheets)層級式樣式表是一種樣式語言能夠重新定義HTML標籤或ASP.NET控制項的顯示效果。 CSS樣式如同Word樣式庫,可以定義HTML標籤或ASP.NET控制項的顯示效果,例如:字型、背景、色彩和框線等。在Visual Studio Community提供圖形化介面來幫助我們建立CSS樣式,一般來說,在ASP.NET網頁有三種方式來套用CSS樣式。

11-1-1 在ASP.NET網頁套用CSS樣式- 局部套用的CSS 局部套用的CSS (In-Line Style Sheets)是定義在標籤程式碼中,其影響範圍也僅限於定義樣式的哪個標籤。ASP.NET控制項是使用樣式屬性,如下所示: <asp:TextBox ID="TextBox1" runat="server" BackColor="#3333CC" BorderStyle="Solid" ForeColor="White"/> 當執行ASP.NET網頁轉換成HTML標籤<input>,就是使用style屬性來定義樣式,如下所示: <input name="TextBox1" type="text" id="TextBox1" style="color:White;background-color:#3333CC;border-style:Solid;" />

11-1-1 在ASP.NET網頁套用CSS樣式- 內建網頁的CSS(定義樣式規則) 內建網頁的CSS (Embedded Style Sheet)是在網頁<body>標籤前,使用<style>標籤定義CSS樣式,其影響範圍是整個ASP.NET網頁的內容。我們可以自行定義樣式規則(Style Rules)的名稱,這是以「.」句點開始的名稱,如下所示: <style type="text/css"> .littlered {color: red; font-size: 9pt} .littlegreen {color: green; font-size: 9pt} </style>

11-1-1 在ASP.NET網頁套用CSS樣式- 內建網頁的CSS(套用樣式規則) HTML標籤是使用Class屬性來指定樣式規則;ASP.NET控制項是使用CssClass屬性來指定樣式,如下所示: <p Class="littlered">自訂樣式規則</p> <asp:TextBox ID="TextBox1" runat="server" CssClass="littlegreen"/>

11-1-1 在ASP.NET網頁套用CSS樣式- 外部連結的CSS 如果針對整個ASP.NET網站,我們可以使用外部樣式表檔案(External Style Sheet) ,其副檔名為.css,換句話說,我們只需建立好樣式表檔案,就可以套用在整個ASP.NET網站的所有網頁,輕鬆建立一致顯示風格的網站內容。

11-1-2 在Visual Studio 建立新樣式-說明 在Visual Studio 建立新樣式預設是在<style>標籤新增CSS樣式,Visual Studio 提供圖形化介面來幫助我們建立CSS樣式,而不用自行撰寫樣式程式碼。 建立的CSS樣式

11-1-2 在Visual Studio 2015 建立新樣式-新增 請啟動Visual Studio 2015開啟ASP.NET網頁,執行「格式/新樣式」指令,可以看到「新樣式」對話方塊。 樣式名稱 樣式屬性

11-1-3 套用CSS樣式-說明 在ASP.NET網頁新增樣式規則後,我們可以選擇在「檢視」 /「屬性」或「管理樣式」視窗指定控制項套用CSS樣式規則。

11-1-3 套用CSS樣式- 使用屬性視窗 在「屬性」視窗上方選【<DIV>】,即<div>標籤,然後在【Class】屬性欄選【docStyle】樣式,可以看到設計檢視的標籤馬上套用此CSS樣式。

11-1-3 套用CSS樣式- 使用套用樣式視窗 請在設計檢視選取【TextBox1】控制項後,執行「檢視/管理樣式」命令開啟「管理樣式」視窗。在「本頁」區段選【.txtStyle】樣式規則,執行右鍵快顯功能表的【套用樣式】命令,在TextBox控制項套用.txtStyle樣式規則 。 選此樣式

11-1-3 套用CSS樣式-範例網站 ASP.NET網站:Ch11_1_3 在ASP.NET網頁已經新增上一節名為txtStyle和docStyle的樣式,現在我們準備分別在TextBox控制項和<div>標籤套用CSS樣式,如下圖所示:

11-1-4 建立外部樣式表檔案-建立 我們還可以將CSS樣式儲存成一個外部檔案,然後設定網頁連結外部樣式表,以便讓網站的網頁可以套用外部樣式表檔案內的CSS樣式。 選樣式表

11-1-4 建立外部樣式表檔案-內容 我們可以直接在編輯視窗輸入樣式程式碼,或從其他ASP.NET網頁搬移樣式規則,如右圖所示:

11-1-5 連結外部樣式表檔案-套用 執行「檢視/管理樣式」命令,可以看到「管理樣式」視窗。 在樣式清單已經擁有本頁CSS樣式規則,選游標所在【附加樣式表】圖示,可以看到「選取樣式表」對話方塊。 選取外部樣式表檔案

11-1-5 連結外部樣式表檔案-範例網站 ASP.NET網站:Ch11_1_5 在ASP.NET網站已經擁有上一節建立的main.css樣式表檔案,請在網站連結外部樣式表檔案後,分別在Default.aspx和Default2.aspx的Label和Button控制項套用.lblStyle和.btnStyle樣式規則,如下圖所示:

11-1-6 修改與管理CSS樣式- 清除套用樣式 開啟Default2.aspx的ASP.NET網頁,選取欲清除樣式的Button控制項,然後執行「檢視/CSS屬性」命令開啟「CSS屬性」視窗。在「套用的規則」框選【.btnStyle】,執行右鍵快顯功能表的【移除類別】命令,就可以清除控制項套用的CSS樣式。

11-1-6 修改與管理CSS樣式- 修改CSS的樣式屬性 在「CSS屬性」視窗可以更改HTML標籤或控制項套用的CSS樣式,例如:開啟Default2.aspx的ASP.NET網頁,選Label控制項,然後執行「檢視/CSS屬性」命令開啟「CSS屬性」視窗。 直接修改CSS屬性

11-1-6 修改與管理CSS樣式-管理樣式 在Visual Studio 2015開啟Default.aspx網頁的設計檢視後,就可以在「管理樣式」視窗管理ASP.NET網頁的本頁和外部樣式表的所有CSS樣式規則,如下圖所示: 2017/04/10

11-2 主版頁面 11-2-1 主版頁面的基礎 11-2-2 建立主版頁面 11-2-3 建立內容頁面 11-2-4 巢狀主版頁面 11-2-5 動態載入主版頁面

11-2-1 主版頁面的基礎-圖例 主版頁面可以將網頁分割成多個編輯區域,這是使用ContentPlaceHolder控制項標示的編輯區域,其他部分屬於網頁固定內容,可以讓網站每一頁網頁都擁有相同的外觀配置,如下圖所示:

11-2-1 主版頁面的基礎-主版頁面 主版頁面 主版頁面是使用ContentPlaceHolder控制項定義可編輯區域,其他部分是網站每一頁網頁都擁有的固定部分。我們可以在固定部分加上巡覽架構、公司商標和版權宣告等網頁內容。

11-2-1 主版頁面的基礎-內容頁面 內容頁面 內容頁面是使用Content控制項建立網頁內容,屬於網頁內容中會變動的部分,Content控制項內容可以填入主版頁面對應ContentPlaceHolder控制項的位置,在整合後才顯示出完整的網頁內容。

11-2-2 建立主版頁面-說明 ASP.NET的主版頁面可以分為兩部分:一是頁面配置,副檔名為.master的主版頁面,通常是使用HTML表格標籤來建立版面配置,以便編排ContentPlaceHolder控制項;二為套用主版頁面的內容頁面,即ASP.NET網頁。

11-2-2 建立主版頁面-建立 選【主版頁面】範本,在【名稱】欄輸入主版頁面名稱,勾選【將程式碼置於個別檔案中】,按【新增】鈕新增主版頁面 在「工具箱」視窗的【標準】區段,拖拉ContentPlaceHolder控制項來新增控制項

11-2-2 建立主版頁面-指引指令與ContentPlaceHolder控制項 主版頁面的副檔名是.master,一樣可以新增控制項、HTML標籤和程式碼。和ASP.NET網頁的主要差別是使用Master指引指令,如下所示: <%@ Master Language=“C#" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> 在主版頁面可以擁有0至多個ContentPlaceHolder控制項,如下所示: <asp:ContentPlaceHolder ID="MenuContent" runat="server"> </asp:ContentPlaceHolder>

勾選【選擇主版頁面】,按【新增】鈕新增ASP.NET網頁,可以看到「選取主版頁面」對話方塊 11-2-3 建立內容頁面-建立 ASP.NET組成主版頁面的第二部分,就是套用主版頁面的內容頁面,即擁有Content控制項的ASP.NET網頁。 勾選【選擇主版頁面】,按【新增】鈕新增ASP.NET網頁,可以看到「選取主版頁面」對話方塊

11-2-3 建立內容頁面- 指引指令與Content控制項 內容頁面的ASP.NET網頁是使用Page指示指令來指定套用的主版頁面,如下所示: <%@ Page Title="Ch11_2_3" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.cs" Inherits="_Default" %> ASP.NET網頁實際內容是位在Content控制項,如下所示: <asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" runat="Server"> <p>巡覽控制項</p> </asp:Content>

11-2-3 建立內容頁面-範例網站 ASP.NET網站:Ch11_2_3 在ASP.NET網站已經建立MasterPage.master的主版頁面,我們可以在Visual Studio 新增ASP.NET網頁Default.aspx時,選擇套用此主版頁面,如下圖所示:

勾選【選擇主版頁面】,再套用其他主版頁面 11-2-4 巢狀主版頁面-建立 ASP.NET網站能夠建立多個主版頁面來定義不同的版面配置。不只如此,還可以建立主版頁面來繼承其他主版面頁的版面配置,也就是建立巢狀主版頁面,如下圖所示: 勾選【選擇主版頁面】,再套用其他主版頁面

11-2-4 巢狀主版頁面-指引指令 在巢狀主版頁面Frame.master是使用Master指示指令來指定上一層的父主版頁面,如下所示: <%@ Master Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Frame.master.cs" Inherits="Frame" %>

11-2-4 巢狀主版頁面-範例網站 ASP.NET網站:Ch11_2_4 在ASP.NET網站已經擁有名為MasterPage.master主版頁面,我們準備再新增名為Frame.master主版頁面,繼承MasterPage.master主版面頁的版面配置,然後建立Default.aspx選擇套用此主版頁面,如下圖所示:

11-2-5 動態載入主版頁面-說明 網站內容頁面除了使用Page指引指令來指定套用的主版頁面外,也可以動態載入主版頁面,換句話說,網站可以建立不同色彩和配置的主版頁面後,讓ASP.NET網頁使用程式碼來動態決定套用哪一個主版頁面。

11-2-5 動態載入主版頁面- Page_PreInit() ASP.NET網頁是在Page_PreInit()事件處理程序來動態載入主版頁面,如下所示: protected void Page_PreInit(object sender, EventArgs e) { Page.MasterPageFile = "Frame.master"; Page.Title = "動態載入主版頁面"; }

11-2-5 動態載入主版頁面-範例網站 ASP.NET網站:Ch11_2_5 此ASP.NET網站就是上一節的範例網站,只是刪除Default.aspx套用的主版頁面(去除MasterPageFile之設定),準備建立Page_PreInit()事件處理程序來動態載入主版頁面Frame.master,如下圖所示:

11-3 佈景與面板 11-3-1 佈景與面板的基礎 11-3-2 建立面板檔案 11-3-3 在ASP.NET網頁套用佈景 11-3-4 預設與具名面板 11-3-5 覆寫控制項的面板

11-3-1 佈景與面板的基礎-說明 對於ASP.NET網站來說,維護網頁色彩、字型和尺寸等一致外觀的顯示效果是一件十分重要的工作。傳統網站設計者只能使用層級式樣式表CSS(Cascading Style Sheets)來格式化網頁元素的字型、色彩或尺寸。 ASP.NET佈景可以取代CSS功能,它包含樣式屬性、CSS和圖片,可以套用在伺服端控制項、Web Form表單或整個ASP.NET網站。ASP.NET佈景的組成元素有:面板檔案、CSS檔案和圖片檔案。

11-3-1 佈景與面板的基礎-佈景 ASP.NET的佈景是一個資料夾,內含指定網站顯示效果的相關檔案,這是位在ASP.NET網站根目錄下,名為App_Themes的子目錄,稱為佈景目錄(Themes Directory)。 如果ASP.NET網站需要套用佈景,請先在Visual Studio 2015的「方案總管」視窗的網站目錄上,執行右鍵快顯功能表的「加入/加入ASP.NET資料夾/佈景主題 」指令建立此目錄,如右圖所示:

11-3-1 佈景與面板的基礎-面板 面板如同CSS樣式,它是控制項的外表,可以定義網頁元素的顯示外觀,事實上,每一個ASP.NET控制項都可以自行使用樣式屬性值來定義其顯示外觀。 ASP.NET的面板是定義在面板檔案,這是一個ANSI文字檔案,檔案名稱不需和佈景同名,只需副檔名為.skin即可,其內容就是包含樣式屬性的控制項標籤,只是沒有ID等屬性值。

11-3-2 建立面板檔案-說明 在ASP.NET的同一個佈景資料夾可以包含多個面板檔案,例如:替每一種控制項都建立專屬的面板檔案,雖然面板檔案有很多個,但是在執行ASP.NET網頁前,.NET Framework會先將位在佈景目錄下,所有面板檔案合併成一個檔案後,才套用到ASP.NET網頁,所以面板檔案的名稱並不重要,可以自行命名。

11-3-2 建立面板檔案-建立 選取「\App_Themes\MyTheme」子目錄,執行「檔案/新增/檔案」命令,可以看到「加入新項目」對話方塊。

11-3-2 建立面板檔案-面板檔內容 面板檔內容就是控制項標籤,標籤只有樣式屬性的外觀,並沒有ID屬性,如下所示: <asp:TextBox BackColor="Maroon" ForeColor="White" BorderStyle="Solid" runat="server"/> <asp:Button BackColor="Maroon“ ForeColor="White" Font-Bold="True" runat="server"/>

11-3-3 在ASP.NET網頁套用佈景-套用佈景 當建立好面板檔案後,就可以在ASP.NET網頁本身的Theme屬性來指定套用的佈景。請在「屬性」視窗上方選【DOCUMENT】,在【Theme】屬性欄選【MyTheme】佈景,如下圖所示:

11-3-3 在ASP.NET網頁套用佈景-範例網站 ASP.NET網站:Ch11_3_3 在ASP.NET網站已經建立名為MyTheme的佈景,現在我們準備在Default.aspx網頁套用此佈景,如下圖所示:

11-3-4 預設與具名面板-說明 在面板檔案的控制項標籤中,如果沒有SkinId屬性稱為預設面板(Default Skins),指定SkinId屬性稱為具名面板(Named Skins),其說明如下所示: 預設面板:自動套用在所有同種類的控制項,例如:套用在網頁的所有Label控制項。 具名面板:因為面板有指定名稱,所以面板只套用在相同SkinId屬性值的控制項。

11-3-4 預設與具名面板-標籤內容 在面板檔案的控制項標籤,如下所示: 2個Label控制項的第1個是預設面板,第2個是具名面板。 <asp:Label ForeColor="White" BackColor="Maroon" Runat="server"/> <asp:Label SkinId="RedLabel" Runat="server" ForeColor="White" BackColor="Red"/> 2個Label控制項的第1個是預設面板,第2個是具名面板。

11-3-4 預設與具名面板-範例網站 ASP.NET網站:Ch11_3_4 在ASP.NET網站已經建立名為MyTheme的佈景,內含Label.skin面板檔案,擁有預設面板、名為RedLabel、BlueLabel和GreenLabel的具名面板,現在我們準備在Default.aspx網頁套用此佈景,如下圖所示:

11-3-5 覆寫控制項的面板-說明 在上一節的範例,雖然Label控制項已經指定BackColor和ForeColor樣式屬性,但是樣式內容會被面板檔案的樣式所取代。 如果想在ASP.NET網頁指定樣式屬性來覆寫面板檔案的控制項樣式,此時套用佈景是使用StyleSheetTheme屬性。

11-3-5 覆寫控制項的面板-範例網站 ASP.NET網站:Ch11_3_5 此ASP.NET網站和上一節相同,只是在Default.aspx網頁再新增了一個Label控制項,且改為使用StyleSheetTheme屬性套用佈景,如下圖所示: