<!-- the content --> <div id=content> <!-- the footer --> <div id=footer> * 主要的佈局 CSS 元素如下 ( 僅列出結構元素, 其餘樣式省略 ): #wrapper { margin-right: auto; margin-

Similar documents
5-1 nav css 5-2

Chapter V.S. PC

bootstrap - 2

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

week06.key

CH15.indd

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

互動網頁技術系列課程 HTML與CSS網站基礎設計 [12pt]

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

- 可串接許多條件判斷 <link rel=stylesheet media="screen and (orientation: portrait) and (min-width: 800px)" href=800wide-portrait-screen.css> - (

<img>

XHTML width/height bdo a code href object charset codebase hreflang archive lang type alt dir name name xml:lang rel/rev align shape/coords hspace/vsp

大漠 伪前端, 就职于淘宝

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

Chapter 1 什麼是響應式 網頁設計?

F477

A-2 l 跨裝置網頁設計 A-1 <frameset> <frame> <noframes> (frame) HTML (navigation bar)

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

CU0594.pdf

A-1 HTML A-1-1 HTML 1 HTML JSP HTML HTML HTML JSP A HTML HTML HTML HTML HTML HTML HTML HTML.htm.html HTML Windows NotePad HTML IE [ / ] NotePad A-2

XP11067_內文.pdf

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

WordPress OSSF OSSF is Seeking Software Freedom 1 blog WordPress WordPress WordPress WordPress 2 WordPress WordPress is a state-of-the-art semantic pe

- 轉換 (Transformation) 則定義狀態的內涵 - 二維轉換 (2D transformation), 有下列轉換方式 : * translate: 平移, 例如向右平移 40px 距離 :transform: translate(40px, 0); * scale: 縮放, 例如縮小

# 註 : 若 <body> 崩潰, 則需在 <aside> 與 #content 加上 display: inline-block; - 背景漸層 (Background gradient) * 線性 (Linear) 背景漸層 # 語法 : background: linear-gradient

Chapter 位元素04 定放棄在網頁版面中使用表格, 是 Web 標準的關鍵之一 其實表格使用的目的不在此, 它應該是用來顯示格狀資料, 就如同 Excel 的工作表一樣 不過, 在 CSS 發展以前, 我們習慣用表格來建立一個有格狀的網頁, 讓元素有組織的排列在上, 而且使用一些像間隔圖片 (

Microsoft Word - 最新正文.doc

吉安人事招聘网2012年江西省面向村干部招考300名公务员(2013年1月13日

投影片 1

Microsoft Word PHPCh15.docx

HTML5 & CSS3 色彩 背景與漸層屬性 12-1 (color property) CSS 3 color HTML opacity HTML CSS Color Module Level 3 W3C CSS

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

F477

1. 2. Flex Adobe 3.

第 1 列 的 按 鈕 從 Albatross ~ Duck 1, 第 2 列 按 鈕 從 Eagle ~ Hawk 2, 第 3 行 按 鈕 從 Ibis ~ Lark 3, 而 只 有 第 3 列 按 鈕 多 設 定 span 元 素 ( 理 由 後 面 會 詳 細 說 明 ) html 具 h

1 請 至 下 載 Google Earth 6.0 版 圖 6-1: 下 載 畫 面 2 開 啟 Google Earth, 認 識 Google Earth 的 基 本 介 面 2. 搜 尋 1. 主 功 能 選 單 5. 工 具 列 6 導 航

《linux从入门到精通》实验指导第三讲:文件及目录操作

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

final

AutoCAD 用戶如何使用 ArchiCAD

week04.key

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

天仁期末個人報告1.PDF

a { color: black; text-decoration: none; transition-property: font-size, color, text-shadow; transition-duration: 2s, 3s, 8s; - 練習 : 修改 oscar6-3.html

《linux从入门到精通》实验指导第三讲:文件及目录操作

nav ul li:not(.internal) a { - 如下修改 oscar5-3.html 及 oscar5-3.css, 並另存新檔為 oscar6-1.html 及 oscar6-1.css * HTML: 修改 CSS 連結 <link rel=stylesheet href=css/

untitled

系所名稱 證照代碼 證照名稱 國內 / 級數 / 分國外數 證照類別 發照單位 Adobe Certified Associate in Web Communication Adobe Certified Associate in Web Communication using A

标题

Business Objects 5.1 Windows BusinessObjects 1

Microsoft Word - ch02.doc

泰州招聘365bet博彩网站三亚海棠湾东方的迪拜回归年少的童真快乐

投影片 1

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

jQuery Mobile

超連結 03 URI (Universal Resource Identifier) URI Web URL (Universal Resource Locator) URI URI :// [: ]/ [/ 2...]/

1 行 业 发 展 不 平 衡 我 国 房 地 产 中 介 服 务 业 起 步 较 晚, 专 业 分 工 程 度 和 国 外 发 达 国 家 相 比 还 有 很 大 差 距 房 地 产 中 介 服 务 行 业 的 发 展 水 平 与 房 地 产 开 发 行 业 的 市 场 化 水 平 密 切 相 关

汇集全球21位医生的经验和智慧,总结出最实用的专业建议,这些都是最值得你牢记的健康提醒

RUN_PC連載_8_.doc

《linux从入门到精通》实验指导第三讲:文件及目录操作

Microsoft Word - Ch06.docx

《linux从入门到精通》实验指导第三讲:文件及目录操作

使用 CSS+Div 布局网页 实训目的 常见网页布局方式有表格布局 框架布局和使用 CSS+DIV 布局等方式 使用 CSS+DIV 布局网页, 真正实现内容与形式的分离, 具有页面代码整洁清晰, 多线程加载等特点, 网页浏览速度更快, 因此成为目前网页布局的主流技术 熟练掌握 CSS+DIV 布

Microsoft Word - 改版式网页全文.doc

Microsoft Word - ACI chapter00-1ed.docx

校园之星

可 Web 编程的NativeUI 设计与实现

untitled

上海浦~1

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

投影片 1

Microsoft PowerPoint - HTML(3)

css-03.pdf

QUESTION BANK UPDATED FOR STUDENT ONLY.xls

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

RUN_PC連載_10_.doc

标题

Advanced PHP Programming

XML/DTD (1) XML (Markup) SGML HTML XML XML XML 2004/7/ All Rights Reserved 2

無障礙網頁開發規範二版(草案)

<4D F736F F D20AE61AC462DBFAFADB9AD70B565BB50BB73A740B1D0AED7>

(Pattern Recognition) 1 1. CCD

2012年报.xls

Microsoft Word 样章.dot

現任職於 D-Link 網路服務處 在 D-Link 現有的網路設備上 建立服務 強化與使用者的關聯性

Windows 10 在數位轉型下 所扮演的重要角色暨安全功能介紹

全民阅读活动

Microsoft PowerPoint - Ch00-4-XHTML.ppt [相容模式]

ebook60-13

coverage2.ppt

Chapter 01 Chapter 02 Chapter 03 Chapter 04 LOGO Chapter 05 Chapter 06 LOGO 005

Dreamweaver CC 网页设计实战从入门到精通 视频教学版 15.1 整体布局 电子商务类网页主要实现网络购物 交易 所要体现的组件相对较多 主要包括产 品搜索 账户登录 广告推广 产品推荐 产品分类等内容 本实例最终的网页效果如 图 15-1 所示 图 设计分析 电

DocHdl1OnPPMtmpTarget

HTML CSSHTML CSS 4

2. 使用层叠 当有多个样式表时, 有一个层次来定义将这些样式表应用到 (X)HTML 的顺序 同时, 针对不同的应用方法, 同样存在一个顺序, 这个顺序就是 层叠 下 : 对于应用 CSS 的不同方法 内联 内嵌 外部和导入, 其层叠顺序描述如 浏览器首先执行内联规则, 然后执行所有的内嵌规则,

基于UML建模的管理管理信息系统项目案例导航——VB篇

Microsoft PowerPoint - 14 jQuery App 開發

Transcription:

第 3 章 流動佈局 (1) 網頁佈局規劃的沿革 - 早期, 大多利用表格 (Table) 規劃佈局 (Layout) * 很難撰寫, 修改困難 - 接著, 區域長寬度以比例設定, 例如 : 左方欄 20%, 內容 80% * 不同螢幕寬度或瀏覽器會造成非常不一樣的呈現結果 ( 寬螢幕造成變形 ) - 然後, 利用像素來設定區域寬高 * 由於螢幕是以像素組成, 因此以像素來固定區域長寬度, 可以使所有螢幕或瀏覽器呈現相同結果, 終於解決呈現不同的困擾 * 網頁寬度大多以螢幕最小寬度為準 ( 約 1,000 像素 ) * 但手持裝置出現, 打破了這個理想狀態 - 近期回應式網頁的需求 * 查詢視域像素, 再設定不同視域的彈性頁面結構 * 問題 : 若視域尺寸在所設定的門檻之間, 頁面還是會產生捲軸 - 未來回應式網頁的需求 * 未來可能各種視域都會出現, 以像素計算並設定門檻方式還是太過粗糙 * 終極解決方案 : 回到 比例設定 方式, 讓頁面元素相對於視域尺寸而縮放, 直到另一個媒體查詢修改樣式 流動佈局 (Fluid layout) (2) 比例設定公式 - 將固定寬度像素轉換為百分比例的公式 ( 結果寬度 = 目標物寬度 / 環境寬度 ): result = target / context - 將 得獎者不是 網頁佈局改為流動百分比例設定 * 初始之 HTML 如下 : <!-- the wrapper --> <div id=wrapper> <!-- the header and navigation --> <div id=header> <div id=navigation> <ul> <li><a href=#> 為什麼?</a></li> <li><a href=#> 劇情簡介 </a></li> </ul> <!-- the sidebar --> <div id=sidebar> 3-1

<!-- the content --> <div id=content> <!-- the footer --> <div id=footer> * 主要的佈局 CSS 元素如下 ( 僅列出結構元素, 其餘樣式省略 ): #wrapper { margin-right: auto; margin-left: auto; width: 960px; #header { margin-right: 10px; margin-left: 10px; width: 940px; #navigation { margin-top: 26px; margin-left: -10px; padding-right: 10px; padding-left: 10px; padding-bottom: 25px; width: 940px; #navigation ul li { display: inline-block; #sidebar { margin-top: 58px; padding-right: 10px; margin-right: 10px; margin-left: 10px; float: left; width: 220px; border-right-color: #e8e8e8; border-right-style: solid; border-right-width: 2px; #content { margin-top: 58px; margin-right: 10px; float: right; width: 698px; #footer { margin-top: 20px; margin-right: 10px; margin-left: 10px; float: left; clear: both; width: 940px; * 將 oscar2-4.html 與 oscar2-4.css 分別另存新檔為 oscar3-1.html 與 oscar3-1.css, 並修改 html 裡的 <link href=oscar3-1.css> 元素 * 目前所有的距離設定均使用像素, 現在從最外圍元素改成以百分比例設定 - 設定外圍區塊 wrapper * 我們需要一個能夠容納所有比例元素 (content, sidebar, footer, ) 的環境, 亦即 wrapper 區塊的寬度必須與視域尺寸相關 ( 有兩處 ): #wrapper { width: 96%; * 目前若視域較寬時,sidebar 及 content 會分別向左右流動, - 設定其他區塊 * 原先 wrapper 寬 960px, 現將各個區塊的寬度依其原寬度除以 wrapper 原寬度的方式 改為比例值 : #header { width: 97.9166667%; /* 940/960 */ #navigation { width: 97.9166667%; /* 940/960 */ #content { width: 72.7083333%; /* 698/960 */ 3-2

#footer { width: 97.9166667%; /* 940/960 */ * 因 sidebar 尚有 2px 寬的邊界, 擬設定此邊界為固定, 因此區塊的原寬度為 218: #sidebar { width: 22.7083333%; /* 218/960 */ * 設定所有的 10px 寬度為 1.0416667%; /* 10/960 */ * 設定 navigation ul li a 的 25px 寬度 : margin-right: 2.6595745%; /* 25/940 */ * 在 navigation ul li 加上 25px 之按鈕間隔 : #navigation ul li { margin-right: 2.6595745%; /* 25/940 */ * 以 1,000px 寬度視域檢視如右圖 (3) 活版印刷 以 em 為單位 - 網頁文字的尺寸單位 * 早期網頁設計者以 em 為網頁文字大小的單位, 因為當時瀏覽器不支援像素單位 # em: 活版印刷 (Typography) 裡的文字寬度單位,1 em 就等於目前環境所設定的文字大小 (em: equal to the width of the capital "M") * 瀏覽器開始支援像素單位後, 許多人就以像素為單位 * 使用 em 的優點 : 非常方便 # 例如 : 如果網頁設定 <body> 的字體尺寸為 100%, 所有文字均使用 em, 日後如果要改變字體大小, 就只要改 <body> 的字體大小, 其餘文字就會自動按比例縮放 - 將 oscar3-1.html 與 oscar3-1.css 分別另存新檔為 oscar3-2.html 與 oscar3-2.css, 並修改 html 裡的 <link href=oscar3-2.css> 元素 * 將所有以 px 為單位的字體設定全改為 em * 目前所有現代瀏覽器的預設字體大小都是 16px, 因此下列設定 <body> 字體大小的方式均得到相同結果 font-size: 100% font-size: 16px; font-size: 1em; * 將 px 改為 em, 並依比例計算 height: 2.625em; /* 42/16 */ line-height: 1.5555555em; /* 42/27 行高設定為直接與字體大小關聯 */ font-size: 1.6875em; /* 27/16 */ #logo { 3-3

font-size = 3em; /* 48/16 */ #content h1 { font-size: 2.125em; /* 34/16 */ #content h1 span { line-height: 1.4285714em; /* 40/28 行高設定為直接與字體大小關聯 */ font-size: 0.8235294em; /* 28/34 外部環境 (#content h1) 字體大小為 34px */ (4) 流動影像 - 流動影像 (Fluid image) * 讓影像的大小自動與包含它的元素尺寸一樣 img { max-width: 100%; * 其他多媒體亦同 img, object, video, embed { max-width: 100%; * 此法雖然能自動縮放影像, 但下載影像的資料量還是一樣 * 影像尺寸在最大視域呈現時應該還是能呈現良好品質 - 將 oscar3-2.html 與 oscar3-2.css 分別另存新檔為 oscar3-3.html 與 oscar3-3.css, 並修改 html 裡的 <link href=oscar3-3.css> 元素 * 在 CSS 檔加入 img { max-width: 100%; * 因目前 #sidebar 裡的影像均明確設定寬度及高度 (width="99" height="135"), 故設定 maxwidth: 100%; 並不會產生效果, 需將所有影像的寬高度均刪除 <a ><img src="img/midnightrun.jpg"></a> <a ><img src="img/wyattearp.jpg"></a> <a ><img src="img/moulinrouge.jpg"></a> <a ><img src="img/kingkong.jpg"></a> * 結果如下圖 (a), 影像已自動填滿整個 #sidebar 區域的寬度, 但我們需要兩個檔案並列, 可以在 CSS 中設定寬度比例, 結果如下圖 (b).sideblock img { max-width: 45%; 3-4

(a) * 既然 #sidebar 已設定影像自動縮放, 影像 oscar.png 的寬高度設定即可刪除, 取而代之也是設定其依照比例自動縮放 HTML: <img class=oscarmain src=img/oscar.png> CSS:.oscarMain { width: 28.9398281%; /* 698 202 */ * 另一問題, 縮放頁面時,oscar.png 可能變得很大而顯得難看, 如下圖 (a), 因其原始寬度為 202px, 因此可以設定其最大寬度, 以避免縮放過大, 結果如下圖 (b).oscarmain { max-width: 202px; (b) (a) * 此外, 為防止各個元素無限制地放大, 也可以設定 #wrapper 的最大寬度如下, 也就是說,#wrapper 設定為視域的 96% 寬, 但最大寬度僅到 1414px #wrapper { width: 96%; max-width: 1414px; (5) 回應式影像 - 回應式影像 (Responsive image): 依據視域大小提供不同影像尺寸, 主要技術 : * Matt Wilcox 適應性影像 (Adaptive image) # 系統動態產生適當的影像尺寸, 網頁設計師不需要事先產生各種尺寸的影像 # 環境需求 :Apache 2 PHP 5.x GD Lib (b) 3-5

* Scott Jehl 的圖片填充 (Picturefill) # HTML: <head> <meta name=viewport content="width=device-width,initial-scale=1"> <script src=js/matchmedia.js></script> <script src=js/picturefill.js></script> </head> <body> <span data-picture> <span data-src=img/small.jpg></span> <span data-src=img/medium.jpg data-media=(min-width:400px)></span> <span data-src=img/large.jpg data-media=(min-width:800px)></span> <span data-src=img/extralarge.jpg data-media=(min-width:1000px)></span> <!-- Fallback content for non-js browsers. Same img src as the initial, unqualified source element. --> <noscript> <img src=img/small.jpg alt="a giant stone face at The Bayon temple in Angkor Thom, Cambodia"> </noscript> </span> # JavaScript: matchmedia.js, picturefill.js # Images: small.jpg (180x240), medium.jpg (375x500), large.jpg (480,640), extralarge.jpg (768x1024) * HTML5 ( 期待中 ): <picture id=images> <source media=(min-width:45em) srcset="large1.jpg 1x, large2.jpg 2x"> <source media=(min-width:18em) srcset="medium1.jpg 1x, medium2.jpg 2x"> </picture> - 在 oscar3-3.html 將 oscar.png 影像設為回應式 * 在 <head> 元素中加入 <meta name=viewport content="width=device-width,initial-scale=1"> <script src=js/matchmedia.js></script> <script src=js/picturefill.js></script> * 建立 js 子目錄, 並將 matchmedia.js picturefill.js 兩檔案複製至該目錄 * 將 oscar.png 重新命名為 oscarlarge.png, 利用影像編輯器 ( 例如 :Gimp) 產生 oscarmedium.png (150x394) 與 oscarsmall.png (100x263) 兩影像 * 將原先的 <img class=oscarmain src=img/oscar.png> 如下修改 : <div id="content"> <span class=oscarmain data-picture data-alt= 奧斯卡金人 > <span data-src=img/oscarsmall.png data-media=(min-width:400px)></span> <span data-src=img/oscarmedium.png data-media=(min-width:600px)></span> <span data-src=img/oscarlarge.png data-media=(min-width:768px)></span> <noscript> <img src=img/oscarsmall.png alt= 奧斯卡金人 > </noscript> </span> <h1> 每年 <span> 我觀賞奧斯卡金像獎頒獎典禮時, 都覺得很生氣 </span></h1> (6) 字體大小配合視域調整 - 將 oscar3-3.html 與 oscar3-3.css 檔案分別複製為 oscar3-4.html 與 oscar3-4.css, 並將 3-6

oscar3-4.html 裡的 css 連結改為 <link href=oscar3-4.css> - 將 @media (max-width: 768px) 元素中的區塊 px 寬度改為比例計算 #navigation { border-top-width: 0.5208333%; /* 4/768 */ padding-top: 2.6041667%; /* 20/768 */ #content, #sidebar { margin-top: 2.6041667%; /* 20/768 */ padding-right: 1.3020833%; /* 10/768 */ padding-left: 1.3020833%; /* 10/768 */ width: 94.791666%; /* 728/768 */.oscarmain { margin-right: 3.90625%; /* 30/768 */ margin-top: 0%; width: 19.53125%; /* 150/768 */ height: 51.3020833%; /* 394/768 */ #sidebar { padding-top: 2.6041667%; /* 20/768 */ margin-bottom: 2.6041667%; /* 20/768 */.overhyped { margin-top: 0%; margin-left: 6.5104167%; /* 50/768 */ - 將 @media (max-width: 768px) 元素中的行高 px 單位改為 em line-height: 3.75em; /* 60/16 */ font-size: 40px; - 可在 CSS 中加上更多範圍與字體樣式 : 刪除 #navigation ul li a 中之字體設定, 並加入其他媒體查詢字體設定 : font-size: 40px; @media screen and (min-width: 1001px) and (max-width: 1080px) { font-size: 1.4em; @media screen and (min-width: 805px) and (max-width: 1000px) { font-size: 1.25em; 3-7

@media screen and (min-width: 769px) and (max-width: 804px) { font-size: 1.1em; 3-8