1. week 1
  2. week 2
  3. week 3
  4. week 4
  5. week 5
  6. week 6
  7. week 7
  8. week 8
  9. week 9
  10. week 10
  11. week 11
  12. week 12
  13. week 13

Wednesday, November 14, 2007

Fall 2007

week 9: 11/14

Hi everybody, Everything we do in class from here on out, all the classwork and all the homework, will be geared to producing your final project. From here on out, everything I assign as homework, you will be able to use directly in the project you turn into me the last day of class. This week's homework is PART I of your final project. Therefore, if you do not do your homework, you're actually hurting the chance that your final project will receive an A or B. This final project consists of a small web-site of six (6) pages of content. This does not mean six html files, no, but six pages OF CONTENT. There may be other files that you will produce that do not contain any content (or very little), such as the frameset files I introduced last night, or the navigation file with the links—the .html file that contains the menu navigation does not officially count as a page of your site even if the links are technically content. Carter-
  1. TOPICS:
    1. Final Project;
      • LINK   Content Requirements;
      • LINK   Technical Requirements;
      • LINK   Design Requirements;
    2. Classwork:
      1. Review:
        • LINK   Creating a simple table;
        • LINK   Modifying the table;
        • LINK   Adding colspan;
        • LINK   Adding CSS styles—using an embedded stylesheet for the background color, margins, and links.
      2. Introduce:
        • LINK   Using CSS Class Selectors;
        • LINK   Creating HTML Framesets;
        • LINK   Using the Frame Tag;
  2. HOMEWORK Final Project, Part I: Starting this week, the homework for each class is part of the final project. It is not extraneous to what you will be required to do and what will be due the last day of class. If you produce your homework each week, you will be largely finished with the project well before it is due.
    1. Create the Introductory Page for the final project website. See the downloads below for more information.     Since you're creating the first 'page' of the site, and since this site MUST make use of a frameset, you must create a frameset document and a navigation document as well. Therefore, the actual Introductory Page will fit into the larger frame of your frameset when you open everything up.
    2. QUIZ next week covering CSS. Review the questions from last week's post as well as those from the posts of the following weeks:     from week 6 and week 2.
    3. Create a new HTML Document as the directions below indicate and which employs an EMBEDDED STYLESHEET: Click here: LINK; Instead of using orange and red, however, use blues and greens
  3. FINAL PROJECT
    • LINK   click here for information about the Final Project, or read below. Starting this week we will be working on the final project which is a website for a Children's Book Writer, Bruce Goldstone. Please read the information provided, and click on the links to download additional information and the images.
    • LINK   images 1 click here and below to download images. PLEASE NOTE These are very large files.
    • LINK   images 2
    • LINK   images 3
    • LINK   images 4
    • LINK   images 5
    • LINK   images 6
    1. CONTENT REQUIREMENTS: 
      1. Page 1: INTRO PAGE—this page includes some kind of appropriate imagery of your choice. In this page, you should establish the color scheme that you will use throughout your design for this site. You should also establish ‘the look’ you are going for with the sort of imagery you choose and the fonts you select.
        1. In addition to the imagery here, and the links, we should also see the name of the website Bruce_Goldstone.com.
        2. It should say somewhere that he is a children's book writer.
        3. You should also place an image from his new book (all the images that I gave you are from the same book—Great Estimations).
        4. Also necessary, is the the title of the new book, Great Estimations.
        5. And finally, in addition to all of this in the Intro page, you also need to mention that it is available in bookstores everywhere.
      2. Page 2: 'ABOUT BRUCE' PAGE—this page includes one image of the author, and text about him (to be furnished at a later time). The main thing you need to know about him right now to start your site is that he is a children’s book author.
      3. Page 3: 'HIS BOOKS' PAGE—This page includes a thumbnail image of each book (all of which you can download online; and, the thumbnail should also be clickable to get to a larger image that pops up in a different window) along with the following text.
        • Great Estimations (his latest book)—thanks to jaw-dropping color photos, the author, Bruce Goldstone, lays out a mixed assemblage of toys, pipe cleaners, marbles, peanuts, and other small items. He helps viewers train themselves to estimate the size of groups of about 10 things on sight, then goes on to present similar, often fetchingly arranged, materials by hundreds and (!) thousands. He also describes "clump counting" and "box and count" methods, offering pages chock-full of plastic bugs ("It isn't gross--it's a gross."), dog and cat stamps, a penguin colony, tiny rice grains, a bowl of jellybeans, and more. Including hints for each exercise, and frequent reminders that the goal is a "reasonable estimate," not an exact number, this book lends itself equally well to skill building and to casual reading.
        • The Beastly Feast—The centerpiece is arranged and the table is set, ready for The Beastly Feast. Fishes bring knishes, puffins come bearing muffins, and mosquitoes bring burritos as the guests prance and zip across the pages to this deliriously raucous food fest. Young readers will delight in the chaos that ensues when the flies' pie crashes onto the festive table loaded with parrots' carrots, antelopes' cantaloupe, and other potluck dishes. They also will find it hard to resist manipulating the delicious word pairs and adding their own silly rhymes. Goldstone has created a rhyming story with a minimum of words that may remind readers of Bill Martin's Chicka Chicka Boom Boom (S & S, 1989) in its exuberant beat and topsy-turvy outcome. It is Lent's fabulous illustrations, however, that place this book in its own unique class. The artist made his own paper and then printed it with colorful patterns using cut cardboard and linoleum. The resulting lively collages and layout convey a sense of movement and excitement. The rich visual details nicely balance the simple words and add complexity to an otherwise straightforward plot. This collaboration is cause for celebration; The Beastly Feast will give youngsters lots of reasons to rejoice.
        • Ten Friends—"If you could ask 10 friends to tea, tell me who your friends would be," begins Goldstone's rollicking, rhyming approach to addition and multiplication. In each of 10 spreads, the unseen narrator suggests different combinations that add up to 10, which Cahoon (Word Play ABC) interprets in vibrantly saturated spreads of an anthropomorphized menagerie. A rose-hued stage scene featuring a sextet of flamingos en pointe, partnered with four leaping frogs, for instance, illustrates the equation 6 + 4; while 8 + 2 translates into eight mouse tailors cavorting among spools and thread, joined by two plunger-toting elephant plumbers. Whenever the equations lengthen beyond two addends, the rhyming text takes on jovial patter-song silliness: "How about 1 prince, 1 painter, and 2 potters, 1 diner, 1 miner, 1 major, and 3 otters?" Finally, the book offers up the cumulative possibility of what would happen "if ALL your friends show up": it's the number 100, the magnitude of which is driven home by a page filled with thumbnail portraits of every one of the participants. Exuberantly stylish, this painless introduction to the power of 10 should prove to be many aspiring mathematicians' cup of tea.
        • Bip in a Book—Marcel Marceau's genius for the art of silence has astonished and delighted audiences of all ages for more than 50 years. Bip is Marceau's beloved alter ego, a hapless clown with unlimited curiosity and compassion. Since his debut in 1947, Bip has bravely explored every imaginable location, from a skating rink to a lion cage. But he has never been trapped inside the pages of a book... until now. In Bip in a Book, this richly evocative drama is reinterpreted for a new generation. Once again Marceau's famous innocent is trapped, but this time he is confined not by an imaginary cage, but by a page. Dressed in his signature striped pullover and battered opera hat, Bip is happily oblivious to his plight until he walks smack into the right edge of the page. As the reader turns the pages, Bip's imaginative exploration of this unexpected situation is told through 32 vivid photographs, each underscoring Marceau's outstanding gift of expression. Anyone who loves the theater will cherish these playful photographs of a modern master at work, but even readers who have never seen Bip will be drawn to the creativity and suspense of this one-of-a-kind story.
        • Why is Blue Dog Blue?—for years Blue Dog's bold blueness has captivated adults. Now children get to join in the fun when they open this vibrant book, which finally answers the question we've all wondered about since we first met Blue Dog's riveting stare: Why is Blue Dog blue? Blue Dog's creator, George Rodrigue, takes readers on a playful tour of his unique color world. In it, he combines preposterous puns with all-new whimsical Blue Dog silkscreens to go where other color guides are too yellow-bellied to tread. Readers of all ages will giggle as Blue Dog changes color from red or green to auburn or chartreuse. By the end of the book, they will see that the artist's reasoning is both logical and magical: Blue Dog simply had to be blue.
        • A Gnome’s Christmas—When a mysterious greenwood box is discovered in the rafters of an old barn in northern Finland, it is found to contain tiny bundles of paper, each revealing remarkable descriptions of the Christmas rituals of the gnomes. In every gnome home around the world, Christmas lasts an entire month, and it signals the coming of a new year, which the gnomes ring in with a blessing: "May this year be full of proud deeds and silly games, beautiful songs and hearty feasts, clever jokes, loving friends, and enough surprises to keep us on our toes."     Following in the tradition of Gnomes (which sold one million copies), The Complete Gnomes, and The Secret Lives of Gnomes, A Gnome's Christmas is the latest study on the lives and cultural habits of gnomes. This delightful book features songs, stories, games, and recipes for holiday treats, as well as captivating artwork by celebrated artist Rien Poortvliet. Including a special holiday ornament, A Gnome's Christmas is a must-have for gnomeophiles and Christmas fans of all ages.
      4. Page 4: IMAGE GALLERY PAGE—a whole series of photographic images used in his latest book placed in a thumbnail gallery. These thumbnails should be clickable to get to larger versions of the same images that pop up in a new window.
      5. Page 5: FORM I PAGEMailing List (form) Page, specific form elements to be given at a later date.
      6. Page 6: FORM II PAGEOrder Information (form) Page, specific form elements to be given at a later date.
       
    2. DESIGN REQUIREMENTS: 
      1. Color Scheme—you must choose a color scheme for your web-site that you can show to me or describe to me. My suggestions are to keep it simple, easy, non-complicated. Keep in mind who your audience is and what the subject matter is.
      2. Page Layout—you must use CSS and/or tables to lay out all pages in a pleasing way. If you are not certain how to do this, consult our past classes and me for assistance.
    3. TECHNICAL REQUIREMENTS: 
      1. XHTML—ALL CODE for this site must be typed using STRICT XHTML standards. This means the following:
        • that all tags and their attributes must be typed in lower case;
        • that all attribute values must be typed in quotes and with units;
        • that the DTD for strict XHTML must be typed at the top of the document;
        • that all empty tags must be typed with the slash at the end, such as with the <br/> tag;
        • that none of the deprecated inline tags are to be used, such as the <font>, <b>, <u>, or <i> tags;
        • and, in addition, that the <tbody> and the <thead> tags, as well as the height attribute for the <table> and <td> tags, are not permitted.
            If you are uncertain about something, you can consult the requirements at the w3schools site (LINK), or you may ask me. Furthermore, the use of DreamWeaver is permitted; however, please note that DreamWeaver does not create strict XHTML. Therefore, you will have to go through the code and edit it yourself to make certain it follows strict standards.
      2. CSS—ALL STYLING must be done using CSS. We have used it extensively in this class, so it is a requirement that this site use CSS for the styling of the page. All three levels of styles may be, and are encouraged to be used. Please consult me if you need additional assistance with this.
  4. QUESTIONS—Here are some questions to help guide you through this weeks' material:
    • What is the one type of XHTML document that does not have a body section? In place of the body section, what is used? What is the purpose of this sort of document?
    • What are four attributes that may be used with a <frameset> tag?
    • What are four attributes that may be used with the <frame/> tag?
    • Of the three kinds of tags—inline, block, empty—which sort is the <frame/> tag?
    • What kind of content is contained within a frameset document? Why?
    • If you wish to create a webpage with a two-frame frameset, how many documents do you need to create at a minimum? Why?
    • Which attribute for the <frameset> tag causes the frames to divide up the browser window horizontally?
    • What is the purpose of naming frames?
     
  5. INTRODUCE—As usual, we started last Wednesday's class with a review of a familiar topic. This time (again) it was HTML tables. This was the fifth week in a row that we have been working on tables, and I hope that fact alone indicates their importance to creating effective, and well-designed web-pages. I will not discuss the topic at much length this time, however, and instead will demonstrate with examples of code and the resulting tables.     LINK     Click here     LINK     and here for a more thorough introduction, discussion and demonstration on the topic of tables.
    1. A Simple Table—We shall begin the class be creating a simple table of three (3) rows with six (6) cells in each row:
            
            
            
      And here is the code for this table:
      <table border="1px" width="100%">         // below here is row 1  <tr>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>  </tr>         // below here is row 2  <tr>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>  </tr>         // below here is row 3  <tr>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>  </tr> </table>  
    2. Modifying the Table—Next, I add a few attributes and some text to the table: <table border="1px" width="100%" cellspacing="0px;" cellpadding="3px">         // below here is row 1  <tr>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>  </tr>         // below here is row 2  <tr>     <td>&nbsp;</td>     <td align="center" valign="middle">one</td>     <td align="center" valign="middle">two</td>     <td align="center" valign="middle">three</td>     <td align="center" valign="middle">four</td>     <td>&nbsp;</td>  </tr>         // below here is row 3  <tr>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>  </tr> </table>
            
       onetwothreefour 
            
       
    3. Adding colspan—To complete the table modifications, I add the colspan attribute to rows 1 and 3, and I delete some cells as well from the same rows:
       
       onetwothreefour 
       
      <table border="1px" width="100%" cellspacing="0px;" cellpadding="3px">         // below here is row 1  <tr>     <td colspan="6">&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>  </tr>         // below here is row 2  <tr>     <td>&nbsp;</td>     <td align="center" valign="middle">one</td>     <td align="center" valign="middle">two</td>     <td align="center" valign="middle">three</td>     <td align="center" valign="middle">four</td>     <td>&nbsp;</td>  </tr>         // below here is row 3  <tr>     <td colspan="6">&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>  </tr> </table>  
    4. Adding CSS Styles—To begin to design the page, I will add some styling to the page using an embedded stylesheet. Recall, that an embedded stylesheet are CSS styles that are defined within the HEAD SECTION of the document, between a pair of <style> tags. To see further discussion on the topic of CSS, please see last week's posting: <style type="text/css">   <!-- // sets styles for entire document window     body          {background-color:#000000;           margin-top:0px;           margin-bottom:0px;           margin-left:0px;           margin-right:0px;} // un-clicked links     a:link          {color:#aaaaff;           text-decoration:none;} // already clicked links     a:visited          {color:#9999cc;           text-decoration:none;} // as links are being clicked     a:active          {color:#cc0000;           text-decoration:underline;} // as the mouse passes over links     a:hover          {color:#aaffaa;           text-decoration:underline;}   //--> </style> Since we have styles for links, we are going to turn the text in the table, the words one, two, three, four into links. You can make them link to anything you want for now: <table border="1px" width="100%" cellspacing="0px;" cellpadding="3px">         // below here is row 1  <tr>     <td colspan="6">&nbsp;</td>  </tr>         // below here is row 2  <tr>     <td>&nbsp;</td>     <td align="center" valign="middle">       <a href="http://www.yahoo.com" target="_blank">one</a>     </td>     <td align="center" valign="middle">       <a href="http://www.google.com" target="_blank">two</a>     </td>     <td align="center" valign="middle">       <a href="http://www.msn.com" target="_blank">three</a>     </td>     <td align="center" valign="middle">       <a href="http://www.w3schools.com" target="_blank">four</a>     </td>     <td>&nbsp;</td>  </tr>         // below here is row 3  <tr>     <td colspan="6">&nbsp;</td>  </tr> </table>  
    5. CSS Class Selectors—Using a CSS Class is a special way to attach styles to an element in a page of HTML. Let's review, a CSS style definition consists of three (3) basic terms:     1selector      {2property: 3value;} The selector determines to which HTML element the style will be applied, as in the following example:       h1           {font-size:28pt;} In the above example, the selector is the h1. It selects, or indicates that the following styles are to be applied to all<h1> tags. The following two terms after the selector should be self-explanatory, they are the property of the tag being styled, font-size, and then the particular value or setting for that property, 28pt.     Up to now, this is the only sort of style definition we have considered, those that match a particular HTML tag; however, there are selectors which may be used for any tag. This makes the style definition very flexible, as it can be applied as often or seldom as necessary. They are known as classes. and the selector, since it is not given a particular tag name such as body or h1, must have unique names. These names are preceded by a dot (.).       .red         {color:#ff0000; font-weight:bold;} Once created, the class is applied like all attributes are, and to any tag that is necessary, such as the two examples that follow:       <p class="red">hello!</p>       <td class="red">cell 1</td> With this understanding, we will create three (3) classes to be applied immediately to our table, one for each row. Later, we may use these classes again if we need to. <style type="text/css">   <!--     body          {background-color:#000000;           margin-top:0px;           margin-bottom:0px;           margin-left:0px;           margin-right:0px;}     a:link          {color:#660000;           text-decoration:none;}     a:visited          {color:#990000;           text-decoration:none;}     a:active          {color:#ffaacc;           text-decoration:underline;}     a:hover          {color:#ff0000;           text-decoration:underline;} // class number 1     .color1          {background-color:#990000;} // class number 2     .color2          {background-color:#660000;} // class number 3     .menu          {background-color:#cc6600;           font-size:12pt;           font-weight:bold;           font-family:Arial,               Helvetica,               sans serif;}   //--> </style> These styles can then be applied to the table rows: <table border="0px" width="100%" cellspacing="0px;" cellpadding="3px">         // below here is row 1  <tr class="color1">     <td colspan="6">&nbsp;</td>  </tr>         // below here is row 2  <tr class="menu">     <td>&nbsp;</td>     <td align="center" valign="middle">       <a href="http://www.yahoo.com" target="_blank">one</a>     </td>     <td align="center" valign="middle">       <a href="http://www.google.com" target="_blank">two</a>     </td>     <td align="center" valign="middle">       <a href="http://www.msn.com" target="_blank">three</a>     </td>     <td align="center" valign="middle">       <a href="http://www.w3schools.com" target="_blank">four</a>     </td>     <td>&nbsp;</td>  </tr>         // below here is row 3  <tr class="color2">     <td colspan="6">&nbsp;</td>  </tr> </table> This code produces the following results:
       
       onetwothreefour 
       
       
    6. Framesets—In this week's class we saw the introduction of the issue of one of the final and more advanced issues of HTML, frames and framesets. Essentially, a frameset is a series of documents, held together by a frame , that work together to break apart the browser window into multiple browser window. In each window, or frame, a different web-document or web-site may be viewed.     There is virtually no limit to the number of frames that may be contained within a frameset, as it depends on how many are programmed into the frameset document; however, design and function are first and foremost the constraints that should guide you when attempting to determine how many frames are necessary and practical. As mentioned, the guiding document is the frameset document: this document works much as a window frame. I do not mean the panes of glass, but rather the frame that binds the panes together. As it is merely a frame, this document, the frameset document, has no content. Furthermore, as it has no content, it has no body section. Instead, replacing the body section, it has a frameset section that sets up parameters of the frameset, exactly how many frames and what their orientation will be. Therefore, a frameset document starts out pretty much the same as an ordinary HTML document, but diverges with the second section: <html>   <head>     <title>frameset document</title>   </head>   <frameset>   </frameset> </html> Above, you can see that the frameset section, instead of the body section, follows the head section instead in the document. This is where the browser window is carved up into frames. For horizontal frames, the attribute rows is used; and for vertical frames, the attribute cols is used.   <frameset cols="150px, *"> In the above frameset tag, a two-frame frameset is created, where the first frame (the first column) is 150 pixels wide, and the second one, indicated by the asterisk, is whatever remains of the open browser window.     To complete the frameset, however, there must be a <frame/> tag for each frame. Since there are two measurements (150, *) in the above setup there must also be two frame tags. <html>   <head>     <title>frameset document</title>   </head>   <frameset cols="150px, *">     <frame/>     <frame/>   </frameset> </html> The <frame/> tags are empty tags, but there are nonetheless still two tags, one for each frame in the frameset. Furthermore, each must be accompanied with the src attribute in order to place another document within the frameset: <frame src="nav.html"/> <frame src="content.html"/> In this example, another document named nav.html will appear in the first frame of the frameset, and another named content.html will appear in the second frame.     To remove the borders between frames, the <frameset> tag require two additional attributes and values: frameborder="no" border="0px".     If we change the orientation of our frames to rows (horizontal), and rename our original document above nav.html (the one with the table background colors above of red and orange), we can start to create our first frameset document. <html>   <head>     <title>frameset document</title>   </head>   <frameset rows="150px, *" frameborder="no" border="0px">     <frame src="nav.html" name="nav"/>     <frame src="content.html" name="content"/>   </frameset> </html> You should notice above, that in addition to the attributes regulating the border, and indicating the source files for the frames, that there is a name attribute for each frame. There is an important reason for giving names to frames, particularly the frame where the primary content of the website will go. Primary content here refers to those documents that contain most of the content of the site, the images and text, as opposed to the document that contains the navigation, or the frameset document itself. This is so that the frame can be targeted. This can be done with links, for example, so that linked documents can be targeted to open up into a particular frame.     LINK   In our first document, we created a menu of links. These links targeted a value, "_blank", which targets a new browser window, opens up the document in a new blank window. If, however, the value we choose is the name of one of our frames in the frameset document, content for example, instead of opening up in a separate new browser window, the documents will open up in another window of our frameset. Our link would then look like so:  <a href="one.html" target="content">one</a>

No comments:

Post a Comment