Professional Documents
Culture Documents
By
Zanamwe N
2016
Table of Contents
1 Unit 1: Internet Fundamentals.......................................................................................................6
1.1 What is the Internet?...................................................................................................................6
1.1.1 Key Definitions:......................................................................................................................6
1.1.2 World Wide Web (WWW).......................................................................................................6
1.1.3 Web Pages................................................................................................................................6
1.1.4 HTML......................................................................................................................................6
1.1.5 Hypertext Transfer Protocol (HTTP).......................................................................................7
1.1.6 Web Browsers..........................................................................................................................7
1.1.7 Search Engines........................................................................................................................7
1.1.8 Email........................................................................................................................................7
1.1.9 Telnet:......................................................................................................................................7
1.1.10 Gopher:..................................................................................................................................7
1.1.11 FTP........................................................................................................................................7
1.1.12 Usenet....................................................................................................................................8
2 Unit 2: Web development Tools....................................................................................................8
2.1.1 Hypertext.................................................................................................................................9
3 Unit 3: Scripting Languages..........................................................................................................9
3.1 Client Side Scripting Languages................................................................................................9
3.2 Server Side Scripting Languages................................................................................................9
3.3 Comparison of Scripting Languages..........................................................................................9
3.4 Practical Lab Session 1:............................................................................................................10
4 Unit 4: Web Development Life Cycle/Process............................................................................10
4.1 Website Design Guidelines.......................................................................................................10
4.2 Things to Remember................................................................................................................12
4.3 Reasons for having a website...................................................................................................12
4.4 Characteristics of a good website design..................................................................................13
4.5 Web Development Process.......................................................................................................14
4.5.1 Defining your goals...............................................................................................................14
4.5.2 Defining your audience.........................................................................................................14
4.5.3 Competitive and market analysis...........................................................................................14
4.5.4 Requirements analysis...........................................................................................................14
4.5.5 Designing the site structure...................................................................................................15
4.5.6 Using flow charts to define structure.....................................................................................15
4.5.7 Specifying content.................................................................................................................16
4.5.8 Choosing a design theme.......................................................................................................16
4.5.9 Constructing the site..............................................................................................................16
4.5.10 Testing and evaluating the site.............................................................................................16
4.5.11 Marketing the site................................................................................................................16
4.5.12 Tracking site usage and performance..................................................................................16
4.5.13 Maintaining the site.............................................................................................................17
5 Unit 5: HyperText Markup Language (HTML)..........................................................................17
5.1 Markup languages.....................................................................................................................17
5.2 Evolution of Markup languages...............................................................................................17
5.3 HTML 5 Introduction...............................................................................................................17
5.3.1 What is HTML?.....................................................................................................................17
5.3.2 HTML5 Style Guide and Coding Conventions.....................................................................18
5.3.2.1 Use Correct Document Type..............................................................................................18
5.3.2.2 Use Lower Case Element Names.......................................................................................18
5.3.2.3 Close All HTML Elements.................................................................................................19
5.3.2.4 Close Empty HTML Elements...........................................................................................19
5.3.2.5 Use Lower Case Attribute Names......................................................................................19
5.3.2.6 Quote Attribute Values........................................................................................................20
5.3.2.7 Image Attributes.................................................................................................................20
5.3.2.9 Avoid Long Code Lines......................................................................................................20
5.3.2.10 Blank Lines and Indentation.............................................................................................21
5.3.2.12 Omitting <head>?.............................................................................................................22
5.3.2.13 Meta Data.........................................................................................................................22
5.3.2.14 HTML Comments.............................................................................................................23
5.3.2.15 Style Sheets.......................................................................................................................23
5.3.2.16 Loading JavaScript in HTML...........................................................................................24
5.3.2.17 Use Lower Case File Names............................................................................................24
5.3.2.18 File Extensions.................................................................................................................24
5.4 HTML Page Structure...............................................................................................................24
5.5 Web Browsers...........................................................................................................................26
5.6 HTML Editors..........................................................................................................................26
5.7 HTML Elements.......................................................................................................................27
5.7.1 HTML Element Syntax..........................................................................................................27
5.7.2 Nested HTML Elements........................................................................................................28
5.7.3 HTML Document Example...................................................................................................28
5.7.4 Don't Forget the End Tag.......................................................................................................29
5.7.5 Empty HTML Elements........................................................................................................29
5.7.6 HTML Attributes...................................................................................................................29
5.7.7 HTML Headings....................................................................................................................30
5.7.8 HTML Lines..........................................................................................................................30
5.7.9 HTML Paragraphs.................................................................................................................31
5.7.10 HTML Line Breaks..............................................................................................................31
5.7.11 HTML Text Formatting.......................................................................................................31
5.7.12 HTML Links........................................................................................................................32
5.7.13 The HTML <head> Element...............................................................................................34
5.7.14 HTML Images.....................................................................................................................36
5.7.15 Marquee Tag........................................................................................................................38
5.7.16 Ordered Lists.......................................................................................................................38
5.7.17 HTML <div> and <span>....................................................................................................40
5.7.18 HTML Block Elements........................................................................................................40
5.7.19 HTML Inline Elements........................................................................................................41
5.7.19.1 The HTML <div> Element...............................................................................................41
5.7.19.2 The HTML <span> Element.............................................................................................41
5.8 HTML Grouping Tags..............................................................................................................41
5.9 HTML Layouts.........................................................................................................................41
5.10 HTML5 New Semantic Elements...........................................................................................42
5.10.1 The Shiv...............................................................................................................................46
5.11 HTML Colors.........................................................................................................................46
5.11.1 Color Values.........................................................................................................................46
5.12 HTML Entities........................................................................................................................47
5.13 Non-breaking Space...............................................................................................................47
5.14 HTML Useful Character Entities............................................................................................47
6 HTML TABLES..........................................................................................................................48
7 HTML Forms...............................................................................................................................48
7.1.1 Example.................................................................................................................................54
7.1.2 Example.................................................................................................................................55
8 CASCADING STYLE SHEETS (CSS)......................................................................................58
8.1 Examples of Element Selectors................................................................................................59
8.2 The id Selector..........................................................................................................................60
8.3 The class Selector.....................................................................................................................60
8.4 Pseudo-Selectors.......................................................................................................................60
8.4.1 Styling Links..........................................................................................................................61
8.5 CSS Text...................................................................................................................................62
8.5.1 Example.................................................................................................................................63
8.6 CSS Font...................................................................................................................................63
8.7 The CSS Box Formatting Model..............................................................................................64
8.8 Table Borders............................................................................................................................66
8.9 Example....................................................................................................................................66
8.10 Collapse Borders.....................................................................................................................67
8.11 Example..................................................................................................................................67
8.12 Table Width and Height..........................................................................................................67
8.13 Example..................................................................................................................................68
8.14 CSS Float................................................................................................................................70
8.15 Three Ways to Insert CSS.......................................................................................................71
8.16 Another option using CS6.......................................................................................................75
8.16.1 Individual Assignment 2......................................................................................................75
8.16.1.1 Example............................................................................................................................81
8.16.1.2 Example............................................................................................................................84
8.16.1.3 Example............................................................................................................................87
8.16.1.4 Example............................................................................................................................87
8.16.1.5 Example............................................................................................................................87
8.16.1.6 Example............................................................................................................................88
8.16.1.7 Example............................................................................................................................88
8.16.1.8 Example............................................................................................................................88
8.16.1.9 Example............................................................................................................................95
8.16.1.10 Example........................................................................................................................109
9 Example.....................................................................................................................................112
9.1 Previous Next..........................................................................................................................115
9.1.1 Content Management Systems............................................................................................118
9.1.1.1 Drupal...............................................................................................................................123
9.1.1.2 Reasons to Use Drupal.....................................................................................................123
9.1.1.3 Wordpress.........................................................................................................................125
9.1.1.4 Joomla...............................................................................................................................125
9.1.2 Joomla..................................................................................................................................128
9.1.2.1 First steps in Joomla 2.5 (valid for Joomla 1.7 and 1.6 too)............................................131
9.1.2.2 Logging in the Joomla admin area (valid for Joomla 1.7 and 1.6 too).............................131
9.1.2.3 Creating articles in Joomla...............................................................................................132
9.1.2.4 How to Link Articles in Joomla 2.5 (valid for Joomla 1.7 and 1.6 too)...........................134
9.1.3 WordPress 3.8......................................................................................................................141
9.1.3.1 Just click the ‘Create a Configuration File’ button...........................................................142
9.1.3.2 Click on the “Visit Site” link button at the top of the Dashboard to view your current page
.......................................................................................................................................................145
9.1.3.3 CREATING CATEGORIES and TAGS...........................................................................146
9.1.4 Drupal..................................................................................................................................152
9.1.4.1 Individual Assignments 3, 4 and 5....................................................................................152
9.1.4.2 http://zanamwe.com/welcome.php?name=peter&age=37;..............................................160
9.1.4.3 Variable Functions............................................................................................................163
9.1.4.4 Regular expressions syntax..............................................................................................189
9.1.4.5 PHP regular expression functions.....................................................................................189
9.1.4.6 Student Registration Form................................................................................................215
1 Unit 1: Internet Fundamentals
1.1.4 HTML
HTML is a special language or code used to design and publish documents on the Web. A web
page is made up of several different elements, all linked together through the use of html.
HTML is the language it is written in, and so the backbone of the page, but html alone does not
make a page. You need other elements. Your video, audio, graphics and text all work together to
create the page. The elements are added to your page by way of html linking; they are not
actually inside the page, only referred to and called to appear on demand.
1.1.8 Email
E-mail (electronic mail) is the exchange of computer-stored messages by telecommunication.
1.1.9 Telnet:
Telnet is the way you can access someone else's computer, assuming they have given you
permission.
1.1.10 Gopher:
Gopher is an Internet application protocol in which hierarchically-organized file structures are
maintained on servers that themselves are part of an overall information structure. Gopher
provided a way to bring text files from all over the world to a viewer on your computer.
1.1.11 FTP
FTP (File Transfer Protocol), a standard protocol, is the simplest way to exchange files between
computers on the Internet. Like the Hypertext Transfer Protocol (HTTP), which transfers
displayable Web pages and related files, and the Simple Mail Transfer Protocol (SMTP), which
transfers e-mail, FTP is an application protocol that uses the Internet's TCP/IP protocols. FTP is
commonly used to transfer Web page files from their creator to the computer that acts as their
server for everyone on the Internet. It's also commonly used to download programs and other
files to your computer from other servers. FTP programs include, WinSCP, FileZilla, Transmit
etc
1.1.12 Usenet
Usenet is a collection of notes on various subjects that are posted to servers on a worldwide
network. Each subject collection of posted notes is known as a newsgroup. There are thousands
of newsgroups and it is possible for you to form a new one. Most newsgroups are hosted on
Internet-connected servers, but they can also be hosted from servers that are not part of the
Internet. Most browsers, such as those from Netscape and Microsoft, provide Usenet support
and access to any newsgroups that you select.
The following are the tools that are required to build a web site:
1. Hardware for the Web server
2. An operating system
3. Web server software
4. A database management system
5. A programming or scripting language
6. Web browser
7. Version Control/Management Systems
Note: Some of these choices will be dependent on the others. For example, not all operating
systems will run on all hardware, not all scripting languages can connect to all databases, and so
on.
The computers that make all these Web pages available are called Web servers. On any
computer that’s connected to the Web, you can run an application called a Web browser.
Technically, a Web browser is called a Web client—that is, a program that’s able to contact a
Web server and request information. When the Web server receives the requested information,
it looks for this information within its file system, and sends out the requested information via
the Internet.
They all speak a common “language,” called HyperText Transfer Protocol (HTTP). (HTTP isn’t
really a language like the ones people speak. It’s a set of rules or procedures, called protocols,
that enables computers to exchange information over the Web.) Regardless of where these
computers reside— Honolulu, Timbuktu, Kitsiyatota, or Texas—they can communicate with
each other through HTTP. The following illustrates how HTTP works (see Figure 1-1):
Most Web pages contain hyperlinks, which are specially formatted words or phrases that
enable you to access another page on the Web. Although the hyperlink usually doesn’t
make the address of this page visible, it contains all the information needed for your
computer to request a Web page from another computer.
When you click the hyperlink, your computer sends a message called an HTTP request.
This message says, in effect, “Please send me the Web page that I want.”
The Web server receives the request, and looks within its stored files for the Web page
you requested. When it finds the Web page, it sends it to your computer, and your Web
browser displays it. If the page isn’t found, you see an error message, which probably
includes the HTTP code for this error: 404, “Not Found.”
2.1.1 Hypertext
Hypertext is a type of text that contains hyperlinks (or just links for short), which enable the reader
to jump from one hypertext page to another.
You may also hear the word hypermedia. A hypermedia system works just like hypertext, except
that it includes graphics, sounds, videos, and animation as well as text.
Tasks:
1. Install XAMPP on both Windows and Linux and learn how to use it
2. Install version control/management system preferably GIT and practise using it in your
groups
3. Install text editors and explore their features – CS6, Netbeans, Visual Studio, Notepad++
and Eclipse
4. Install FTP programs and learn how to use them
1. Test your web pages with several browsers- Firefox, Chrome, Netscape and Internet Explorer
2. Test your website with different settings on your computer.
3. Change your color settings (256 colors, 65,000 colors, True Color)
4. Change your resolution (e.g. 640 x 480, 800 x 600, 1024 x 768) 5. Not everyone has the same
browser, computer or settings you do!
6. Get advice from others about your site.
7. Refresh your pages often. Don’t let your content become
stale.
8. Use only the 216 safe colors
9. Market your site!
1. Accessibility
Customers can easily find your business online at any time, from anywhere (as long as they
have an internet connection). For example smart phone users can instantly view your products
and services while in the car, plane, restaurant or even while walking around town.
3. Inexpensive
A website will lower your advertising costs. For example a yellow page ad costs 1000s of
dollars and you can't edit the information once the ad is published. The initial cost of your site
may be $1000.00 or more depending on it's size and complexity but your maintenance costs
will be very small ( only yearly domain name registration and web hosting).
4. Interactivity
These days customers want to interact with your business before making a purchase. Ways to
add interactivity to your website may include adding a Forum, Blog, RSS Feed, Contact form,
Newsletter, Twitter, Facebook, Videos, Podcasts or a Chat box. For example a Blog enables
visitors to leave comments to your posts. You can answer their questions by replying to their
comments.
Consistency in Design
Except for the homepage which may have a slightly different appeal, all the other pages should
have a consistent design. When navigating to other pages on the website, the users should not
feel that have landed on a different website. The homepage and all the other pages of the
website should clearly display the logo and its tagline.
User-friendly
The website should be designed in such a way that even a layman will be able to navigate
around on a certain page or throughout the website and find things he wants to view. It should
not take him more than two clicks to find anything that interests him on your website. If the
navigation is too complicated for the visitor, he will not wish to visit your site again.
Perfect Content
Content is one of the most important elements of a website that can keep your visitors engaged
on to your site for a longer period. Not only you should publish informative and fresh content
free from grammatical errors but also you should pay attention to background color and
highlighting certain part of the content in bold or different colors. Proper formatting of content
is also necessary; however, you should not overdo it as it can negatively impact your visitors.
Fast Loading
Instead of decking up your site with heavy elements like Flash content, animated graphics,
large images and videos, you need to go with simple design and still offer the best of creativity
to your visitors. You need to make sure that your website takes only a few seconds to load. If
your site takes lot of time to load, your prospective visitors may not have the patience to wait
too long.
Functionality
All the elements of your site should work seamlessly. You need to fix all the page errors and
poorly constructed website elements. When visitors face such a problem, they can get
frustrated and leave your site. Hence, you need to check proper functioning of internal and
external pages, access to contact page, site search, site map, customer support page, help and
FAQs page, subscription page and so on
The Web development process consists of several broad steps, beginning with planning and ending
with execution and maintenance. These include the following:
1. Defining your goals
2. Defining your audience
3. Developing competitive and market analysis
4. Creating a requirements analysis
5. Designing your site’s structure
6. Specifying content
7. Choosing a design theme
8. Constructing the site
9. Testing and evaluating the site
10. Marketing the site
If you want consistently with lower case tags, you can use:
<!doctype html>
<p>This is a paragraph.</p>
Very Bad:
<section>
<p>This is a paragraph.</p> </SECTION>
Good:
<section>
<p>This is a paragraph.</p> </section>
<p>This is a paragraph.
<p>This is a paragraph.
</section>
Looking good:
<section>
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
</section>
Looking bad:
<div CLASS="menu">
Looking good:
<div class="menu">
Always define image size. It reduces flickering because the browser can reserve space for images
before they are loaded.
<img src="html5.gif" alt="HTML5" style="width:128px;height:128px">
Better:
<body>
<h1>Famous Cities</h1>
<h2>Harare</h2>
<p>
Harare is the capital of Zimbabwe, the center of the
Greater Harare Area, and the most populous
metropolitan area in the world.
It is the seat of the Zimbabwean government and the
Imperial Palace, and the home of the Zimbabwean
Imperial Family.
</p>
</body>
The <html> element is the document root. It is the recommended place for specifying the page
language:
<!DOCTYPE html>
<html lang="en">
Declaring a language is important for accessibility applications (screen readers) and search engines.
Omitting <html> or <body> can crash DOM and XML software.
Omitting <body> can produce errors in older browsers (IE9).
5.3.2.12 Omitting <head>?
In the HTML5 standard, the <head> tag can also be omitted.
By default, browsers will add all elements before <body>, to a default <head> element.
You can reduce the complexity of HTML, by omitting the <head> tag:
Example
<!DOCTYPE html>
<html>
<title>Page Title</title>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
To ensure proper interpretation, and correct search engine indexing, both the language and the
character encoding should be defined as early as possible in a document:
<!DOCTYPE html>
<html lang="enUS">
<head>
<meta charset="UTF8">
<title>HTML5 Syntax and Coding Style</title>
</head>
Long comments, spanning many lines, should be written with <!-- and --> on separate lines:
<!
This is a long comment example. This is a long comment example. This is
a long comment example. This is a long comment example. This is a long
comment example. This is a long comment example.
>
fontsize: 16em;
color: black;
}
<script src="myscript.js">
HTML Example
<!DOCTYPE html>
<html>
<body>
<h1>
My First Heading
</h1>
<p>
My first paragraph.
</p>
</body>
</html>
Example Explained
• The DOCTYPE declaration defines the document type. The <!DOCTYPE> declaration
helps the browser to display a web page correctly. The <!DOCTYPE> declaration must be
the very first thing in your HTML document, before the <html> tag. The <!DOCTYPE>
declaration is not an HTML tag; it is an instruction to the web browser about what version
of HTML the page is written in. There are many different documents on the web, and a
browser can only display an HTML page 100% correctly if it knows the HTML type and
version used.
• The text between <html> and </html> describes the web page
• The text between <body> and </body> is the visible page content
• The text between <h1> and </h1> is displayed as a level 1 heading
• The text between <p> and </p> is displayed as a paragraph
• The <!DOCTYPE html> declaration is the doctype for HTML5.
The browser does not display the HTML tags, but uses the tags to determine how the content of the
HTML page is to be presented/displayed to the user:
• Adobe Dreamweaver
• Microsoft Expression Web
• CoffeeCup HTML Editor
• Netbeans
• Eclipse
• Visual Studio
• PyCharm
However, for learning HTML we recommend a text editor like Notepad (PC) or TextEdit (Mac).
We believe using a simple text editor is a good way to learn HTML.
Follow the 4 steps below to create your first web page with Notepad.
Step 1: Start Notepad
Start
All Programs
Accessories
Notepad
When you save an HTML file, you can use either the .htm or the .html file extension. There is no
difference, it is entirely up to you.
Start your web browser and open your html file from the File, Open menu, or just browse the folder
and double-click your HTML file.
An HTML element is everything from the start tag to the end tag:
Start tag * Element content End tag *
<p> This is a paragraph </p>
<a This is a link </a>
href="default.htm">
<br>
* The start tag is often called the opening tag. The end tag is often called the closing tag.
<p>This is my first paragraph.</p>
The <p> element defines a paragraph in the HTML document. The element has a start tag <p> and
an end tag </p>. The element content is: This is my first paragraph.
<body>
<p>This is my first paragraph.</p>
</body>
<html>
<body>
<p>This is my first paragraph.</p>
</body>
</html>
<p>This is a paragraph
<p>This is a paragraph
The example above works in most browsers, because the closing tag is considered optional.
Never rely on this. Many HTML elements will produce unexpected results and/or errors if you
forget the end tag.
<br> is an empty element without a closing tag (the <br> tag defines a line break).
Tip: In XHTML, all elements must be closed. Adding a slash inside the start tag, like <br />, is
the proper way of closing empty elements in XHTML (and XML).
Attribute Example
HTML links are defined with the <a> tag. The link address is specified in the href attribute:
<a href="http://www.zanamwe.com" >This is a link</a>
Below is a list of some attributes that can be used on any HTML element:
Attribute Description
class Specifies one or more class names for an element (refers to a class in a style
sheet)
id Specifies a unique id for an element
style Specifies an inline CSS style for an element
title Specifies extra information about an element (displayed as a tool tip)
<h1> defines the most important heading. <h6> defines the least important heading.
Example
<h1>This is a heading</h1>
<h2>This is a heading</h2>
<h3>This is a heading</h3>
<h4>This is a heading</h4>
<h5>This is a heading</h5>
<h6>This is a heading</h6>
Note: Browsers automatically add some empty space (a margin) before and after each heading.
Use HTML headings for headings only. Don't use headings to make text BIG or bold.
Search engines use your headings to index the structure and content of your web pages.
Since users may skim your pages by its headings, it is important to use headings to show the
document structure.
H1 headings should be used as main headings, followed by H2 headings, then the less important H3
headings, and so on.
Example
<p>This is a paragraph.</p>
<hr />
<p>This is a paragraph.</p>
<hr />
<p>This is a paragraph.</p>
Note: Browsers automatically add an empty line before and after a paragraph.
Example
<p>This is<br>a para<br>graph with line breaks</p>
Links are found in nearly all Web pages. Links allow users to click their way from page to page.
A hyperlink (or link) is a word, group of words, or image that you can click on to jump to another
document.
When you move the cursor over a link in a Web page, the arrow will turn into a little hand.
The most important attribute of the <a> element is the href attribute, which indicates the link’s
destination.
<a href="url">Link text</a>
Example
<a href="http://www.zanamwe.com/">Visit Zanamwe’s Page</a> which will
Tip: The "Link text" doesn't have to be text. It can be an image or any other HTML element.
HTML Links - The target Attribute
The example below will open the linked document in a new browser window or a new tab:
Example
<a href="http://www.zanamwe.com/" target="_blank">Visit Zanamwe’s Page!</a>
Tip: Bookmarks are not displayed in any special way. They are invisible to the reader.
Example
<a id="tips">Useful Tips Section</a>
Create a link to the "Useful Tips Section" inside the same document:
<a href="#tips">Visit the Useful Tips Section</a>
Or, create a link to the "Useful Tips Section" from another page:
<a href="http://www.zanamwe.com/html_links.htm#tips">
Visit the Useful Tips Section</a>
Email Link
<a href="mailto:nbzanamwe@gmail.com">Email Zanamwe</a>
The following tags can be added to the head section: <title>, <style>, <meta>, <link>, <script>,
<noscript>, and <base>.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
The content of the document......
</body>
</html>
The <base> tag specifies the base URL/target for all relative URLs in a page:
<head>
<base href="http://www.zanamwe.com/images/" target="_blank">
</head>
The <link> tag defines the relationship between a document and an external resource.
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
The <style> tag is used to define style information for an HTML document.
Inside the <style> element you specify how HTML elements should render in a browser:
<head>
<style type="text/css"> body {backgroundcolor:yellow;}
p {color:blue;}
</style>
</head>
The <meta> tag provides metadata about the HTML document. Metadata will not be displayed on
the page, but will be machine parsable.
Meta elements are typically used to specify page description, keywords, author of the document,
last modified, and other metadata.
The metadata can be used by browsers (how to display content or reload page), search engines
(keywords), or other web services.
<meta name="description" content=" Web tutorials on HTML and CSS">
<meta name="author" content="Zanamwe Ngonidzashe">
<meta httpequiv="refresh" content="30">
The <img> tag is empty, which means that it contains attributes only, and has no closing tag.
To display an image on a page, you need to use the src attribute. Src stands for "source". The value
of the src attribute is the URL of the image you want to display.
<img src="url" alt="some_text">
The URL points to the location where the image is stored. An image named "boat.gif", located in
the "images" directory on "http://localhost" has the URL: http://localhost/images/boat.gif.
The browser displays the image where the <img> tag occurs in the document. If you put an
image tag between two paragraphs, the browser shows the first paragraph, then the image, and
then the second paragraph.
The required alt attribute specifies an alternate text for an image, if the image cannot be displayed.
The alt attribute provides alternative information for an image if a user for some reason cannot view
it (because of slow connection, an error in the src attribute, or if the user uses a screen reader).
The height and width attributes are used to specify the height and width of an image.
Tip: It is a good practice to specify both the height and width attributes for an image. If these
attributes are set, the space required for the image is reserved when the page is loaded.
However, without these attributes, the browser does not know the size of the image. The effect
will be that the page layout will change during loading (while the images load).
Loading images takes time, so my best advice is: Use images carefully.
Note: When a web page is loaded, it is the browser, at that moment, that actually gets the image
from a web server and inserts it into the page. Therefore, make sure that the images actually
stay in the same spot in relation to the web page, otherwise your visitors will get a broken link
icon. The broken link icon is shown if the browser cannot find the image.
Numbered
<ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
<li>List item 4</li>
</ol>
Capital Letters
<ol type="A">
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
<li>List item 4</li>
</ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
<li>List item 4</li>
</ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
<li>List item 4</li>
</ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
<li>List item 4</li>
</ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
<li>List item 4</li>
</ol>
Unordered lists
Example 1:
<br>
<br>
<ul type=”square”>
<li>List item 1</li>
<li>List item 2</li>
</ul>
<br>
Example 2:
<br>
<ul type="disc">
<li>List item 1</li>
<li>List item 2</li>
<ul type="circle">
<li>List item 3</li>
<li>List item 4</li>
</ul>
</ul>
Examples:
<h1>, <p>, <ul>, <table>
<b>, <td>, <a>, <img>
The <div> element has no special meaning. Except that, because it is a block level element, the
browser will display a line break before and after it.
When used together with CSS, the <div> element can be used to set style attributes to large blocks
of content.
Another common use of the <div> element, is for document layout. It replaces the "old way"
of defining layout using tables. Using <table> elements for layout is not the correct use of
<table>. The purpose of the <table> element is to display tabular data.
When used together with CSS, the <span> element can be used to set style attributes to parts of
the text.
Web page layout is very important to make your website look good. Design your webpage layout
very carefully.
Website Layouts
Most websites have put their content in multiple columns (formatted like a magazine or
newspaper). Multiple columns are created by using <div> or <table> elements. CSS are used to
position elements, or to create backgrounds or colorful look for the pages.
Even though it is possible to create nice layouts with HTML tables, tables were designed for
presenting tabular data - NOT as a layout tool!
The div element is a block level element used for grouping HTML elements.
The following example uses six div elements to create a multiple column layout.
<!DOCTYPE html>
<html>
<body>
<div id="container" style="width:100%; height: 100%;">
<header id="header" style="backgroundcolor:#FFA500;">
<h3 style="marginbottom:0;">
Zanamwe Cyber Money
</h3>
<nav>
<ul >
<li style="display: inline"> <a href="#">Home
</a></li>
<li style="display: inline"><a href="#"> About
Us </a></li>
<li style="display: inline"><a href="#">
Products </a></li>
<li style="display: inline"><a href="#"> Contact
Us </a></li>
</ul>
</nav>
</header>
<aside id="rmenu" style="backgroundcolor:#FFD700;
height:500px; width:150px; float:left;">
<nav>
<ul>
<li> <a href="#">HTML </a></li>
<li><a href="#"> CSS </a></li>
<li><a href="#"> JavaScript </a></li>
</ul>
</nav>
</aside>
<aside id="lmenu" style="background
color:#FFD700;height:500px;width:150px; float: right; ">
<nav>
<nav>
<ul>
<li> <a href="#">HTML </a></li>
<li><a href="#"> CSS </a></li>
<li><a href="#"> JavaScript </a></li>
</ul>
</nav>
</aside>
<main id="content" style="background
color:#EEEEEE;height:500px;width:1200px;">
<article>
<h4>Inline Styles </h4>
An inline style loses many of the advantages of
style sheets by mixing content with presentation. Use this method
sparingly! To use inline styles you use the style attribute in the
relevant tag. The style attribute can contain any CSS property. The
example shows how to change the color and the left margin of a
paragraph:
</article>
<h4>External Style Sheet </h4>
An external style sheet is ideal when the style is
applied to many pages. With an external style sheet, you can change the
look of an entire Web site by changing one file. Each page must link to
the style sheet using the <link> tag. The <link> tag goes inside the
head section:
<article>
</article>
<article>
<h4>CSS Float </h4>
With CSS float, an element can be pushed to the left
or right, allowing other elements to wrap around it. Float is very often
used for images, but it is also useful when working with layouts.
How Elements Float
Elements are floated horizontally, this means that
an element can only be floated left or right, not up or down.
A floated element will move as far to the left or
right as it can. Usually this means all the way to the left or right of
the containing element. The elements after the floating element will
flow around it. The elements before the floating element will not be
affected. If an image is floated to the right, a following text flows
around it, to the left:
</article>
</main>
<footer id="footer" style="background
color:#FFA500;clear:both;textalign:center;">
Copyright © zanamwe.com
</footer>
</div>
</body>
</html>
Output:
5.10.1 The Shiv
HTML5 semantic elements are supported in all modern browsers.
In addition, you can "teach" older browsers how to handle "unknown elements".
Hex values are written as 3 double digit numbers, starting with a # sign.
Color Examples
Color Color HEX Color RGB
#000000 rgb(0,0,0)
#FF0000 rgb(255,0,0)
#00FF00 rgb(0,255,0)
HTML Color Names
Color Names Supported by All Browsers
140 color names are defined in the HTML and CSS color specification (17 standard colors plus
123 more).
Tip: The 17 standard colors are: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive,
orange, purple, red, silver, teal, white, and yellow.
It is not possible to use the less than (<) or greater than (>) signs in your text, because the browser
will mix them with tags.
To actually display reserved characters, we must use character entities in the HTML source code.
&entity_name;
OR
&#entity_number;
Tip: The advantage of using an entity name, instead of a number, is that the name is easier to
remember. However, the disadvantage is that browsers may not support all entity names (the
Browsers will always truncate spaces in HTML pages. If you write 10 spaces in your text, the
browser will remove 9 of them, before displaying the page. To add spaces to your text, you can
use the character entity.
6 HTML TABLES
A table consists of a start tag <TABLE> and end tag </TABLE>. Between these, it is build up
from a series of rows, which have a start tag <TR> and an end tag </TR>. Inside those, there
are a number of columns, or cells, each with a start tag <TD> and end tag </TD>. The browser
will not render the table until it has entirely loaded. The basic structure of a table might look
like the following HTML fragment: <table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
7 HTML Forms
• Forms are a vital tool for the webmaster to receive information from the web surfer,
such as: their name, email address, credit card, etc. A form will take input from the
viewer and depending on your needs; you may store that data into a file, place an order,
gather user statistics, register the person to your web forum, or maybe subscribe them to
your weekly newsletter.
Text Fields
• Before we teach you how to make a complete form, let's start out with the basics of
forms. Input fields are going to be the meat of your form's sandwich. The <input> has a
few attributes that you should be aware of.
type - Determines what kind of input field it will be. Possible choices are text, submit, and
password.
name - Assigns a name to the given field so that you may reference it later.
size - Sets the horizontal width of the field. The unit of measurement is in blank spaces.
maxlength - Dictates the maximum number of characters that can be entered.
HTML Code:
</form>
Input Forms:
ss Name:
**** Password:
Do not use the password for security purposes. The data in the password field is not encrypted and
is not secure in any way.
HTML Code:
<form method="post" action="mailto:youremail@email.com">
Name:
<input type="text" size="10" maxlength="40" name="name"> <br />
Password:
<input type="password" size="10" maxlength="10" name="password"><br />
<input type="submit" value="Send">
</form>
Email Forms:
Name: Password:
Send
Simply change the email address to your own and you will have set up your first functional form!
HTML Code:
<form method="post"
action="mailto:nzanamwe@science.uz.ac.zwm"> What kind of
shirt are you wearing? <br />
Shade:
<input type="radio" name="shade" value="dark">Dark
<input type="radio" name="shade" value="light">Light <br />
Size:
<input type="radio" name="size" value="small">Small
<input type="radio" name="size" value="medium">Medium
<input type="radio" name="size" value="large">Large <br />
<input type="submit" value="Email Myself">
</form>
Radios:
What kind of shirt are you wearing?
The size attribute selects how many options will be shown at once before needing to scroll, and the
selected option tells the browser which choice to select by default.
HTML Code:
<form method="post" action="mailto:nbzanamwe@gmail.com">
Musical Taste
<select multiple name="music" size="4">
<option value="emo" selected>Emo</option>
<option value="metal/rock" >Metal/Rock</option>
<option value="hiphop" >Hip Hop</option>
<option value="ska" >Ska</option>
<option value="jazz" >Jazz</option>
<option value="country" >Country</option>
<option value="classical" >Classical</option>
<option value="alternative" >Alternative</option>
<option value="oldies" >Oldies</option>
<option value="techno" >Techno</option>
</select>
<input type="submit" value="Email Yourself">
</form>
Selection Forms:
Musical Taste
HTML Input Attributes
First name:<br>
<input type="text" name="firstname" value="John">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
<form action="">
First name:<br>
<input type="text" name="firstname" value="John" readonly>
<br>
Last name:<br>
<input type="text" name="lastname"> </form>
The readonly attribute does not need a value. It is the same as writing readonly="readonly".
Example
<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
HTML5 Attributes
HTML5 added the following attributes for <input>:
• autocomplete
• autofocus
• form
• formaction
• formenctype
• formmethod
• formnovalidate
• formtarget
• height and width
• list
• min and max
• multiple
• pattern (regexp)
• placeholder
• required
• step
• autocomplete
• novalidate
Input types, not supported by old web browsers, will behave as input type text.
7.1.1 Example
An HTML form with autocomplete on (and off for one input field):
<form action="action_page.php" autocomplete="on">
First name:<input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
E-mail: <input type="email" name="email" autocomplete="off"><br>
<input type="submit"> </form>
Tip: In some browsers you may need to activate the autocomplete function for this to work.
7.1.2 Example
The second submit button overrides the HTTP method of the form:
<form action="action_page.php" method="get">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
<input type="submit" formmethod="post" formaction="demo_post.asp" value="Submit
using POST"> </form>
<input list="browsers">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome"> <option
value="Opera">
<option value="Safari"> </datalist>
The <input type="date"> is used for input fields that should contain a date.
Depending on browser support, a date picker can show up in the input field.
Example
<form>
Birthday: input type="date" name="bday">
</form>
CSS are text files, or special text in a HTML file, which allows you to specify styles, formatting,
and positioning of HTML objects.
Cascading
Multiple styles can overlap in order to specify a range of styles from a whole web site down to a
unique element. Which style gets applied pertains to the rules of CSS cascading logic.
Style
CSS deals specifically with the presentation domain of designing a web page. Style gives an
item its distinctive look or feel. For text it could be what font is used, what color, size, or
spacing. It also applies to other HTML objects such as links, images, backgrounds, margins and
borders.
Sheet
Normally, CSS is a file separate from the HTML file –linked to the HTML file through its <head>
(exceptions apply).
Some of the benefits to using CSS are more consistency, better layout and visual design, plus easier
HTML coding. Also you can do things with style sheets that could never be done before.
• Consistency: This would apply for larger sites, and many different developers A site-
global style sheet could be set up, which all pages would refer to. This sheet could
include the look and feel you want for the complete site. Each page would maintain the
same attributes throughout the site. The ability to change one item, on one page can
change the same attribute on your whole site.
• Easier coding: No more elaborate tables, and complicated HTML. This will also greatly
benefit the large multi-contributor web environments. The HTML code using style
sheets is much simpler. The code reverts back to what it was in the early simple days.
Just using header tags (H1, H2, ...), and paragraph tags with style sheets can produce a
rich document, with the help of a SPAN and DIV tag here and there.
• Rich design and layout: Cascading Style Sheets bring professional layout and design
control to HTML documents. Here's a brief listing of what you can do with style sheets
that you could only do with an elaborate work around, or not at all.
o exact positioning of elements o font control (size, color, family) o white space control,
margins, leading o background control (placement, repeat, ...)
also, CSS reduce workload by centralizing commands for visual appearance instead of scattered
throughout the HTML doc, reduce page download size.
CSS Syntax
A CSS rule has two main parts: a selector, and one or more declarations:
Selectors
The selector chooses elements to apply a declared style. The selector is normally the HTML
element you want to style. Each declaration consists of a property and a value. The property is
the style attribute you want to change. Each property has a value. CSS declarations always end
with a semicolon, and declaration groups are surrounded by curly brackets
Selector types:
1. Element Selectors: selects all elements of a specific type (<body>, <h1>, <p>,
etc.)
2. Class Selectors: selects all elements that belong to a given class.
3. ID Selectors: selects a single element that’s been given a unique id.
4. Pseudo Selectors: combines a selector with a user activated state(:hover, :link, :visited)
p {color:red; text-
align:center;}
To make the CSS more readable, you can put one declaration on each line, like this:
Example 1 p { color:red;
text-align:center;
}
Finds all HTML elements of type <p> and makes the text color red and align text to the center.
Example 2
h1{ color: blue;
}
Finds all elements of type <h1> and makes the text color blue.
CSS Comments
Comments are used to explain your code, and may help you when you edit the source code at a later
date. Comments are ignored by browsers.
A CSS comment begins with "/*", and ends with "*/", like this:
/*This is a comment*/ p {
text-align:center; /*This is another
comment*/ color:black; font-
family:arial;
}
Example
.center {text-align:center;}
You can also specify that only specific HTML elements should be affected by a class. In the
example below, all p elements with class="center" will be center-aligned:
Example
p.center {text-align:center;}
Do NOT start a class name with a number! This is only supported in Internet Explorer. When a
browser reads a style sheet, it will format the document according to it.
8.4 Pseudo-Selectors
Apply styles to a user activated state of an element. If used, must be declared in a specific order in
the style sheet. General Purpose Pseudo-Selectors include:
When setting the style for several link states, there are some order rules:
• a:hover MUST come after a:link and a:visited
• a:active MUST come after a:hover
Background Color
The background-color property specifies the background color for links:
Example
a:link {backgroundcolor:#B2FF99;} a:visited {backgroundcolor:#FFFF85;}
a:hover {backgroundcolor:#FF704D;} a:active {backgroundcolor:#FF704D;}
p:firstline { textdecoration: underline; }
Example:
Finds all elements of type <h1>, all elements with class=“legs” and the single element whose id =
“snout” then makes their font-size 20pt.
For W3C compliant CSS: If you define the color property, you must also define the
background-color property.
Text Alignment
The text-align property is used to set the horizontal alignment of a text. Text can be centered, or
aligned to the left or right, or justified. When text-align is set to "justify", each line is stretched
so that every line has equal width, and the left and right margins are straight (like in magazines
and newspapers).
Example
h1 {text-align:center;}
p.date {text-align:right;}
p.main {text-align:justify;} p#main {text-
align:justify;} Text Decoration
The text-decoration property is used to set or remove decorations from text. The text-decoration
property is mostly used to remove underlines from links for design purposes:
Example a {text-decoration:none;}
8.5.1 Example
h1 {text-decoration:overline;} h2 {text-
decoration:line-through;} h3 {text-
decoration:underline;}
h4 {text -decoration:blink;}
It is not recommended to underline text that is not a link, as this often confuses users.
Text Transformation
The text-transform property is used to specify uppercase and lowercase letters in a text.
It can be used to turn everything into uppercase or lowercase letters, or capitalize the first letter of
each word.
Example
p.uppercase {text-transform:uppercase;}
p.lowercase {text-transform:lowercase;}
p.capitalize {text-transform:capitalize;}
Text Indentation
The text-indentation property is used to specify the indentation of the first line of a text.
Example
p {text indent:50px;}
Example
Font Style
The font-style property is mostly used to specify italic text.
This property has three values:
• normal - The text is shown normally
• italic - The text is shown in italics
• oblique - The text is "leaning" (oblique is very similar to italic, but less supported)
Example
p.normal {font-style:normal;}
p.italic {font-style:italic;}
p.oblique {font-style:oblique;}
Padding
Is the distance between the outside edges of the element and the border and is defined in pixels (px)
blockquote {
border-width: 1pt 1pt 0pt 1pt; border-color:
black; border-style: solid;
}
This creates a black, solid border for the top, right, and left sides of the box.
2. You can define the width, color, and style for the box individually for example:
blockquote {
border-top: 1pt solid black; border-right: 1pt solid black;
border-left: 1pt solid black;
}
Valid styles for border are:
✦ none
✦ dotted
✦ dashed
✦ solid
✦ double
✦ groove
✦ ridge
✦ inset
✦ outset
Margin
Is the distance between the border and the outer box of the next container. Margins are created
with the margin, margin-top, margin-right, margin-bottom, and margin-left properties. They
work exactly the same as the padding.
Outline
An outline is a line that is drawn around elements (outside the borders) to make the element
"stand out".
The outline properties specify the style, color, and width of an outline.
Every tag will have the color: red attribute applied to it.
Shorthand Expressions
The following styles can be shortened:
TO
p.bordered {
border-top: 1px solid black; border-right: 2px dashed red;
border-bottom: 1px solid black; border-left: 2px dashed
red;
}
List
The type of list item marker is specified with the list-style-type property:
Example
ul.a {list-style-type: circle;}
ul.b {list-style-type: square;}
To specify an image as the list item marker, use the list-style-image property:
Example
ul {
list-style-image: url('sqpurple.gif');
}
The example below specifies a black border for table, th, and td elements:
8.9 Example
table, th, td
{
border: 1px solid black;
}
Notice that the table in the example above has double borders. This is because both the table
and the th/td elements have separate borders.
To display a single border for the table, use the border-collapse property.
8.11 Example
table {
border-collapse:collapse;
}
table,th, td
{
border: 1px solid black; }
CSS Tables
8.12 Table Width and Height
Width and height of a table is defined by the width and height properties.
The example below sets the width of the table to 100%, and the height of the th elements to
50px:
Example table {
width:100%; }
th {
height:50px;
}
The text in a table is aligned with the text-align and vertical-align properties.
The text-align property sets the horizontal alignment, like left, right, or center:
Example
td {
text-align:right;
}
The vertical-align property sets the vertical alignment, like top, bottom, or middle:
Example
td
{ height:5
0px;
vertical-
align:bott
om; }
Table Padding
To control the space between the border and content in a table, use the padding property on td
and th elements:
8.13 Example
td {
padding:15px;
}
Table Color
The example below specifies the color of the borders, and the text and background color of th
elements:
Example table, td,
th
{
border:1px solid green;
} th {
background-color:green; color:white;
}
Positioning
The CSS positioning properties allow you to position an element. It can also place an element
behind another, and specify what should happen when an element's content is too big.
Elements can be positioned using the top, bottom, left, and right properties. However, these
properties will not work unless the position property is set first. They also work differently
depending on the positioning method.
HTML elements are positioned static by default. A static positioned element is always
positioned according to the normal flow of the page.
Static positioned elements are not affected by the top, bottom, left, and right properties.
Fixed Positioning
Note: IE7 and IE8 support the fixed value only if a !DOCTYPE is specified.
Fixed positioned elements are removed from the normal flow. The document and other
elements behave like the fixed positioned element does not exist. Fixed positioned
elements can overlap other elements.
Relative Positioning
The content of relatively positioned elements can be moved and overlap other elements, but the
reserved space for the element is still preserved in the normal flow.
Example h2.pos_top
{ position:relative; top:-
50px;
}
Relatively positioned elements are often used as container blocks for absolutely positioned
elements.
Absolute Positioning
An absolute position element is positioned relative to the first parent element that has a position
other than static. If no such element is found, the containing block is <html>:
Example h2
{ position:absolute;
left:100px; top:150px;
}
Absolutely positioned elements are removed from the normal flow. The document and other
elements behave like the absolutely positioned element does not exist.
Overlapping Elements
When elements are positioned outside the normal flow, they can overlap other elements.
The z-index property specifies the stack order of an element (which element should be placed in
front of, or behind, the others).
An element can have a positive or negative stack order:
Example
img {
position:absolute;
left:0px; top:0px; z-
index:-1;
}
With CSS float, an element can be pushed to the left or right, allowing other elements to wrap
around it. Float is very often used for images, but it is also useful when working with layouts.
A floated element will move as far to the left or right as it can. Usually this means all the way
to the left or right of the containing element. The elements after the floating element will flow
around it. The elements before the floating element will not be affected. If an image is floated
to the right, a following text flows around it, to the left:
Example
img {
float:right;
}
Example
.thumbnail
{ float:left;
width:110px;
height:90px;
margin:5px;
}
An external style sheet can be written in any text editor. The file should not contain any html tags.
Your style sheet should be saved with a .css extension. An example of a style sheet file is shown
below:
hr {color:sienna;} p {margin-
left:20px;}
body {background-image:url("images/back40.gif");}
Do not leave spaces between the property value and the units! "margin-left:20 px" (instead of
"marginleft:20px") will work in IE, but not in Firefox or Opera.
Alternatively,
Inline Styles
An inline style loses many of the advantages of style sheets by mixing content with
presentation. Use this method sparingly! To use inline styles you use the style attribute in the
relevant tag. The style attribute can contain any CSS property. The example shows how to
change the color and the left margin of a paragraph:
We're going to look at the process of creating a horizontal menu with CSS. At its core, a CSS menu
is made up of lists, so creating one is our first step.
• Home
• About Us
• Services
• Contact Us
Here is the code for that manually:
<div id="menu">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</div>
Looking at the list (above) you'll see that it's vertical and unadorned. We're going to fix that with
CSS and detail each step.
Here's the first step of setting up the CSS menu code, by creating a wrapper for the text and
defining a background color. Two CSS3 effects have been applied: text-shadow and border-radius.
This next bit of code removes the default padding from the list.
In the step below we're going to change the positioning of the text so it fits into the menu and
runs horizontally (inline). We're also going to add some padding to the text for the horizontal
positioning. Here's the code:
In the next step, we remove the text underline and change the color of the text to something
reminiscent of the text underline color. In addition, the padding is set to 8px in all areas. This
will control the position and size of the hover in the next section. Here's the code:
#menu a {
text-decoration: none; color: #00F;
padding: 8px 8px 8px 8px;
}
The last step sets the hover effect for the text. Here's the code:
And here's the final result with one of the menu items activated by mousing over it. This
finishes our simple horizonal menu, but it doesn't end here. There are many more things that
you can do, such as drop down navigation and using textures. If you want to use textures, you
can download free textures online or create them from scratch.
One of my favorite programs for texture creation is Corel PHOTO-PAINT, which has an
awesome texture creation component. You can work with photographic or computer
created textures to use in your layouts.
Note the addition of the image to the code and the use of background-repeat: no-repeat; to stop
the image from tiling.
Question:
Develop a functional informational website for a company of your choice that is
marketing a single class of related products. You must use CSS to style your pages and
you must design a horizontal menu bar with sub-lists or options.
Submission Requirements:
In the root of your home directory on the network drive you need to create a directory named
hct114assignment22016. Inside this directory, create a subdirectory named after your
registration number. Note these directory names must be specified in lowercase for example:
hct114assignment22016/r0020219
Save all your solutions in the subfolder that you created.