intermediate web design

35
INTERMEDIATE WEB DESIGN INTRODU CTORY CS S, J A VASC RIPT AND PHP

Upload: maree

Post on 23-Feb-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Intermediate web design. Introductory CSS, Javascript and PHP. Huh?. Instructor: Miles, TA/GA in Instructional Technology Please ask questions. I will try my best to answer them. If I can’t, I will get back to you. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Intermediate web design

INTERMEDIATE W

EB

DESIGN

I NT R O D U C T O R Y C

S S , JA V A S C R I P

T AN D P

H P

Page 2: Intermediate web design

HUH?

Instructor: Miles, TA/GA in Instructional TechnologyPlease ask questions. I will try my best to answer them. If I can’t, I will get back to

you.Ask questions via chat, microphone, whatever you’re most comfortable. You can raise

your hand to get my attention if I miss something.I hope to keep this under an hour, but this is the trial run, so I can’t promise anything.

Everything done in this workshop was tested on the Idrive space available to all GSLIS students. Other web hosts may vary.

Don’t get hung up on details. Look for connections and build on what you know.

Page 3: Intermediate web design

CRASH COURSESee applications of common web technologiesGet comfortable interacting with things you don’t necessarily

knowLearn basic structures, how to ask questions

• CSS• PHP• Javascript

Keep it simple. We are not producing a beautiful, finished web site. That takes more than an hour.

Page 4: Intermediate web design

DOWNLOAD THE FILES WE WILL USE TODAYI recommend following along with the slides, and then looking

at the actual files later.Download link:

http://courseweb.lis.illinois.edu/~mlincol2/workshop.zipYou can upload these files to your Idrive to test them yourself,

or look at the copy I have hosted at: http://courseweb.lis.illinois.edu/~mlincol2/workshop/

Software I use in the screenshots Cyberduck (SFTP Client) (Windows alternative: WinSCP) TextWrangler (Text Editor) (Windows alternative: Notepad++(?)) Firefox (Web Browser) with Firebug Extension (CSS Tool)

Page 5: Intermediate web design

GETTING STARTEDThe files we will create today index.php style.css menu.php

Page 6: Intermediate web design

CSS• Intended to simplify HTML• Clean up messy code• Unify styleDesignating individual style elements like font, size and color

for every HTML element wastes time and is difficult to manage

CSS simplifies this problem by letting you designate a style once, and link to that style multiple times

Content 1style

Content 2style

Content 1

Content 2

style

VS.

Page 7: Intermediate web design

HTML <font size="6"><span style="font-family: Arial; color: rgb(255, 0, 0);">This text is Arial, large. and red</span></font>

display This text is Arial, large. and red

Con: Must be repeated for every element

AKA in-line CSS

OLD WAY

Page 8: Intermediate web design

NEW WAYHTML <p class=“newspaper”>Paragraph text will be

gray and Helvetica.</p>CSS p.newspaper {

color: gray;font-family:”helvetica”;}

display Paragraph text will be gray and Helvetica.

Page 9: Intermediate web design

HOW IT’S ORGANIZED

Html file includes reference to External stylesheet (CSS) in the <head> tag

Denotes a text file named style.css stored in the subdirectory “css” within the main directory

Later, we will return to the <head> tag to include Javascript.

<head><link rel="stylesheet" href="css/style.css" type="text/css" />…

Page 10: Intermediate web design

TABLE-LESS WEB DESIGNCSS is also used for layouts:<table id="header"><tr><td>this is a header</td></tr></table>…

<div> elements:

Look at how much space is saved!General rule: don’t use a table unless you’re specifically

displaying spreadsheet type info

<div id="header">this is a header</div>…

Page 11: Intermediate web design

<DIV> ORGANIZATION CONT.Side by side columns using the float property, rather than tables

and columns

menu content

<div id=“div1”>menu</div> <div id=“div2”>content</div>

Page 12: Intermediate web design

<DIV> ORGANIZATION CONT.HTML:

CSS:

#div1 {Width:33%;Float:left;}

#div2 {Width:67%;Float:right;}

<div id=“div1”>menu</div> <div id=“div2”>content</div>

Great CSS templates here: http://www.thenoodleincident.com/tutorials/box_lesson/boxes.html

Page 13: Intermediate web design

LINKING HTML AND CSS

HTML CSS<div class=“class1”></div>

<div id=“id2”>

</div>

.class1 {

}#id2 {

}

Use “#” to style ID designators and “.” To style classes

Page 14: Intermediate web design

WHY CSS?Can be applied to any HTML elementAllows for flexible stylingEdit once, change all

Where you might see this: Modifying blog/CMS templates:

Wordpress, Tumblr, Drupal, etc.

Page 15: Intermediate web design

BASIC HTML TEMPLATEIndex.php<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><html><head><link rel="stylesheet" href="css/style.css" type="text/css" /><title>css example page</title></head><body>(this is where we will put our menubar with some links)

(here is some text we will style using css.)</body></html>

Page 16: Intermediate web design

ADD <DIV> TAGSIndex.php<html><head><title>css example page</title></head><body><div>this is where we will put our menubar with some links</div>

<div>here is some text we will style using css.</div></body></html>

Page 17: Intermediate web design

GIVE THE <DIV> TAGS A CLASSIndex.php…<div class=“menubar”>this is where we will put our menubar with some links</div>

<div class=“bodytext”>here is some text we will style using css.</div>…

Page 18: Intermediate web design

PREPARE OUR CSS FILEMain.css

.bodytext {

}

.menubar {

}

Page 19: Intermediate web design

ADD SOME STYLEMain.css

.bodytext {color:blue;font-size:200%;}

.menubar {font-family:arial;}

Page 20: Intermediate web design

USEFUL TOOL: FIREBUGFirefox extension that tells you which stylesheet is determining

an element’s style

Useful for complicated setups with multiple stylesheets or when multiple styles are applied to the same element.

Page 21: Intermediate web design

PHPServer-side scripting language Installed on the server Processes code embedded in your site

PHP Includes:Similar to CSS, allows you to create something once, use it

anywhere.Useful for areas that repeat on every page like headers,

footers, menubarsAdding a new link to the menubar is a one step process.

• CSS: centralizes style• PHP Includes: centralize content

Page 22: Intermediate web design

SERVER SIDE INCLUDES (SSI)HTML inserted into web page where you want the include to

appear:

Entire contents of an example include file:

In-line PHP call:<?php include('includes/footer.php'); ?>

copyright 2012, <a href="mailto:[email protected]">your name</a>

<footer id="contentinfo" class="body"> <br><div align="center">

<p>copyright 2012, <a href="mailto:[email protected]">your name</a></p>

</div></footer>

Page 23: Intermediate web design

CREATE OUR INCLUDE FILEMenu.php<ul><li>home link</li><li>about link</li><li>contact link</li></ul>

If I were creating a real site, these would be <a href=“link.com”>link</a>, but I truncated them to save space

Page 24: Intermediate web design

CALL THE INCLUDE FILEIndex.php…<div class=“menubar”><?php include(‘includes/menubar.php’); ?></div>

<div class=“bodytext”>here is some text we will style using css.</div></body></html>

Page 25: Intermediate web design

REPEATThe include file will appear on any page you call it.If you need to modify your menu, there is one central file to

change (the include file), and the changes will appear in every HTML page where that include is called (version control)

Page 26: Intermediate web design

JAVASCRIPTWriting your own code is hardRecycling someone else’s code is simple!We are using some Javascript from http://jscode.com/

js_random_image.shtmlLook for implementation examples, read code comments <<--… ## //

Page 27: Intermediate web design

SCRIPT LIVES IN TWO PLACES<html><head>(full script goes in the <head>)</head>

<body>(call to script goes in the <body>)<script language="JavaScript" class="bg">showImage();</script></body></html>

<head> includes full code<body> includes call to the code

Page 28: Intermediate web design

A LOOK AT THE CODE <HEAD><script language="JavaScript">// Set up the image files to be used.var theImages = new Array() // do not change this// To add more image files, continue with the// pattern below, adding to the array. Remember// to increment the theImages[x] index!theImages[0] = '200.jpeg'theImages[1] = '300.jpeg’// ======================================// do not change anything below this line// ======================================var j = 0var p = theImages.length;

var preBuffer = new Array()for (i = 0; i < p; i++){ preBuffer[i] = new Image() preBuffer[i].src = theImages[i]}var whichImage = Math.round(Math.random()*(p-1));function showImage(){document.write('<img src="'+theImages[whichImage]+'">');}</script>

200.jpeg

300.jpeg

Comments!

Page 29: Intermediate web design

TW

Page 30: Intermediate web design

A LOOK AT THE CODE <BODY><script language="JavaScript”>showImage();</script>

Page 31: Intermediate web design

IN REVIEWWe used CSS to style text on our website, and we can use it to

change the look of a large amount of content easily.We used PHP Includes to control content on our websiteWe used Javascript we found on the web to do a very simple

task

Page 32: Intermediate web design

BROWSER VIEW (FIREFOX)

Page 33: Intermediate web design

BROWSER VIEW (FIREFOX)

Menu created using PHP includes

Text styled with external CSS

Random image generated with Javascript

Page 34: Intermediate web design

WHAT IF I WANT TO LEARN SOMETHING ELSE?Google is your best friendStack Overflow and w3schools, are great resourcesCodeyear and other guided lessons

Page 35: Intermediate web design

QUESTIONS & COMMENTS & [email protected]@gslis_help_desk