CIS 1310 – HTML & CSS
Download
Report
Transcript CIS 1310 – HTML & CSS
7
More on Links, Layout &
Mobile
CIS 1310 – HTML & CSS
Learning Outcomes
Code Relative Links to Pages in Folders
Configure a Link to a Named Fragment in a Page
Configure Images with CSS Sprites
Configure a Three-column Page Layout Using CSS
Configure CSS for Printing
Configure CSS for Mobile Display
Use CSS3 Media Queries to Target Mobile Devices
CIS 1310 – HTML & CSS
Fragment Identifiers
Create a Link to a Specific Location on a Page
Example
< a href="#P4">A link to paragraph 4 in same document.</a>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
<p id=“P4”>Paragraph 4 content.</p>
id Attribute Value Must be Unique for that Page
Begin with a Letter
Spaces Not Allowed
CIS 1310 – HTML & CSS
HTML 5 Link Changes
Block Anchor
Block Display Elements can be Wrapped by an Anchor
<a href="http://somewebsite.com" >
<p>Some text inside a paragraph element.</p>
</a>
target Attribute
Open a Link in a New Window or Tab
<a href="http://www.cod.edu" target="_blank">COD</a>
CIS 1310 – HTML & CSS
HTML 5 Link Changes
Telephone Scheme
Initiates a Phone Call When Link is Clicked
<a href="tel:888-555-5555">Call 888-555-5555</a>
SMS Scheme
Initiates a Text Message When Link is Clicked
<a href=" sms:888-555-5555">Text 888-555-5555</a>
CIS 1310 – HTML & CSS
CSS Three Column Layout
Header Across Top
Three Columns Below
Navigation
Content
Sidebar
Footer Beneath
CIS 1310 – HTML & CSS
CSS Three Column Layout
Container
Left-column (Navigation)
float: right; width: 200px;
Center Column (Content)
float: left; width:150px;
Right-column (Sidebar)
Sets Background Color, Text Color, Typeface, & Width
Uses Remaining Real Estate
margin: 0 210px 0 160px;
Footer (Clears the Float)
clear: both;
CIS 1310 – HTML & CSS
Different Media
Style Sheet is Applied to All Devices
media Attribute Allows Sheet Definition for Specific Device
CIS 1310 – HTML & CSS
Print Style Sheets
Create Separate Style Sheet for Each Medium
<link rel="stylesheet" type="text/css" media=“screen" href=“reg.css" />
<link rel="stylesheet" type="text/css" media="print" href="prn.css" />
Create Separate Section for Each Medium
<style type="text/css“>
@media screen { /* The regular stuff. */ }
@media print {
{ background: #fff; color: #000; }
html { font: 100%/1.5 georgia, serif; }
#nav, #about { display: none; }
} </style>
CIS 1310 – HTML & CSS
Print Styles
size: width height orientation
page-break-before: always | avoid | left | right |
auto | inherit
page-break-after: always | avoid | left | right |
auto | inherit
orphan: value
Minimum Lines Forced to Remain on Bottom
widow: value
Minimum Lines Forced to Remain on Top
CIS 1310 – HTML & CSS
Print Styles Best Practices
Non-essential Content
#nav { display: none; }
Configure Font Size and Color for Printing
Use pt Font Sizes
Use Dark Text Color
Print URLs for Hyperlinks
#sidebar a:after { content: " (" attr(href) ") "; }
CIS 1310 – HTML & CSS
Mobile Web Design
Develop a New Mobile Site with a .mobi TLD
Create a Separate Website
Hosted Within Your Current Domain
Targeted for Mobile Users
Use CSS to Configure Your Current Website
Display for Both Mobile & Desktop Devices
CIS 1310 – HTML & CSS
Mobile Web Limitations
Small Screen Size
Content & Feature Prioritization
Larger Activation Areas Required for Touch
Portable Means Interruptions
Average Session 72 Seconds (Desktop = 150 Seconds)
Save State
Simplify Tasks
CIS 1310 – HTML & CSS
Mobile Web Limitations
Low / Variable Bandwidth
Coverage / Access Issues
Awkward Controls
Limited Processor & Memory
Cost Per Kilobyte
CIS 1310 – HTML & CSS
Mobile Web Design Best Practices
Layout
Single Column Design
Avoid Tables
Use Headings & Lists
Provide Labels for Form Controls
Eliminate Unneeded Images
CIS 1310 – HTML & CSS
Mobile Web Design Best Practices
Navigation
Located at Top of Page
Minimal
Avoid Popups
Avoid Opening New Windows
Provide “Skip To Content” Fragment Identifier
Provide “Back To Top” Fragment Identifier
CIS 1310 – HTML & CSS
Mobile Web Design Best Practices
Graphics
Avoid Images that Are Wider than the Screen
Avoid Large Images
Text
Good Contrast
Used Common Typefaces
Em or Percentage Font Size Units
http://www.w3.org/TR/mobile-bp/
CIS 1310 – HTML & CSS
Mobile Input Field Checklist
Should It Be There At All
Is This Field Absolutely Necessary?
Description
Is Label Above It? (Not Inside or Below)
Is Field Marked as Required (*) or Optional?
Have You Removed Placeholders From Inside the Field?
Visibility
Is Field Big Enough So Most Field Values Are Visible?
Visible In Both Orientations when Keyboard Displayed?
CIS 1310 – HTML & CSS
Mobile Input Field Checklist
Filling It In For the User
Are There Any Good Defaults for This Field?
Any History Available?
Frequently Used Values?
Can You Use Phone Features To Populate It?
GPS, Contacts
Can You Compute It for User Based on Other Info?
State Based on Zip Code
CIS 1310 – HTML & CSS
Mobile Input Field Checklist
Typing
Support Copy & Paste into the Field?
What Is the Right Keyboard for This Field?
Make Suggestions/Autocomplete Based on First Letters Typed?
Do Not Autocorrect for Names, Addresses And Email
Allow Typos or Abbreviations?
Allow Users To Enter It In Whatever Format They Like?
e.g., Phone Numbers, Credit Cards
CIS 1310 – HTML & CSS
Mobile Navigation
Image Grids vs. Text Lists
Text-Only Menu Items Require Less Vertical Space
User Often Sees Only 4 Grid Items at a Time
Should Keep All Navigation Options Visible
2 Screens vs. 4 Screens
CIS 1310 – HTML & CSS
Mobile Navigation
Image Grids vs. Text Lists
Text-Only List Menus Are More Flexible
Short Lists of Subcategories Expanded Via an Accordion
Does Not Require a New Page to Load
No Image Requests Slowing Down Page Load
Images Can Help Users Differentiate
Images Provides Larger Tap Targets
Images Allow Users to Skip Reading Altogether
CIS 1310 – HTML & CSS
Accordion List
Mobile Navigation
Image Grids vs. Text Lists
Images Must Contain Helpful Details
Optimize for More Images per Scroll
Images Do Not Provide Detail
2 Images Better Than 1
CIS 1310 – HTML & CSS
Mobile Navigation
List Thumbnails
CIS 1310 – HTML & CSS
Mobile Navigation
Accordions
Expands In Place To Expose Some Hidden Information
Push Page Content Down
CIS 1310 – HTML & CSS
Mobile Navigation
Accordions
Benefits
Users Get Big Picture Before Focusing on Details
In-Page Table of Contents
Tells Users What Page Contains
Determine Whether Information Likely to be Relevant for Goals
Helps Users Form Mental Model of Page and, Potentially, Site
Collapsing Each Step in a Form
Effective Way to Convey Workflow without Overwhelming User
CIS 1310 – HTML & CSS
Mobile Navigation
Accordions
Difficulties
Disorientation
Users Think They Navigated to a New Page
Will Often Try to Use Back Button to Go Back
Scrolling to Find Next Option
CIS 1310 – HTML & CSS
Meta Viewport
Default Action for Most Mobile Devices
Zoom Out & Scale Web Page
Meta Viewport
Created as Apple Extension for Mobile Device Displays
Configures Width & Initial Scale of Browser Viewport
<meta name="viewport" content="width=device-width,initial-scale=1.0“ />
CIS 1310 – HTML & CSS
Media Queries 3
Determines Capability of Mobile Device
Directs Browser to Styles
e.g., Screen Resolution
Configured Specifically for Those Capabilities
color, color-index, aspect-ratio, device-aspect-ratio,
device-height, device-width, height, monochrome,
orientation, resolution, width
Most have min/max Prefix
CIS 1310 – HTML & CSS
Media Queries 3
Apply to Devices with at Least 256 colors
<link rel="stylesheet" media="all and (min-color-index: 256)"
href="http://foo.bar.com/stylesheet.css" />
Apply to Devices when Screen is < 800 px Wide
<link rel="stylesheet" media="screen and (max-device-width:
799px)" />
Apply to Devices when Viewport is 500-800 px Wide
@media screen and (min-width: 500px) and (max-width: 800px)
{ ... }
CIS 1310 – HTML & CSS
Responsive Web Design
Dynamic Site Changes
Based on Screen Size & Orientation
Desktop, Smartphone
Hiding Content / Functionality or Altering Appearance
Based on Knowledge About Your Users & Their Needs
Desktop
CIS 1310 – HTML & CSS
Tablet
Smartphone
Flexible Box Layout
Configured Horizontally or Vertically
Can Change Order of Display
Properties
flex-basis: #;
flex-grow: #;
Specifies Initial Length of a Flex Item
Specifies How Much Item Grows Relative to Other Flex Items
flex-shrink: #;
Specifies How Much Item Shrinks Relative to Other Flex Items
CIS 1310 – HTML & CSS
Flexible Box Layout
Properties
flex-direction: row | row-reverse | column | columnreverse;
flex-wrap: nowrap | wrap | wrap-reverse;
Specifies Direction of a Flex Item
Specifies Whether Flex Items Should Wrap or Not
align-content: stretch | center | flex-start | flex-end |
space-around | space-between;
For Vertical Flex Items
Items Stretch to Fit, Centered, Positioned at Beginning, End,
With Space Before & After Items, With Space Between Items
CIS 1310 – HTML & CSS
Flexible Box Layout
Properties
align-items: stretch | center | flex-start | flex-end |
baseline;
align-self: stretch | center | flex-start | flex-end | spacearound | space-between;
Specifies Default Alignment for Flex Items
Specifies Alignment for Selected Flex Item
justify-content: flex-start | flex-end | center | spacearound | space-between;
For Horizontal Flex Items
Items Positioned at Beginning, End, Centered, With Space
Before & After Items, With Space Between Items
CIS 1310 – HTML & CSS
Flexible Box Layout
Properties
order: #;
Specifies Order of Flex Item
flex-start
flex-end
center
CIS 1310 – HTML & CSS
spacebetween
spacearound
stretch