Webpage Design: Web page construction

From Wikibooks, open books for an open world
Jump to: navigation, search

UNIT 2 - ⇑ Webpage Design ⇑

Web page construction HTML & style sheets →

Web pages are now an essential part of how many people live their lives and perform their jobs. More and more computer functions are now moving to web based applications and it is important that you are familiar with this technology.

Structure of a web page[edit]

You might have made some web sites at secondary school using WYSIWYG editors such as Front Page and Dreamweaver. For the A-Level Computing course we are going to take a look at the code that these editors produce, and how to structure webpages with code. Open this wikibook page in any browser and click CTRL+U in Firefox / Chrome or View -> Page Source in Internet Explorer, you should have the webpage code in front of you.

HTML - Hypertext Markup Language, the language used for building web pages


All web pages have the following basic structure:

  • HTML - specifies that this is a web page
    • Head - contains the title of the page with code and css includes
    • Body - displays the main page content

Which can be represented in HTML code using the following Tags:

<html>
  <head>
    <title>...</title>
  </head>
 
  <body>...</body>
</html>

Tags[edit]

Web pages are built out of tags. These tags define what is on the page and how it should be structured. There are two types of tags that you can use, and all tags should be written in lower case.

  1. <h1>A Book About Computing</h1>
    
  2. <hr />
    

On line one you can see the first type, it has an opening tag <h1> something in the middle "A book About Computing" and a closing tag</h1>. This tells us that everything between these tags should be treated as a level one heading (h1).

On line two you can see the second type of tag, there is no closing tag, the tag is entirely self contained. The <hr /> stands for a horizontal rule, a line across the page.

Search Engine Optimisation[edit]

Some tags are supposed to be used in certain locations on a webpage and have special functions that may not result in any change to the content or layout of that page. There are special tags reserved to help a webpage get found and ranked by search engines. These tags live in the <head>...</head> section of a webpage.

  • <title>Come to my site first</title> - this places a title on the top of the browser (NOT the top of a web page)
  • <meta name="Description" content="Using the purest …."> - so that search engines can better categorise web pages, they know what the site is about
  • <meta name="Keywords" content="premium …, bulk …., solid …, The …. Company"> - you used to be able to add keywords to tell search engines what a site was about. This was open to abuse as web site designers just chucked in all the words they could think of and this method isn't used much any more, however, you still need to know it.
Example: Drawing a website

Draw a web-browser display for the following:

<html>
  <head>
    <title>Kempoogle</title>
    <meta name="Description" content="The best site in the world">
  </head>
  <body>hello world!</body>
</html>
  Blank.svg Kempoogle
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

hello world!




 

Notice that the <title>Kempoogle</title> appears as the title of the browser window, but the <meta name="Description" content="The best site in the world"> is not visible to the user. It is merely there to help web search engines categorise the page.

Exercise: Web Site Basics

What are the top most level tags on a website:

Answer :

<html> and </html>

Write the code to create a webpage that has the banner title of "Moogle - shopping site" and has a meta description of "The best site in the world":

Answer :

<html>
  <head>
    <title>Moogle - shopping site</title>
    <meta name="Description" content="The best site in the world">
  </head>
  <body>...</body>
</html>

How might you use the <head> section of a web page to increase the page's ranking in search engines?

Answer :

Adjust the
<meta name=Description ...>
and
<meta name=Keywords ...>
tags
Extension: Teach Yourself HTML

The web is full of free resources to skill yourself up and there is nothing to stop you becoming a top notch web designer. The questions here are suitable to get you through this course with some added elements. If you want to get really good at the vaste array of web technologies out there you should be looking to teach yourself. A great place to get started is the w3schools website where you can take courses in:

  • HTML
  • Javascript, the programming language behind interactive websites

If you want to learn about the code that builds dynamic webpages, including Facebook, check out:

Block-level tags[edit]

Block tags allow you to give a tag attributes such as padding and margin. This allows you to insert tags into various parts of a page and rely on the other elements there to move to make space for it without worrying about overlap. The tags you need to know are:

  • <h#></h#> - headings
  • <hr /> - horizontal rules
  • <p></p> - paragraphs
  • <br /> - make a new
    line,
  • <ol></ol> - ordered lists
  • <ul></ul> - unordered lists
  • <li></li> - list items
  • <div></div> - div

Horizontal Rule[edit]

<hr /> - puts a horizontal line across the page where ever you are, useful for breaking up pages

<html>
  <head>
    <title>Examples of horizontal rule</title>
  </head>
  <body>
    Normal Text
    <hr />
    Normal Text
    <hr />
    Normal Text
  </body>
</html>


  Blank.svg Examples of horizontal rule
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Normal Text


Normal Text


Normal Text


Headings[edit]

<h#></h#> - heading tags make any text between the tags a heading, the higher the number (h#) the less significant the heading

<html>
  <head>
    <title>Examples of headings</title>
  </head>
  <body>
    <h1>Heading 1</h1>
    <h2>Heading 2</h2>
    <h3>Heading 3</h3>
    Normal Text
  </body>
</html>

The code above produces the following:

  Blank.svg Examples of headings
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Heading 1

Heading 2

Heading 3

Normal Text


For all following examples the html, body and head tags have been left out. This doesn't mean they don't exist and if you code it you must include them.

Exercise: Headings

Draw out what the following codes would produce:

  <h1>Years</h1>
  <h2>Year 12</h2><hr />
  <h2>Year 13</h2>
  <h1>Staff</h1>

Answer :

  Blank.svg --
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Years

Year 12


Year 13

Staff


  <h1>Introduction</h1>
  <h2>My Life</h2>
  <h2>My Cats</h2>
  <h2>My Dogs</h2>
  <h3>Barry</h3>
  <h3>Aubrey</h3>
  <h3>Rex</h3>
  <h1>Theories</h1>
  <h1>Conclusions</h1>

Answer :

  Blank.svg --
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Introduction

My Life

My Cats

My Dogs

Barry

Aubrey

Rex

Theories

Conclusions


Write the code to produce the following headings:

  Blank.svg --
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Output Devices

Monitors

Speakers

Answer :

  <h1>Output Devices</h1>
  <h2>Monitors</h2>
  <h2>Speakers</h2>
  Blank.svg --
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Team

Goalies

Defenders

Midfield

Strikers

Rooney

Socrates

Stadia

Old Trafford

Answer :

  <h1>Team</h1>
  <h2>Goalies</h2>
  <h2>Defenders</h2>
  <h2>Midfield</h2>
  <h2>Strikers</h2>
  <h3>Rooney</h3>
  <h3>Socrates</h3>
  <h1>Stadia</h1>
  <h2>Old Trafford</h2>

Lists[edit]

There are 2 types of list that you need to know, ordered lists (<ol></ol>) and unordered lists (<ul></ul>). Each has individual list items (<li></li>) that hold all the data.

  • Unordered Lists <ul></ul>
  • give you a list made up of bullet points
  <ul>
    <li>apples</li>
    <li>oranges</li>
    <li>pears</li>
  </ul>

the code above would give you:

  Blank.svg Examples of unordered list
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg
  • apples
  • oranges
  • pears


  <ol>
    <li>apples</li>
    <li>oranges</li>
    <li>pears</li>
  </ol>

the code above would give you:

  Blank.svg Examples of ordered list
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg
  1. apples
  2. oranges
  3. pears

As you can see above the individual list items are contained within the <li></li> brackets.

Exercise: HTML Lists

Write HTML to create the following lists:

  • Geoffrey
  • Bungle
  • Zippy
  • George

Answer :

<ul>
  <li>Geoffrey</li>
  <li>Bungle</li>
  <li>Zippy</li>
  <li>George</li>
</ul>
  1. Wittgenstein
  2. Augustine
  3. Heidegger
  4. Marcel

Answer :

<ol>
  <li>Wittgenstein</li>
  <li>Augustine</li>
  <li>Heidegger</li>
  <li>Marcel</li>
</ol>

What would the following code output:

<ul>
  <li>Kierkegaard</li>
  <li>Jaspers</li>
  <li>Frankl</li>
  <li>Rand</li>
</ul>

Answer :

  • Kierkegaard
  • Jaspers
  • Frankl
  • Rand

What is wrong with the following code to print an ordered list:

<ul>
  <li>Kierkegaard<li>
  <li>Jaspers</li>
  <li>Frankl</ul>
  <li>Rand</li>
</ul>

Answer :

the following code is corrected with comments

 
<ol> <!--this needs to be <ol> as it is an ordered list-->
  <li>Kierkegaard</li> <!--this needs a closing /-->
  <li>Jaspers</li>
  <li>Frankl</li> <!--this had the incorrect closing tag-->
  <li>Rand</li>
</ol> <!--this needs to be </ol> as it is an ordered list-->

Breaking pages up[edit]

A Div element is used to divide a web page into sections <div></div> - this takes up space on a page and the page will appear larger the more of them you place in.

A Paragraph <p></p>, allows you to structure your text like you would if you were writing an essay.

A Break <br />, creates a new line.

Inline tags[edit]

These don't take up any physical space on the page (they don't cause a new line) and can overlap each other. They are:

produces the following:
Googlelogo.png

Let's take a look at a quick example:

Example: HTML worked example
<h2>Ditty</h2>
 
I tell you naught for your comfort, <br /> Yea, naught for your 
desire,<br /> Save that the sky grows <strong>darker</strong> yet <br /> And the sea rises <strong>higher</strong>
 
 
<hr />
 
- G.K.Chesterton, <em>The Ballad of the White Horse</em>(1911)

The output of the above is as follows:

  Blank.svg 
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg
Ditty

I tell you naught for your comfort,
Yea, naught for your desire,
Save that the sky grows darker yet
And the sea rises higher

- G.K.Chesterton, The Ballad of the White Horse (1911)


As you can see the layout of the HTML code doesn't always reflect how it will look on screen, remember even if your code looks like it has line breaks, if you don't use block-level tags such as <br /> or a <p> you won't get any breaks.

Now it's time to test your knowledge:

Exercise: Inline Tags

Write the code to produce the following output:

Hello how are you?

Answer :

<em>Hello</em> <strong>how</strong> are <strong><em>you</em></strong>?
I'm fine
thank you

Answer :

<strong>I'm</strong> <em>fine</em><br />
thank you
This is a link to the bbc website.

Answer :

This is a <a href="http://www.bbc.co.uk">link</a> to the <em>bbc website</em>.

The Quick Brown Fox

Jumped over the Lazy Dog

Answer :

<p>The <strong>Quick Brown Fox</strong></p>
<p>Jumped over the <em>Lazy Dog</em></p>

Answer :

{apologies for the trick question!}

<ul>
  <li><em>Bold</em></li>
  <li><strong>Link to google</strong></li>
  <li><a href="http://www.google.com">Itallic</a></li>
</ul>

Write the code to create the following page linking an image called cat.jpg

  Blank.svg Cat picture
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

This is a picture of a cat:
Cat Briciola with pretty and different colour of eyes.jpg

Answer :

<html>
  <head>
    <title>Cat picture</title>
  </head>
  <body>
    This is a picture of a <em>cat</em>:<br/>
    <img src="cat.jpg"/>
  </body>
</html>

Write the code to create the following page linking an image called dog.jpg to the page http://college.ac.uk

  Blank.svg Dog picture
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

This picture of a dog links to my college's website:
Siberian Husky heterchromia edit.jpg

Answer :

<html>
	<head>
		<title>Dog picture</title>
	</head>
	<body>
		This picture of a <strong>dog</strong> links to my college's website:<br/>
		<a href="http://college.ac.uk"><img src="dog.jpg"></a>
	</body>
</html>

What does the following code produce:

The invention<br />
of <strong>weights<strong> and <strong>measures</strong><br />
Makes robbery easier<br /><hr />
<em>- Chuang Tzu</em>

Quoted from: Merton, Thomas. (1969). The Way of Chuang Tzu. New York: New Directions.

Answer :

  Blank.svg 
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

The invention
of weights and measures
Makes robbery easier


- Chuang Tzu


<p><em>Modern art has taken the wrong turn in abandoning the 
search for the <br /><strong>meaning of existence</strong></em>
<br /> in</p><p>order to affirm the value of the <strong>individual
</strong> for his own sake</p><p><em>- Andrei Tarkovsky</em></p>

Quoted from: Tarkovsky, Andrei (1989). Sculpting in Time. University of Texas Press

Answer :

note that the line breaks at the end of each line of code has no effect, we only place line breaks with <br /> and <p>

  Blank.svg 
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Modern art has taken the wrong turn in abandoning the search for the
meaning of existence

in

order to affirm the value of the individual for his own sake

- Andrei Tarkovsky


Write the full html page code for the following webpage:

  Blank.svg Car heaven
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Car heaven

Welcome to the car site

  • Cars
  • Vans
  • Bikes

This week 30% discount

Answer :

<html>
  <head>
    <title>Car heaven</title>
  </head>
  <body>
        <h1>Car heaven</h1>
        <p>Welcome to <em>the</em> car site</p>
        <ul>
                <li>Cars</li>
                <li>Vans</li>
                <li>Bikes</li>
        </ul>
        <p>This week <strong>30%</strong> discount</p>
  </body>
</html>

Write the full html page code for the following webpage, where the image address is: contempt.jpg with alt text of contempt and the web address is: http://bbc.co.uk

  Blank.svg Education
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Contempt

without a gentle contempt for education,
no gentleman's education is complete
PSM V36 D704 Facial expression of contempt.jpg
Learn more

Click here to learn more

Answer :

<html>
  <head>
    <title>Education</title>
  </head>
  <body>
        <h1>Contempt</h1>
        <p>without a gentle <strong>contempt</strong> for education,<br /> no gentleman's education is complete</p>
        <img src="contempt.jpg" alt="contempt">
        <h2>Learn More</h2>
        <p>Click <a href="http://bbc.co.uk">here</a> to go to learn more</p>
  </body>
</html>

Comments[edit]

Sometimes you want to write something in the HTML code of a webpage to help you understand the code better. This is called a comment and is an ubiquitous feature in any computing language. Comments don't perform any computing function and don't display on a finished Web page, they are merely there for the web designer to use so that they can understand the page better. For HTML we use the following tags:

<html>
  <head>
    <title>Love</title>
  </head>
  <body>
        <h1>What Love is</h1>
 
 
"Love means to love that which is unlovable; or it is no virtue at all."
 
 
        <!--Quote from G. K. Chesterton (1874-1936)-->
  </body>
</html>

In the example above, the line starting with the <!−− and ending in −−> is a comment. A comment block start with <! and ends with > and you can have as many comments as you like between those tags, as long as they start and end with −−. Everything in between these comment tags will not be displayed on the screen, producing this:

  Blank.svg Love
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

What Love is

"Love means to love that which is unlovable; or it is no virtue at all."

Exercise: Comments

For the following code sketch what it outputs:

<html>
  <head>
    <title>Friendship</title>
  </head>
  <body>
        <h1>Hello</h1>
        <p>Can I be your friend?</p>
        <ol>
          <li>Yes</li>
          <li>No</li>
          <!--<li>Maybe</li>-->
        </ol>
        <!--What a horrible question.-->
  </body>
</html>

Answer :

  Blank.svg Friendship
Down arrow Hexagonal Icon.svg
Left arrow Hexagonal Icon.svg Right arrow Hexagonal Icon.svg Address   Rosette Hexagonal Icon.svg Book Hexagonal Icon.svg Paper Hexagonal Icon.svg

Hello

Can I be your friend?

  1. Yes
  2. No


Extension: HTML 5
HTML5 logo and wordmark.svg

What we have been learning so far are the very basics of web design. If you like what you've been doing you better check out HTML5. HTML5 is starting to make websites fully interactive with the ability to quickly embed videos and interact with web pages. Over the next few years you'll increasingly see applications moving over to this new technology, so get with the program and start learning at w3schools.