Overview HTML

Image
Chapter: 1 Welcome to HTML! HTML stands for  H yper T ext  M arkup  L anguage. Unlike a scripting or programming language that uses scripts to perform functions, a markup language uses tags to identify content. Here is an example of an HTML tag: <p> I'm a paragraph </p> HTML Try it Yourself This course is a combination of interactive quizzes and exercises to facilitate spe ed and quality of learning.  What does a markup language use to identify content? A. scripts B. tags C. commands D. functions The Web Structure The ability to code using HTML is essential for any web professional. Acquiring this skill should be the starting point for anyone who is learning how to create content for the web. Modern Web Design HTML : Structure CSS : Presentation JavaScript : Behavior PHP or similar : Backend CMS : Content Management HTML is easy to learn. So don't wait! Dive right in! The Web Structure Rearrange the code to surround the text "I am learning HTML on SoloLea...

HTML-5

                    Chapter:26

            Introduction to HTML5 

  

HTML5


When writing HTML5 documents, one of the first new features that you'll notice is the doc type declaration:

<!DOCTYPE HTML>
HTML

The character encoding (charset) declaration is also simplified:

<meta charset="UTF-8">
HTML

New Elements in HTML5
<article>, <aside>, <audio>, <canvas>, <datalist>, <details>, <embed>, <footer>, <header>, <nav>, <output>, <progress>, <section>, <video>, and even more!

The default character encoding in HTML5 is UTF-8.


HTML5

Drag and drop from the options below to create a valid HTML5 doctype:

<

!DOCTYPE

HTML

>


<html>


<head>


<title>Title</title>


</head>


<body>


The content of the document


</body>


</html>


New in HTML5

Forms
- The Web Forms 2.0 specification allows for creation of more powerful forms and more compelling user experiences.
- Date pickers, color pickers, and numeric stepper controls have been added.
- Input field types now include email, search, and URL.
- PUT and DELETE form methods are now supported.

Integrated API (Application Programming Interfaces)
- Drag and Drop
- Audio and Video
- Offline Web Applications
- History
- Local Storage
- Geolocation
- Web Messaging

You will learn more about these new features in the upcoming lessons.
Tap the Continue button to begin!


New in HTML5

Which element/feature is not new in HTML5?

Image
Geolocation
Audio and video elements
Drag and drop


                    Chapter:27

                  Content Models


The List of Content Models


In HTML, elements typically belonged in either the block level or inline content model. HTML5 introduces seven main content models.

- Metadata
- Embedded
- Interactive
- Heading
- Phrasing
- Flow
- Sectioning

The HTML5 content models are designed to make the markup structure more meaningful for both the browser and the web designer.


How many content models does HTML5 offer?


Content Models

Metadata: Content that sets up the presentation or behavior of the rest of the content. These elements are found in the head of the document.
Elements: <base>, <link>, <meta>, <noscript>, <script>, <style>, <title>

Embedded: Content that imports other resources into the document.
Elements: <audio>, <video>, <canvas>, <iframe>, <img>, <math>, <object>, <svg>

Interactive: Content specifically intended for user interaction.
Elements: <a>, <audio>, <video>, <button>, <details>, <embed>, <iframe>, <img>, <input>, <label>, <object>, <select>, <textarea>

Heading: Defines a section header.
Elements: <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <hgroup>

Phrasing: This model has a number of inline level elements in common with HTML4.
Elements: <img>, <span>, <strong>, <label>, <br />, <small>, <sub>, and more.

The same element can belong to more than one content model.


Content Models

Where is the metadata located in an HTML5 document?

head
link
body
paragraph


Content Models


Flow content: Contains the majority of HTML5 elements that would be included in the normal flow of the document.

Sectioning content: Defines the scope of headings, content, navigation, and footers.
Elements: <article>, <aside>, <nav>, <section>contentImage

The various content models overlap in certain areas, depending on how they are being used.


Content Models

Which content model contains almost all of the others?

Heading
Interactive
Flow
Metadata


                    Chapter:28

            HTML5 Page Structure


Page Structure in HTML5


A generic HTML5 page structure looks like this:contentImage

You may not need some of these elements, depending on your page structure.

Page Structure in HTML5

Steps to create a generalized HTML5 page structure.

<header>
<nav>
<article>
<section>
<footer>


                    Chapter:29

             Header, Nav & Footer


The <header> Element


In HTML4, we would define a header like this:
<div id="header">
HTML
In HTML5, a simple <header> tag is used, instead.

The <header> element is appropriate for use inside the body tag.
<!DOCTYPE html>
<html>
<head></head>
<body>
<header>
<h1> Most important heading </h1>
<h3> Less important heading </h3>
</header>
</body>
</html>
HTML
contentImage
Note that the <header> is completely different from the <head> tag.


The <header> Element

The header element is appropriate to use...

...inside of the head tag
...at the top of the document
...inside of the body tag
...inside the footer


The <footer> Element


The footer element is also widely used. Generally we refer to a section located at the very bottom of the web page as the footer.

<footer></footer>
HTML
The following information is usually provided between these tags:
- Contact Information
- Privacy Policy
- Social Media Icons
- Terms of Service
- Copyright Information
- Sitemap and Related Documents


The <footer> Element

Which tag specifies the footer element?

<
>


The <nav> Element


This tag represents a section of a page that links to other pages or to certain sections within the page. This would be a section with navigation links.

Here is an example of a major block of navigation links:

<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">About us</a></li>
</ul>
</nav>
HTML

contentImage

Not all of the links in a document should be inside a <nav> element. The <nav> element is intended only for major blocks of navigation links. Typically, the <footer> element often has a list of links that don't need to be in a <nav> element.

The <nav> Element

Followings are the sections to create a generic HTML5 page structure:

<head>
<header>
<nav>
<footer>


                    Chapter:30

             Article, Section & Aside


The <article> Element


Article is a self-contained, independent piece of content that can be used and distributed separately from the rest of the page or site. This could be a forum post, a magazine or newspaper article, a blog entry, a comment, an interactive widget or gadget, or any other independent piece of content.

The <article> element replaces the <div> element that was widely used in HTML4, along with an id or class.

<article>
<h1>The article title</h1>
<p>Contents of the article element </p>
</article>
HTML
When an <article> element is nested, the inner element represents an article related to the outer element. For example, blog post comments can be <article> elements nested in the <article> representing the blog post.

The <article> Element

Which element was usually used in HTML4 instead of the article tag?

<
>


The <section> Element


<section> is a logical container of the page or article.
Sections can be used to divide up content within an article.
For example, a homepage could have a section for introducing the company, another for news items, and still another for contact information.

Each <section> should be identified, typically by including a heading (h1-h6 element) as a child of the <section> element.

<article>
<h1>Welcome</h1>
<section>
<h1>Heading</h1>
<p>content or image</p>
</section>
</article>
HTML
If it makes sense to separately syndicate the content of a <section> element, use an <article> element instead.


The <section> Element

The section element should be used only inside an article element.

False
True


The <aside> Element


<aside> is secondary or tangential content which could be considered separate from but indirectly related to the main content.
This type of content is often represented in sidebars.
When an <aside> tag is used within an <article> tag, the content of the <aside> should be specifically related to that article.

<article>
<h1> Gifts for everyone </h1>
<p> This website will be the best place for choosing gifts </p>
<aside>
<p> Gifts will be delivered to you within 24 hours </p>
</aside>
</article>
HTML
When an <aside> tag is used outside of an <article> tag, its content should be related to the surrounding content.


The <aside> Element

The aside element is used to define:

comments
secondary content
a description of a text
main content


                    Chapter:31

               The Audio Element


Audio on the Web


Before HTML5, there was no standard for playing audio files on a web page.
The HTML5 <audio> element specifies a standard for embedding audio in a web page.

There are two different ways to specify the audio source file's URL. The first uses the source attribute:

audio src="audio.mp3" controls>
Audio element not supported by your browser
</audio>
HTML

The second way uses the <source> element inside the <audio> element:

<audio controls>
<source src="audio.mp3" type="audio/mpeg">
<source src="audio.ogg" type="audio/ogg">
</audio>
HTML
Multiple <source> elements can be linked to different audio files. The browser will use the first recognized format.


Audio on the Web

Fill in the blanks to add an audio element:

<
controls>

<source
="test.ogg"

type="audio/ogg" >

</audio>


Audio on the Web


The <audio> element creates an audio player inside the browser.

<audio controls>
<source src="audio.mp3" type="audio/mpeg">
<source src="audio.ogg" type="audio/ogg">
Audio element not supported by your browser.
</audio>
HTML

Result:contentImage

The text between the <audio> and </audio> tags will display in browsers that do not support the <audio> element.

Audio on the Web

The text in between the audio tags is:

ignored
for supporting multiple audio type
for not supported browsers


Attributes of <audio>


controls
Specifies that audio controls should be displayed (such as a play/pause button, etc.)

autoplay
When this attribute is defined, audio starts playing as soon as it is ready, without asking for the visitor's permission.

<audio controls autoplay>
HTML

loop
This attribute is used to have the audio replay every time it is finished.

<audio controls autoplay loop>
HTML
Currently, there are three supported file formats for the <audio> element: MP3, WAV, and OGG.


Attributes of <audio>

Which of the following is not an attribute of the audio element?

controls
repeat
src
autoplay


                    Chapter:32

               The Video Element


Videos in HTML


The video element is similar to the audio element.
You can specify the video source URL using an attribute in a video element, or using source elements inside the video element:
<video controls>
<source src="video.mp4" type="video/mp4">
<source src="video.ogg" type="video/ogg">
Video is not supported by your browser
</video>
HTML
Another aspect that the audio and video elements have in common is that the major browsers do not all support the same file types. If the browser does not support the first video type, it will try the next one.


Videos in HTML

Fill in the blanks to create a video element:

<
controls>

<source
="video.mp4" type="video/mp4"/>

<
src="video.ogg" type="video/ogg"/>

Video not supported

</video>


Attributes of <video>


Another aspect shared by both the audio and the video elements is that each has controlsautoplay and loop attributes.

In this example, the video will replay after it finishes playing:

<video controls autoplay loop>
<source src="video.mp4" type="video/mp4">
<source src="video.ogg" type="video/ogg">
Video is not supported by your browser
</video>
HTML
Currently, there are three supported video formats for the <video> element: MP4, WebM, and OGG.



                    Chapter:33

             The Progress Element


Progress Bar


The <progress> element provides the ability to create progress bars on the web.
The progress element can be used within headings, paragraphs, or anywhere else in the body.

Progress Element Attributes
Value: Specifies how much of the task has been completed.
Max: Specifies how much work the task requires in total.

Example:

Status: <progress min="0" max="100" value="35">
</progress>
HTML

Result:contentImage

Use the <progress> tag in conjunction with JavaScript to dynamically display a task's progress.


Progress Bar

Define a progress bar that shows 63 percent of progress:

<

min="0"

max="100"

="
">

</progress>


                    Chapter:34

                Web Shortage API


HTML5 Web Storage


With HTML5 web storage, websites can store data on a user's local computer.
Before HTML5, we had to use JavaScript cookies to achieve this functionality.

The Advantages of Web Storage
- More secure
- Faster
- Stores a larger amount of data
- Stored data is not sent with every server request
Local storage is per domain. All pages from one domain can store and access the same data.


HTML5 Web Storage

Before HTML5, application data was stored in:


Types of Web Storage Objects


There are two types of web storage objects:
- sessionStorage()
- localStorage()

Local vs. Session
- Session Storage is destroyed once the user closes the browser
- Local Storage stores data with no expiration date

You need to be familiar with basic JavaScript in order to understand and use the API.




Working with Values


The syntax for web storage for both local and session storage is very simple and similar.
The data is stored as key/value pairs.

Storing a Value:

localStorage.setItem("key1", "value1");
JS

Getting a Value:

//this will print the value
alert(localStorage.getItem("key1"));
JS

Removing a Value:

localStorage.removeItem("key1");
JS

Removing All Values:

localStorage.clear();
JS
The same syntax applies to the session storage, with one difference: Instead of localStorage, sessionStorage is used.



                    Chapter:35

                 Geolocation API


What is the Geolocation API?


In HTML5, the Geolocation API is used to obtain the user's geographical location.

Since this can compromise user privacy, the option is not available unless the user approves it.
Geolocation is much more accurate for devices with GPS, like smartphones and the like.


What is the Geolocation API?

With the Geolocation API, you can obtain...

...a map of the world
...local storage
...user location
...browser version


Using HTML Geolocation


The Geolocation API’s main method is getCurrentPosition, which retrieves the current geographic location of the user's device.

navigator.geolocation.getCurrentPosition();
JS

Parameters:
showLocation (mandatory): Defines the callback method that retrieves location information.
ErrorHandler(optional): Defines the callback method that is invoked when an error occurs in processing the asynchronous call.
Options (optional): Defines a set of options for retrieving the location information.

You need to be familiar with basic JavaScript in order to understand and use the API.


Using HTML Geolocation

Which choice is the mandatory parameter of the getCurrentPosition() method?

options
showLocation
errorHandler


Presenting Data


User location can be presented in two ways: Geodetic and Civic.

1. The geodetic way to describe position refers directly to latitude and longitude.
2. The civic representation of location data is presented in a format that is more easily read and understood by the average person.

Each parameter has both a geodetic and a civic representation:contentImage

The getCurrentPosition() method returns an object if it is successful. The latitude, longitude, and accuracy properties are always returned.


                    Chapter:36

                 Drag & Drop API


Making Elements Draggable


The drag and drop feature lets you "grab" an object and drag it to a different location.
To make an element draggable, just set the draggable attribute to true:
<img draggable="true" />
HTML
Any HTML element can be draggable.
The API for HTML5 drag and drop is event-based.

Example:
<!DOCTYPE HTML>
<html>
<head>
<script>
function allowDrop(ev) {
ev.preventDefault();
}

function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>

<div id="box" ondrop="drop(event)"
ondragover="allowDrop(event)"
style="border:1px solid black;
width:200px; height:200px"></div>

<img id="image" src="sample.jpg" draggable="true"
ondragstart="drag(event)" width="150" height="50" alt="" />

</body>
</html>
HTML
What to Drag
When the element is dragged, the ondragstart attribute calls a function, drag(event), which specifies what data is to be dragged.
The dataTransfer.setData() method sets the data type and the value of the dragged data:
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
JS
In our example, the data type is "text" and the value is the ID of the draggable element ("image").

Where to Drop
The ondragover event specifies where the dragged data can be dropped. By default, data and elements cannot be dropped in other elements. To allow a drop, we must prevent the default handling of the element.
This is done by calling the event.preventDefault() method for the ondragover event.

Do the Drop
When the dragged data is dropped, a drop event occurs.
In the example above, the ondrop attribute calls a function, drop(event):
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
JS
The preventDefault() method prevents the browser's default handling of the data (default is open as link on drop).
The dragged data can be accessed with the dataTransfer.getData() method. This method will return any data that was set to the same type in the setData() method.
The dragged data is the ID of the dragged element ("image").

At the end, the dragged element is appended into the drop element, using the appendChild() function.
Basic knowledge of JavaScript is required to understand and use the API.


Making Elements Draggable

How many times can HTML5 events be fired?

None
Only two
One
Multiple


                    Chapter:37

                            SVG


Drawing Shapes


SVG stands for Scalable Vector Graphics, and is used to draw shapes with HTML-style markup.

It offers several methods for drawing paths, boxes, circles, text, and graphic images.
SVG is not pixel-based, so it can be magnified infinitely with no loss of quality.


Drawing Shapes

What does SVG stand for?

scalable
graphics


Inserting SVG Images

An SVG image can be added to HTML code with just a basic image tag that includes a source attribute pointing to the image:

<img src="image.svg" alt="" height="300" />
HTML
SVG defines vector-based graphics in XML format.


Inserting SVG Images

Fill in the blanks to add "my.svg" to the page:

<
src="my.
"

width="300px" alt="" />


Drawing a Circle


To draw shapes with SVG, you first need to create an SVG element tag with two attributes: width and height.

svg width="1000" height="1000"></svg>
HTML

To create a circle, add a <circle> tag:

<svg width="2000" height="2000">
<circle cx="80" cy="80" r="50" fill="green" />
</svg>
HTML

cx pushes the center of the circle further to the right of the screen
cy pushes the center of the circle further down from the top of the screen
r defines the radius
fill determines the color of our circle
stroke adds an outline to the circle

Result:contentImage

Every element and every attribute in SVG files can be animated.


Drawing a Circle

Fill in the blanks to create a red circle at the position X=50, Y=240:

<svg width="1000" height="1000">

<
cx="50"
="240"

r="10"
="red" />

</
>


Other Shape Elements


<rect> defines a rectangle:

<svg width="2000" height="2000">
<rect width="300" height="100"
x="20" y="20" fill="green" />
</svg>
HTML

The following code will draw a green-filled rectangle.contentImage<line> defines a line segment:

<svg width="400" height="410">
<line x1="10" y1="10" x2="200" y2="100"
style="stroke:#000000; stroke-linecap:round;
stroke-width:20" />
</svg>
HTML

(x1, y1) define the start coordinates(x2, y2) define the end coordinates.contentImage<polyline> defines shapes built from multiple line definitions:

<svg width="2000" height="500">
<polyline style="stroke-linejoin:miter; stroke:black;
stroke-width:12; fill: none;"
points="100 100, 150 150, 200 100" />
</svg>
HTML

Points are the polyline's coordinates.
The code below will draw a black check sign:contentImage

The width and height attributes of the <rect> element define the height and the width of the rectangle.

Other Shape Elements

Fill in the blanks to add a line to the page, starting from coordinates 10, 20 and ending at 50, 100:

<svg width="500" height="500">

<
x1="10"
="20"

="50" y2="100" />

</svg>


<ellipse> and <polygon>


Ellipse
The <ellipse> is similar to the <circle>, with one exception:
You can independently change the horizontal and vertical axes of its radius, using the rx and ry attributes.

<svg height="500" width="1000">
<ellipse cx="200" cy="100" rx="150" ry="70" style="fill:green" />
</svg>
HTML

Result:contentImage
Polygon
The <polygon> element is used to create a graphic with at least three sides. The polygon element is unique because it automatically closes off the shape for you.

<svg width="2000" height="2000">
<polygon points="100 100, 200 200, 300 0"
style="fill: green; stroke:black;" />
</svg>
HTML

Result:contentImage

Polygon comes from Greek. "Poly" means "many" and "gon" means "angle."


<ellipse> and <polygon>

Which of the following is an HTML5 SVG shape?

ball
polygon
prism
star


                    Chapter:38

           SVG Animations & Paths


Shape Animations


SVG animations can be created using the <animate> element.

The example below creates a rectangle that will change its position in 3 seconds and will then repeat the animation twice:
<svg width="1000" height="250">
<rect width="150" height="150" fill="orange">
<animate attributeName="x" from="0" to="300"
dur="3s" fill="freeze" repeatCount="2"/>
</rect>
</svg>
HTML
attributeName: Specifies which attribute will be affected by the animation
from: Specifies the starting value of the attribute
to: Specifies the ending value of the attribute
dur: Specifies how long the animation runs (duration)
fill: Specifies whether or not the attribute's value should return to its initial value when the animation is finished (Values: "remove" resets the value; "freeze" keeps the “to value”)
repeatCount: Specifies the repeat count of the animation

In the example above, the rectangle changes its x attribute from 0 to 300 in 3 seconds.
To repeat the animation indefinitely, use the value "indefinite" for the repeatCount attribute.

Shape Animations

Which tag is used to create shape animations?

<
>


Paths


The <path> element is used to define a path.

The following commands are available for path data:
M: moveto
L: lineto
H: horizontal lineto
V: vertical lineto
C: curveto
S: smooth curveto
Q: quadratic Bézier curve
T: smooth quadratic Bézier curveto
A: elliptical Arc
Z: closepath

Define a path using the d attribute:

<svg width="500" height="500">
<path d="M 0 0 L200 200 L200 0 Z" style="stroke:#000; fill:none;" />
</svg>
HTML

M places our "virtual pen" down at the position 0, 0. It then moves 200px down and to the right, then moves up to the position 200, 0. The Z command closes the shape, which results in a hypotenuse:contentImage

All of the above commands can also be expressed with lower case letters. When capital letters are used, it indicates absolute position; lower case indicates relative position.


Paths

Which shape is indicated by the following path? <path d="M0 0 L0 100 L100 100 L100 0 Z" />

Triangle
Square
Nothing
Circle


                    Chapter:39

                        Canvas


The <canvas> Element


The HTML canvas is used to draw graphics that include everything from simple lines to complex graphic objects.

The <canvas> element is defined by:
<canvas id="canvas1" width="200" height="100">
</canvas>
HTML
The <canvas> element is only a container for graphics. You must use a script to actually draw the graphics (usually JavaScript).
The <canvas> element must have an id attribute so it can be referred to by JavaScript:
<html>
<head></head>
<body>
<canvas id="canvas1"
width="400" height="300"></canvas>

<script>
var can = document.getElementById("canvas1");
var ctx = can.getContext("2d");
</script>

</body>
</html>
HTML
getContext() returns a drawing context on the canvas.
Basic knowledge of JavaScript is required to understand and use the Canvas.

The <canvas> Element

You can draw on the canvas using...

head tags
shape tags
JavaScript
CSS


Canvas Coordinates


The HTML canvas is a two-dimensional grid.
The upper-left corner of the canvas has the coordinates (0,0).

X coordinate increases to the right.
Y coordinate increases toward the bottom of the canvas.contentImage

The <canvas> element is only a container for graphics.


Canvas Coordinates

X and Y are...

...coordinates from upper left corner
...the height and the width of an item
...coordinates from upper right corner
...coordinates from lower left corner



Drawing Shapes


The fillRect(x, y, w, h) method draws a "filled" rectangle, in which w indicates width and h indicates height. The default fill color is black.

A black 100*100 pixel rectangle is drawn on the canvas at the position (20, 20):

var c=document.getElementById("canvas1");
var ctx=c.getContext("2d");
ctx.fillRect(20,20,100,100);
JS

Result:contentImageThe fillStyle property is used to set a color, gradient, or pattern to fill the drawing.
Using this property allows you to draw a green-filled rectangle.

var canvas=document.getElementById("canvas1");
var ctx=canvas.getContext("2d");
ctx.fillStyle ="rgba(0, 200, 0, 1)";
ctx.fillRect (36, 10, 22, 22);
JS

Result:contentImageThe canvas supports various other methods for drawing:

Draw a Line
moveTo(x,y): Defines the starting point of the line.
lineTo(x,y): Defines the ending point of the line.

Draw a Circle
beginPath(): Starts the drawing.
arc(x,y,r,start,stop): Sets the parameters of the circle.
stroke(): Ends the drawing.

Gradients
createLinearGradient(x,y,x1,y1): Creates a linear gradient.
createRadialGradient(x,y,r,x1,y1,r1): Creates a radial/circular gradient.

Drawing Text on the Canvas
Font: Defines the font properties for the text.
fillText(text,x,y): Draws "filled" text on the canvas.
strokeText(text,x,y): Draws text on the canvas (no fill).

There are many other methods aimed at helping to draw shapes and images on the canvas.


Drawing Shapes

fillRect (36,10,22,12) indicates a rectangle with a height of...

12
22
10
36


                    Chapter:40

                 SVG vs. Canvas


Canvas vs. SVG


Canvas
- Elements are drawn programmatically
- Drawing is done with pixels
- Animations are not built in
- High performance for pixels-based drawing operations
- Resolution dependent
- No support for event handlers
- You can save the resulting image as .png or .jpg
- Well suited for graphic-intensive games

SVG
- Elements are part of the page's DOM (Document object model)
- Drawing is done with vectors
- Effects, such as animations are built in
- Based on standard XML syntax, which provides better accessibility
- Resolution independent
- Support for event handlers
- Not suited for game applications
- Best suited for applications with large rendering areas (for example, Google Maps)
You can actually use both SVG and canvas on the same page, if needed.
However, you cannot just draw SVG onto a canvas, or vice-versa.



                    Chapter:41

           Canvas transformation


Working with Canvas


The Canvas element can be transformed. As an example, a text is written on the canvas at the coordinates (10, 30).
ctx.font="bold 22px Tahoma";
ctx.textAlign="start";
ctx.fillText("start", 10, 30);
JS
Result:contentImageThe translate(x,y) method is used to move the Canvas.
x indicates how far to move the grid horizontally, and y indicates how far to move the grid vertically.
ctx.translate(100, 150);
ctx.fillText("after translate", 10, 30);
JS
In this example, the canvas is moved 100px to the right, and 150px down.

Result:contentImage
Canvas has several methods for drawing paths, boxes, circles, text, and adding images.


Working with Canvas

Which method is used to move the canvas element?

transformation()
translate()
location()
move()


The rotate() Method


The rotate() method is used to rotate the HTML5 Canvas. The value must be in radians, not degrees.

Here is an example that draws the same rectangle before and after rotation is set:

ctx.fillStyle = "#FF0000";
ctx.fillRect(10,10, 100, 100);

ctx.rotate( (Math.PI / 180) * 25); //rotate 25 degrees.

ctx.fillStyle = "#0000FF";
ctx.fillRect(10,10, 100, 100);
JS

contentImage

The rotation will only affect drawings made after the rotation is done.


The rotate() Method

The rotation parameter is in:

Radians & degrees
Radians
Degrees


The scale() Method


The scale() method scales the current drawing. It takes two parameters:
- The number of times by which the image should be scaled in the X-direction.
- The number of times by which the image should be scaled in the Y-direction.

var canvas = document.getElementById('canvas1');
ctx =canvas.getContext('2d');
ctx.font="bold 22px Tahoma";
ctx.textAlign="start";
ctx.fillText("start", 10, 30);
ctx.translate(100, 150);
ctx.fillText("after translate", 0, 0);
ctx.rotate(1);
ctx.fillText("after rotate", 0, 0);
ctx.scale(1.5, 4);
ctx.fillText("after scale", 0,20);
JS

This will scale the canvas 1.5 times in the X-direction, and 4 times in Y-direction:contentImage

If you scale a drawing, all future drawings will also be scaled.


The scale() Method

What mRukdecrease the size of the current drawing?


                    Chapter:42

              HTML5 Forms, Part 1


HTML5 Forms


HTML5 brings many features and improvements to web form creation. There are new attributes and input types that were introduced to help create better experiences for web users.

Form creation is done in HTML5 the same way as it was in HTML4:

<form>
<label>Your name:</label>
<input id="user" name="username" type="text" />
</form>
HTML
Use the novalidate attribute to avoid form validation on submissions.


New Attributes


HTML5 has introduced a new attribute called placeholder. On <input> and <textarea> elements, this attribute provides a hint to the user of what information can be entered into the field.
<form>
<label for="email">Your e-mail address: </label>
<input type="text" name="email" placeholder="email@example.com" />
</form>
HTML
Result:contentImageThe autofocus attribute makes the desired input focus when the form loads:
<form>
<label for="email">Your e-mail address: </label>
<input type="text" name="email" autofocus/>
</form>
HTML
Result:contentImage
The required attribute tells the browser that the input is required.


Forms with Required Fields


The "required" attribute is used to make the input elements required.

<form autocomplete="off">
<label for="e-mail">Your e-mail address: </label>
<input name="Email" type="text" required />
<input type="submit" value="Submit"/>
</form>
HTML

The form will not be submitted without filling in the required fields.

Result:contentImage

The autocomplete attribute specifies whether a form or input field should have autocomplete turned on or off.
When autocomplete is on, the browser automatically complete values based on values that the user has entered before.


HTML5 added several new input types:
- color
- date
- datetime
- datetime-local
- email
- month
- number
- range
- search
- tel
- time
- url
- week

New input attributes in HTML5:
- autofocus
- form
- formaction
- formenctype
- formmethod
- formnovalidate
- formtarget
- height and width
- list
- min and max
- multiple
- pattern (regexp)
- placeholder
- required
- step

Input types that are not supported by old web browsers, will behave as input type text.


Forms with Required Fields

Designate the username field as required, and focus on the name field when the page loads:

<form autocomplete="off">

<input name="name"

type="text"
/>

<br />

<input name="username"

type="text"
/>

</form>


                    Chapter:43

              HTML5 Forms, Part 2


Creating a Search Box


The new search input type can be used to create a search box:
<input id="mysearch" name="searchitem" type="search" />
HTML
Result:contentImage
You must remember to set a name for your input; otherwise, nothing will be submitted.

Creating a Search Box

Fill in the blank to create a Search Box:

<input type="
" />

Search Options


The <datalist> tag can be used to define a list of pre-defined options for the search field:
<input id="car" type="text" list="colors" />
<datalist id="colors">
<option value="Red">
<option value="Green">
<option value="Yellow">
</datalist>
HTML
Result:contentImage<option> defines the options in a drop-down list for the user to select.
The ID of the datalist element must match with the list attribute of the input box.

Search Options

Fill in the blanks to associate the input with the datalist:

<form>

<input type="text" name="color"

="colors" />

<datalist id="
">

<option value="Red">

<option value="Blue">
<option value="Green">

</
>

</form>

Creating More Fields


Some other new input types include emailurl, and tel:
<input id="email" name="email" type="email" placeholder="example@example.com" />
<br />
<input id="url" name="url" type="url" placeholder="example.com" />
<br />
<input id="tel" name="tel" type="tel" placeholder="555.555.1211" />
HTML
These are especially useful when opening a page on a modern mobile device, which recognizes the input types and opens a corresponding keyboard matching the field's type:contentImage
These new types make it easier to structure and validate HTML forms.

Creating More Fields

Which of the following is not a supported type for the input tag?

tel
submit
url
planet

                    Chapter:44

                      Model Quiz


Which choice is the correct HTML5 element for playing video files?

<media>
<video>
<movie>

The <canvas> element in HTML5 is used to:

manipulate data in a database
draw graphics
display Excel records
create draggable elements

Which tag contains the navigation?

<
>


sessionStorage stores data for the duration of how many session(s)?

one
three
multiple
two


What shape results from the following code? <svg width="100" height="100"> <line x1="50" y1="0" x2="50" y2="100" style="stroke:black" /> <line x1="0" y1="50" x2="100" y2="50" style="stroke:black" /> </svg>

Plus sign
Minus sign
Vertical line
Tick sign


in the blanks to turn off auto complete and require the password field.

<form
="off">

<input type="text" name="name" />

<
type="password"

name="pass"
/>

</form>




Comments

Popular posts from this blog

Overview HTML

HTML Basics