Wifi Info
Network: SGGuest
Password: GridSend0909
If you have not done so already, please download Sublime Text 2.
Modify your settings to turn off auto correct, and tab completion.
Insert the following code into your preferences & save
Ask a TA if you need help setting this up.
All slides are available to view at materials.gdiboulder.com
Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction.
Some "rules"
Tell us about yourself.
HTML is the code that allows us to build websites
If you 'view the source', you see this
All the files for your site should be stored within the same folder.
This includes:
Note: File names should not include spaces or special characters. File names ARE case sensitive.
Today we will be learning how to code a site from scratch using paragraphs, headings, links, images, and lists.
A website is a way to present your content to the world, using HTML and CSS to present that content & make it look good.
A paragraph is your content
<p>A paragraph is your content</p>
A paragraph is your content
<tagname>Stuff in the middle</tagname>
<p> This is a sample paragraph.</p>
<br/>
<img/>
<div id="copyright">© GDI 2013</div>
<img src="my_picture.jpg" />
<a href="http://girldevelopit.com">GDI</a>
The first thing on an HTML page is the doctype, which tells the browser which version of the markup language the page is using.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.01 Transitional//EN" "http://
www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html>
* The doctype is case-insensitive.
DOCtype, doctype, DocType and DoCtYpe are all valid.
After <!doctype>, the page content must be contained between <html> tags.
<!DOCTYPE html>
<html>
</html>
Head: The head contains the title of the page & meta information about the page. Meta information is not visible to the user, but has many purposes One of which is to tell search engines about your page, who created it, and a description.
Body: The body contains the actual content of the page. Everything that is contained in the body is visible to the user.
<!DOCTYPE html>
<html>
<head>
<title>Title of the page </title>
</head>
<body>
The page content here.
</body>
</html>
Let's get our web page set up with a doctype, head, title and body.
Later we'll add some content to it!
All elements "nest" inside one another
Nesting is what happens when you put other containing tags inside other containing tags. For example, you would put the <p> inside of the <body> tags. The <p> is now nested inside the <body>
Whichever element OPENS first CLOSES last
Elements are 'nested' inside the <body> tag.
<body>
<p>A paragraph inside the body tag</p>
</body>
Paragraphs 'nested' inside list items.
<ul>
<li>
<p>A paragraph inside a list item</p>
</li>
</ul>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
<p>Paragraph 1</p> <p>Paragraph 2</p> <p>Paragraph 3</p>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
Paragraph 1
Paragraph 2
Paragraph 3
* White space is only for humans!
Paragraphs allow you to format your content in a readable fashion.
* You can edit how paragraphs are displayed with CSS
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
* Heading number indicates hierarchy, not size. Think: Outlines from high school papers
<p>
Here is a paragraph with <em>Emphasized</em>
text and <strong>Important</strong> text.
</p>
Here is a paragraph with Emphasized text and Important text.
* Notice: em and strong are meant to indicate meaning through code. If you want to have italicized for style appearance and not to communicate meaning, you should use CSS.
Let's add some content to our site!
Add one of each level of heading with 1-2 short paragraphs of text below each heading.
Italic and bold some text within a few paragraphs.
Links have three components
<a href="http://www.girldevelopit.com" title="Girl Develop It Homepage">GDI</a>
The <a> tag surrounds text or images to turn them into links
Links can have attributes that tell the link to do different actions like open in a new tab, or launch your e-mail program.
<a href="home.html" target="_blank">Link Text</a>
Link opens in a new window/tab with target="_blank"
<a href="mailto:info@girldevelopit.com">E-mail us!</a>
Link opens mail program by inserting mailto: directly before the email address.
"filename.jpg"
"images/filename.jpg"
"http://www.girldevelopit.com/chapters/detroit"
Let's add links to our site!
Add links that open in the same window, a new window and link to an e-mail address.
Images have three components
<img src ="images/marill.jpg" alt = "Girl Develop It Logo"/>
* Notice: This tag is our first example of a stand-alone or "self-closing" element.
<p>
Imagine there's no Heaven <br/>
It's easy if you try <br/>
No hell below us <br/>
Above us only sky
</p>
Imagine there's no Heaven
It's easy if you try
No hell below us
Above us only sky
Let's add some images and line breaks to our page.
We can even turn our images into links!
<ul>
<li>List Item</li>
<li>AnotherList Item</li>
</ul>
<ol>
<li>List Item</li>
<li>AnotherList Item</li>
</ol>
Unordered list (bullets)
Ordered list (sequence)
Lists can be used to organize any list of items.
You'd be surprised how often lists are used in web design.
Let's add one of each ordered and unordered lists to our page.
We can make a list of links or even a list of images!
You can add comments to your code that will not be seen by the browser, but only visible when viewing the code.
<!-- Comment goes here -->
Comments can be used to organize your code into sections so you (or someone else) can easily understand your code. It can also be used to 'comment out' large chunks of code to hide it from the browser.
<!-- Beginning of header -->
<div id="header">Header Content </div>
<!-- End of header -->
<!--
<ol>
<li>List Item</li>
<li>Another List Item</li>
</ol>
-->
Tables are a way to represent complex information in a grid format.
Tables are made up of rows and columns.
<table>
<tr>
<th>Head</th>
<th>Head</th>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
</tr>
</table>
Head | Head |
---|---|
Data | Data |
Tables can be styled with CSS to add zebra striping or to highlight important rows/columns.
There are character codes for many different characters in many different languages
A website is a way to present your content to the world, using HTML and CSS to present that content & make it look good.
CSS = Cascading Style Sheets
CSS is a "style sheet language" that lets you style the elements on your page.
CSS is works in conjunction with HTML, but is not HTML itself.
All colored text, position, and size
selector {
property: value;
}
A block of CSS code is a rule.
The rule starts with a selector.
It has sets of properties and values.
A property-value pair is a declaration.
Declarations: Property and value of style you plan use on HTML element.
Declarations end with a semicolon
Declaration groups are surrounded by curly brackets.
selector {
property: value;
property: value;
property: value;
}
p {
property: value;
}
Selects all paragraph elements.
img {
property: value;
}
Selects all image elements.
#footer {
property: value;
}
Selects all elements with an id of "footer".
<p id="footer">Copyright 2011</p>
The associated HTML.
.warning {
color: red;
}
Selects all elements with a class of "warning".
<p class="warning">Run away!</p>
The associated HTML.
The "#" is how you tell CSS "this is an id."
The "." is how you tell CSS "this is a class name."
p em {
color: yellow;
}
Selects all em elements that are within a paragraph
<p>This is <em>important.</em></p>
The associated HTML.
Each property can have one or more comma separated values.
p{
color: white;
background-color: red;
font-family: Arial, sans-serif;
}
The color property changes the color of the text.
p {
color: red;
color: #ff0000;
color: rgb(255, 0, 0);
}
Color name
Hexadecimal value
RGB value
The 17 standard colors are: aqua, black, blue, fuchsia, gray, grey, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow.
The background-color property changes the color of the background.
p {
background-color: black;
background-color: #000000;
background-color: rgb(0,0,0);
}
The background-image property allows you to apply an image to the background of elements.
body {
background-image: url(images/image.jpg);
}
To position your background image properly use the background-position property.
Use top, left, bottom & right, values.
You can also use numerical values. Calculated from the top & left.
body {
background-position: top left;
}
body {
background-position: 50px 10px;
}
To set how and if the background will repeat, use the background-repeat property.
Don't repeat
body {
background-repeat: no-repeat;
}
Repeat Horizontally
body {
background-repeat: repeat-x;
}
Repeat Vertically
body {
background-repeat: repeat-y;
}
body {
background: url(images/image.jpg) no-repeat top left red;
}
The font-family property defines which font is used.
p {
font-family: "Times New Roman";
font-family: serif;
font-family: "Arial", sans-serif;
}
Specific font name
Generic name
Comma-separated list
The font-size property specifies the size of the font.
p {
font-size: 12px;
font-size: 1.5em;
font-size: 100%;
}
Pixels
"em"
Percentage
p {
font-style: italic;
font-weight: bold;
font-size: 10px;
font-family: sans-serif;
}
OR
p {
font: italic bold 10px sans-serif;
}
3 ways
"Inline"
"Embedded"
"External"
<p style="color:red">Some text.</p>
Uses the HTML attribute style.
Difficult to use in large projects
Not preferred.
<head>
<style type="text/css">
p {
color: blue;
font-size: 12px;
}
</style>
</head>
Inside <head> element.
Uses <style> tag.
Can only be used in one html file
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
Shared resource for several pages.
Reduced file size & bandwidth
Easy to maintain in larger projects.
Preferred by developers everywhere!
Styles "cascade" down until changed
p{
color:blue;
font-family: 'Helvetica';
}
.red{
color:red;
}
#special{
font-family: Arial;
}
<p>Paragraph</p>
<p class ="green">Paragraph</p>
<p class ="red">Paragraph</p>
<p class = "red" id ="special">Paragraph</p>
Many CSS properties have self-explanatory names:
January 24 & 26th 1-5pm
Simple Energy
January 18, 10am - 1pm
The Cup
February 8 & 9th, 1pm - 5pm
Simple Energy