45
My name is @mintran Web designer with 6 years of experience Founder of Frexy Studio and IconEden.com Beautiful HTML & CSS lover I am

Writing beautiful HTML

  • Upload
    mintran

  • View
    5.673

  • Download
    1

Embed Size (px)

DESCRIPTION

My presentation "Writing beautiful HTML" at Webcamp Saigon 1

Citation preview

Page 1: Writing beautiful HTML

My name is @mintran

•Web designer with 6 years of experience

•Founder of Frexy Studio and IconEden.com

•Beautiful HTML & CSS lover

I am

Page 2: Writing beautiful HTML

Writing beautifulHTML

by @mintranFrexy.com

Page 3: Writing beautiful HTML

Beautiful HTML = Semantic <markup>

Page 4: Writing beautiful HTML

Web Standardsare not

about using DIV for everything

Page 5: Writing beautiful HTML

<div> stands for DIVision

Use DIV to create the site structure

Page 6: Writing beautiful HTML

<div id=”header”> </div>

<div id=”left”>

</div>

<div id=”right”></div>

Page 7: Writing beautiful HTML

Avoid using DIVfor decoration

Page 8: Writing beautiful HTML

<div>My headline <br/></br></div>

<div>Sub headline</div>

<div>A paragraph</div>

<h1>My headline </h1>

<h4>Sub headline</h4>

<p>A paragraph</p>

rather than

Page 9: Writing beautiful HTML

Multiple nested-DIVs

are EVIL

Page 10: Writing beautiful HTML

<div id="navigation">

<div class="active">

<div class="buttonLeft">

<div class="buttonRight">

<div class="strong">

<a href="#">Home</a>

</div>

</div>

</div>

</div>

this is EVIL

Page 11: Writing beautiful HTML

BEstructural

& hierarchic

O

Page 12: Writing beautiful HTML

<div id="nav">

<ul>

<li class="active"><a href="#">Home</a></li>

<li><a href="#">About Us</a></li>

<li><a href="#">Contact Us</a></li>

<li><a href="#">Services</a></li>

</ul>

</div>

Page 13: Writing beautiful HTML

<div id="nav">

<ul>

<li class="active"><a href="#">Home</a></li>

<li><a href="#">About Us</a></li>

<li><a href="#">Contact Us</a></li>

<li><a href="#">Services</a></li>

</ul>

</div>

Use best practices

Page 14: Writing beautiful HTML

<ul id="nav">

<li class="active"><a href="#">Home</a></li>

<li><a href="#">About Us</a></li>

<li><a href="#">Contact Us</a></li>

<li><a href="#">Services</a></li>

</ul>

Beautiful!

Page 15: Writing beautiful HTML

Beautiful HTML = Use proper tags

every type of data

Page 16: Writing beautiful HTML

<p> for paragraph

<p> this is a paragraph</p><p> this is another paragraph</p>

Page 17: Writing beautiful HTML

<h1>, <h2>,...<h6> for headlines

<h1>Site name</h1>

<h2>Main Headline</h2>

<h3>Normal Headline</h3>

<h4>Sub headline</h4>

Page 18: Writing beautiful HTML

<ul> for

• Unordered list• Navigation

Page 19: Writing beautiful HTML

<ul> for

• Unordered list• Navigation

<ol> for

• Ordered list• Step indicators

Page 20: Writing beautiful HTML

<ul> <li><a href="#">Sign up</a></li> <li><a href="#">Login</a></li><ul>

<ol> <li>Step 1: Pick a username</li> <li>Step 2: Pick a password</li> <li>Step 3: Enter your email address</li><ol>

Page 21: Writing beautiful HTML

<dl> for pair values

<dl> <dt>Name:</dt> <dd>Min Tran</dd> <dt>Website:</dt> <dd>http://www.frexy.com</dd><dl>

Page 22: Writing beautiful HTML

Beautiful HTML = meaningful & human-friendly

name convention

Page 23: Writing beautiful HTML

<h2 class="title">Main article</h2><p class="summary">Article summary</h2>

rather than

<h2 class="blue">Main article</h2><p class="green">Article summary</h2>

Page 24: Writing beautiful HTML

Recommendation:

naming classes and IDs for their

PURPOSE

rather than

APPEARANCE

Page 25: Writing beautiful HTML

Class vs ID

Page 26: Writing beautiful HTML

Use a class 1. The style is used in various places throughout the document.

2. The style is very general.

<span class="alert"><span class="alert error"><h2 class="headline">

Page 27: Writing beautiful HTML

Use an ID 1. The style is only used once ever in the document.

2. The style is specific to a certain area of the document.

<div id="header"><body id="home"><body id="home page">

Page 28: Writing beautiful HTML

ID and class can be friends <li id="home" class="current">

Page 29: Writing beautiful HTML

Beautiful HTML = Separate

presentation from the content

Page 30: Writing beautiful HTML

but HOW?

Page 31: Writing beautiful HTML

let’s create a photo gallery

Page 32: Writing beautiful HTML

turn on the X-ray machine

leaves.jpg

frame.gif

Page 33: Writing beautiful HTML

photos

User add User add photosphotos

by editing by editing html html

or uploading or uploading via a CMSvia a CMS

gallery

Page 34: Writing beautiful HTML

Photos are content

Drop shadows and borders are presentation

Page 35: Writing beautiful HTML

content is user input data

HTML should hold content only

Page 36: Writing beautiful HTML

<ul id= "gallery"> <li><img src="leaves.jpg" /></li> <li><img src="balloon.jpg" /></li> <li><img src="sea.jpg" /></li> <li><img src="trees.jpg" /></li><ul>

HTML

Page 37: Writing beautiful HTML

#gallery {list-style:none;}#gallery li{ float:left; margin-right:20px; background:url(frame.gif) no-repeat; padding: 5px 5px 10px 5px;}#gallery img{ display:block; width:150px; height:150px;}

CSS

Page 38: Writing beautiful HTML

STAYreadable

& organized

O

Page 39: Writing beautiful HTML

Use <!--comment --> to create separated code blocks

Page 40: Writing beautiful HTML

<!-- header --><div id="header"> ... <div><!-- end of header -->

<!-- main --><div id="main"> ... <div><!-- end of main -->

Page 41: Writing beautiful HTML

useindent

to improve

hierarchy

Page 42: Writing beautiful HTML

<div id="left"> <ul id="nav">

<li> <ul> <li> ... </li> <li> ... </li> </ul> </li> <li>...</li></ul>

<div>

Page 43: Writing beautiful HTML

<div id="left"><ul id="nav"><li><ul><li> ... </li><li> ... </li></ul></li><li>...</li></ul><div>

rather than

Page 44: Writing beautiful HTML

Conclusion

•There’s no rule, just recommendations

•Always use the best methods and best practices

•Say goodbye to bad coding habits

•Build more websites

•Code validator is your best friend

Page 45: Writing beautiful HTML

HTML thật là điệp!Đúng dzồi!