Html anatomy: Difference between revisions

From wikinotes
Line 2: Line 2:
<blockquote>
<blockquote>
<source lang="html4strict">
<source lang="html4strict">
<!-- ${PROJECT}/index.html -->
<!doctype html public "-//W3C//DTD HTML 4.01 Frameset//EN"
<!doctype html public "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
   "http://www.w3.org/TR/html4/frameset.dtd">
Line 13: Line 15:
   <h1>My Title</h1>
   <h1>My Title</h1>
   <p>Some paragraph</p>
   <p>Some paragraph</p>
  <button id="log_hi_btn">Log Hi</button>
</body>
</body>
</html>
</html>
</source>
</source>
<syntaxhighlight lang="javascript">
// ${PROJECT}/main.js
function log_hello(name) {
    console.log(`hello ${name}`);
}
function current_user() {
    return "foo";
}
document.addEventListener("click", function (event) {
    if (target.matches("#log_hi_btn")) {
        log_hello(current_user());
    }
});
</syntaxhighlight>
<syntaxhighlight lang="css">
/** ${PROJECT}/stylesheet.css */
body {
    background-color: lightblue;
}
h1, h2, h3, h4, h5, h6 {
    font-family: verdana;
    font-size: 20px;
}
</syntaxhighlight>
</blockquote><!-- Sample File -->
</blockquote><!-- Sample File -->



Revision as of 04:05, 17 December 2022

Sample File

<!-- ${PROJECT}/index.html -->

<!doctype html public "-//W3C//DTD HTML 4.01 Frameset//EN"
  "http://www.w3.org/TR/html4/frameset.dtd">
<html lang="en">
  <head>
    <title>My Website</title>
    <script src="main.js"/>
    <link rel="stylesheet" href="stylesheet.css" />
  </head>
<body>
  <h1>My Title</h1>
  <p>Some paragraph</p>

  <button id="log_hi_btn">Log Hi</button>
</body>
</html>
// ${PROJECT}/main.js


function log_hello(name) {
    console.log(`hello ${name}`);
}

function current_user() {
    return "foo";
}

document.addEventListener("click", function (event) {
    if (target.matches("#log_hi_btn")) {
        log_hello(current_user());
    }
});
/** ${PROJECT}/stylesheet.css */


body {
    background-color: lightblue;
}

h1, h2, h3, h4, h5, h6 {
    font-family: verdana;
    font-size: 20px;
}

Components

Tags/Elements

HTML is expressed using html elements expressed in tags (ex: <div>).
Tags are opened/closed <div>...</div>.

Some tags may have attributes.

<img src="foo.png">

Some attributes are applicable to all elements, and are primarily intended for styling/dynamic manipulation.

  • id must uniquely identify a single element per document
  • class may refer to several elements in a document
<div id="unique-name-within-document">
<div class="employee-list">

DOM/APIs

The body of a website is composed of html elements. It is primarily composed of elements, but APIs expose access to the document, window, history etc.

The Document Object Model (DOM) is a tree of all of the elements in a page.

CSS

The layout of html documents is usually defined in css.

javascript

Sometimes javascript is used to modify the website more dynamically.