230 likes | 338 Views
Learn advanced CSS and JavaScript techniques for optimal web development. From styling text to layout using pure CSS, this guide covers best practices, DOM manipulation, JavaScript frameworks, and progressive enhancement strategies. Dive deep into browser stats, lesser-known HTML tags, and more!
E N D
Ben Scheirman ben.scheirman@gmail.com Blog: http://www.flux88.com Techniques for Better Web Development Advanced CSS and JavaScript
Show of Hands Favorite Browser? Internet Explorer Firefox Safari Opera
HTML Recap Common Tags: <div> <span> Lesser-known Tags: <label> <blockquote> <fieldset> <legend> <address> < abbr> Evil Tags: <font> <strike> <center> <u> Do I need a Doctype Header?
What is CSS? Purpose Benefits Why? But I’m a Developer!
Best Practices No inline styles Minimal page style blocks Reference external CSS file Use a DOCTYPE Validate!
Styling Text Use Font fall-backs font-family: Calibri, Lucida, Verdana, Arial em, not px Line-height, not height Text Decoration
Styling Links :<state>selector LoVe-Hate • a:link a:visited • a:hover a:active Rollover graphics
Styling Forms No tables! Use <fieldset> Use <label>
CSS for Layout What is page flow? Understand float Understand the box model
The Box Model Padding Content Margin
CSS Demos Box Model CSS Page Layout Prop-Clear Trick Pure CSS Tabs
Tips for success Develop in Firefox, not IE Validate! Switch browsers frequently
Possibilities CSS Zen Garden http://www.csszengarden.com CSS Layout Templates http://www.intensivstation.com
JavaScript Why? Why Not?
DOM Manipulation What is the DOM? What can JavaScript do with the DOM? document.getElementById(id); document.getElementsByTagName(tag); document.createElement(tag); element.setAttribute(attr, value) document.removeChildren(); document.appendChild(node); Avoid browser specific syntax such as document.all
There’s Help Firefox Tools Firebug Web Developer Toolbar JavaScript Frameworks MochiKit YUI Prototype scrip.taculo.us …more…
Meet MochiKit “Makes JavaScript SUCK LESS”
What if… JavaScript is disabled? Browser doesn’t support ______ ?
Progressive Enhancement ASP.NET Application When JavaScript is Disabled still functions When JavaScript is available, but limited experience improves When XMLHttpRequest is supported Ajax is used
Demo: • Forum Registration Page • CSS to style forms • Ajax to enhance the site
References • CSS Mastery by Andy Budd • DOM Scripting by Jeremy Keith www.csszengarden.com www.exploding-boy.com http://www.greywyvern.com/code/min-height-hack.html