Posts Tagged ‘Ajax’

Weekly Design News – Resources, Tutorials and Freebies (N.106)

Advertise here with BSA


This is our weekly column were we share our favorite design related articles, resources and cool tidbits from the past week. Enjoy :)

If you would like to receive our daily updates you can follow us on Twitter, on Facebookor by subscribing to our RSS feed.

Scalable and Modular Architecture for CSS

Scalable and Modular Architecture for CSS

Incredibly Useful CSS Snippets

Incredibly Useful CSS Snippets

Google+ Styled UI Buttons, Icon Buttons & Dropdown Menu Buttons

Google+ Styled UI Buttons, Icon Buttons & Dropdown Menu Buttons

How To Design A Clean And Minimal WordPress Theme (Tutorial)

How To Design A Clean And Minimal WordPress Theme (Tutorial)

Integrating HTML5, CSS and PHP to Create Contact Form

Integrating HTML5, CSS and PHP to Create Contact Form

Create An Animated Bar Graph With HTML, CSS And jQuery (Tutorial)

Create An Animated Bar Graph With HTML, CSS And jQuery (Tutorial)

Build Ajax Data Grids with CodeIgniter and jQuery (Tutorial)

Build Ajax Data Grids with CodeIgniter and jQuery (Tutorial)

HTML5 Video Face Detection with Canvas and Javascript (Tutorial)

HTML5 Video Face Detection with Canvas and Javascript (Tutorial)

How to Create an HTML5 Microdata Powered Resume (Tutorial)

How to Create an HTML5 Microdata Powered Resume (Tutorial)

Create an interactive street view with jQuery (Tutorial)

Create an interactive street view with jQuery (Tutorial)

Multi-level Photo Map (Tutorial)

Multi-level Photo Map (Tutorial)

Create a Vignette in Photoshop using Adjustment Layers (Tutorial)

Create a Vignette in Photoshop using Adjustment Layers (Tutorial)

Free Resource: Facebook Timeline GUI PSD

Free Resource: Facebook Timeline GUI PSD

Infographic: The State Of Open Source Adoption

Infographic: The State Of Open Source Adoption

This Week on CodeVisually

We recently launched CodeVisually, our site that focuses solely on resources and tools for web developers and offers a simple solution to painlessly find the resource needed and fast.

Here is our favorite webdev resources from the past week:

WooCommerce

WooCommerce

?lphaPun.ch

?lphaPun.ch

Toast Framework

Toast Framework

Response JS

Response JS

Tinkerbin

Tinkerbin

Fluid Baseline Grid

Fluid Baseline Grid

D3.js

D3.js

Touchy Boilerplate

Touchy Boilerplate

Previous Weekly Design News…

Design News Roundup Archives →


Advertise here with BSA


Weekly Design News – Resources, Tutorials and Freebies (N.101)

Advertise here with BSA


This is our weekly column were we share our favorites design related articles, resources and resources all from the previous week.

If you would like to be kept up to date with loads of fresh design news and resources, you can follow us on Twitter, on Facebook, on Stumbleupon or by subscribing to our RSS feed.

Guidelines for Small Project Pricing

Guidelines for Small Project Pricing

The Semantic Grid System

The Semantic Grid System

deck.js – Modern HTML Presentations

deck.js - Modern HTML Presentations

Instant WordPress

Instant WordPress

Design a Foursquare-like User Profile Page in HTML5/CSS3 (Tutorial)

Design a Foursquare-like User Profile Page in HTML5/CSS3

Functional CSS Tabs Revisited (Tutorial)

Functional CSS Tabs Revisited

Image Zoom Tour with jQuery (Tutorial)

Image Zoom Tour with jQuery

How to Create An Ajax-Based HTML5/CSS3 Contact Form (Tutorial)

How to Create An Ajax-Based HTML5/CSS3 Contact Form

Responsive jQuery Slider Plugin – Flexslider

Responsive jQuery Slider Plugin  - Flexslider

Recurly.js – JavaScript Library for Customizable Transaction Forms

Recurly.js - JavaScript Library for Customizable Transaction Forms

Free Ultra Minimal WordPress Theme – mnmlist

Free Ultra Minimal WordPress Theme - mnmlist

Sanaroo – Free HTML Template

Sanaroo - Free HTML Template

Free Font – Little Brush

Free Font - Little Brush

Drop-Down Menu PSD

Drop-Down Menu PSD

200+ Google+ Interface Icons

200+ Google+ Interface Icons

WP7 Icons – 105 Minimal Icons

WP7 Icons - 105 Minimal Icons

Previous Weekly Design News…

Design News Roundup Archives →


Advertise here with BSA


How to Create An Ajax-Based HTML5/CSS3 Contact Form

Contact form is deadly essential for any website, as it acts as a messenger which passes the opinion or enquiries of visitors to webmaster. There have been countless contact forms on the web but unfortunately most of them do not explain to you the inner working parts, so here comes a detailed tutorial to teach you to build an advanced contact form from scratch based on the pop technology, HTML5 and CSS3.

html5 contact form article How to Create An Ajax Based HTML5/CSS3 Contact Form

Considering the nature of a web-based e-mail contact form we are also required to dive into two separate application fields, which is the PHP backend code for sending email and jQuery functions for rich user interface. By the end we will be left with a fully dynamic and functional contact form written with later customization in mind.

Get started now to build your own advanced contact form!

Shortcut to:

  • Demo – Get a preview of what you are building
  • Download – Download all files (php + css)

Structuring the Application

To get started you’ll need some type of web server to work over. If you’re running a Windows machine WAMP is probably your best option. Mac users have a similar program named MAMP which is just as easy to install.

wampserver How to Create An Ajax Based HTML5/CSS3 Contact Form

These packages will set up a local server on your machine with full access to PHP. Alternatively if you own server space or have full server access into a remote location you may use that instead. We are not going to need any MySQL databases, which should simplify things a bit.

Once your server is set up create a new folder to house the application. You can name this whatever you’d like as it isn’t detrimental or even related to the final product. The folder structure will be used when you access your files in a web browser. A simple example would be http://localhost/ajaxcontact/contact.php

Let’s Build our Files!

We will only be working within 2 core files. We’ll first need a core .php file to house not only our application logic, but also frontend HTML markup. Below is sample code taken from our starting file.

<!DOCTYPE html>
<html xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">
<head>
<title>HTML5/CSS Ajax Contact Form with jQuery</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>

To begin we have written a simple heading section to our document. This includes a general Doctype declaration for HTML5 and some HTML/XML document elements. These aren’t exactly required, but will ease the rendering process in older (and newer) browsers. Also it never hurts to offer more information.

A bit further down we can see 2 lines right before our closing heading tag. The first includes our jQuery script from the online Google Code Repository. This is required for our dynamic page errors to work. Directly below this we have the inclusion of a basic CSS document containing all of our page styles.

Inside our document body we have a few containing divisions withholding a main contact form. This houses 3 input elements for the user’s name, e-mail address, and personal message. The HTML markup is fairly standard and shouldn’t boggle the mind of any intermediate developer.

<!-- @begin contact -->
<div id="contact" class="section">
	<div class="container content">

	 <?php if(isset($emailSent) && $emailSent == true) { ?>
     	<p class="info">Your email was sent. Huzzah!</p>
     <?php } else { ?>

Here we have a basic PHP conditional code nested within a few page containers. This checks for the set value of a variable named $emailSent and if equal to true, it will display a success message.

Inside our Form HTML

The else statement is what will run on first page load since there won’t be any content to send initially. Inside here we will include a brief collection of form elements and a submit button.

<div id="contact-form">
	<?php if(isset($hasError) || isset($captchaError) ) { ?>
    	<p class="alert">Error submitting the form</p>
    <?php } ?>

	<form id="contact-us" action="contact.php" method="post">
		<div class="formblock">
		<label class="screen-reader-text">Name</label>
		<input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" class="txt requiredField" placeholder="Name:" />

		<?php if($nameError != '') { ?>
			<br /><span class="error"><?php echo $nameError;?></span>
		<?php } ?>

		</div>

		<div class="formblock">
		<label class="screen-reader-text">Email</label>
		<input type="text" name="email" id="email" value="<?php if(isset($_POST['email']))  echo $_POST['email'];?>" class="txt requiredField email" placeholder="Email:" />

		<?php if($emailError != '') { ?>
			<br /><span class="error"><?php echo $emailError;?></span>
		<?php } ?>

		</div>

		<div class="formblock">
			<label class="screen-reader-text">Message</label>
			<textarea name="comments" id="commentsText" class="txtarea requiredField" placeholder="Message:"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea>

		<?php if($commentError != '') { ?>
			<br /><span class="error"><?php echo $commentError;?></span>
		<?php } ?>
		</div>

		<button name="submit" type="submit" class="subbutton">Send us Mail!</button>
		<input type="hidden" name="submitted" id="submitted" value="true" />
	</form>
</div>

<?php } ?>
</div>
</div><!-- End #contact -->

You may have noticed there is another conditional block directly after the starting form. This checks for a variable named $hasError and will display an error message upon confirmation. This fallback method is only used if JavaScript is disabled in the browser and thus can’t generate dynamic errors.

All the way down we can find individual PHP variables being checked. The statements are regulating if the form has already been submitted with only partial amounts of data filled in. This is another fallback system which displays the contents of fields already filled out – a nice trick for proper user experience!

Directly after our form completion is the few jQuery functions we’ve written. We will talk over these first since they are the default implementation on pageload. However if the browser doesn’t accept JavaScript then by default we can rely on our PHP code.

Opening to jQuery

The easiest way to get started talking on this topic would be to dive right in. I’ll break down individual blocks line-by-line so you can see what the script is actually checking for.

However if you get lost just review the project code files. All of the full blocks are pre-written and well documented in the jQuery website. To get started we open our code similar to any other:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
$(document).ready(function() {
	$('form#contact-us').submit(function() {

The first few lines are checking for specific event occurrences. After our CDATA comments to hide the code from older, buggy browsers we get started checking for ready events.

The first bit checks if the document has fully loaded and is ready for manipulation. This is a classic technique and the easiest way to start coding a jQuery project.

Once inside we are checking for a form element under the ID "contact-us", and we want to know when it is submitted. Upon doing so we call another function to display our error messages or slideUp() upon success.

$('form#contact-us .error').remove();
var hasError = false;
$('.requiredField').each(function() {
    if($.trim($(this).val()) == '') {
        var labelText = $(this).prev('label').text();
        $(this).parent().append('<span class="error">Your forgot to enter your '+labelText+'.</span>');
        $(this).addClass('inputError');
        hasError = true;
    } else if($(this).hasClass('email')) {
        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
        if(!emailReg.test($.trim($(this).val()))) {
            var labelText = $(this).prev('label').text();
            $(this).parent().append('<span class="error">Sorry! You\'ve entered an invalid '+labelText+'.</span>');
            $(this).addClass('inputError');
            hasError = true;
        }
    }
});

First we remove any pre-existing errors so we don’t hold any previous messages from before. A few lines down we can see a selector for all elements under the class “requiredField“. These are all of our required field elements – name, e-mail, and message.

jQuery will take the value of each field and remove all spaces from the value. If the content is equal to nothing, then we display an error message next to that field warning our user to fill in some value. Right before the end of our logic there is a bit of Regex code validating the e-mail value.

Lastly we can see if no error is set and check for full input content. If this is the case we call a jQuery method named post(). This will submit our form and check within the PHP code for any errors. Assuming none are found the slideUp() animation is called to hide our contact form and display a “success!” message.

if(!hasError) {
	var formInput = $(this).serialize();
	$.post($(this).attr('action'),formInput, function(data){
	$('form#contact-us').slideUp("fast", function() {
		$(this).before('<p class="tick"><strong>Thanks!</strong> Your email has been delivered. Huzzah!</p>');
		});
	});
	}

	return false;
});
});
//-->!]]>
</script>

If you are familiar with callbacks you may notice the post() function has a built-in set of parameters. Callbacks are smaller functions which are called upon the response of data from another function.

So for example, when our jQuery.post() function successfully shoots an e-mail it will call its own internal function to display the sliding animation. All of this code could be written in its own block and moved elsewhere. However for the sake of this tutorial it’s much easier writing the callback as an inline function.

Breaking past our PHP

The final hurdle to mention is the logic behind our PHP processor. This is the backend system which will actually call a mail function and send out the message. All of the code used in the examples below can be found directly at the top of our main .php file, before any HTML output.

There are also a few internal styles which freshen up the page. There isn’t anything specifically new here so we won’t be going into any of the details. However the styles.css document is included within the project code and contains rudimentary CSS3 techniques.

<?php
//If the form is submitted
if(isset($_POST['submitted'])) {

To start we open our PHP clause and check if the form was even submitted. The POST variable “submitted” was actually a hidden input field added at the very end of our form. It’s a useful way to check if the user has submitted anything yet so we don’t waste server resources.

After this we have 3 separate if/else statement checking to see if each input field has been filled out. I won’t include each bit of logic here since they are all very repetitive in nature. However, to give you a brief example I’ve included the e-mail verification clause below:

// need valid email
if(trim($_POST['email']) === '')  {
	$emailError = 'Forgot to enter in your e-mail address.';
	$hasError = true;
} else if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", trim($_POST['email']))) {
	$emailError = 'You entered an invalid email address.';
	$hasError = true;
} else {
	$email = trim($_POST['email']);
}

PHP will trim all whitespace from the value and check to see if anything is left over. If so we have a detailed Regular Expression (Regex) to see if our user’s input string matches up with an e-mail pattern.

You certainly don’t need to understand how preg_match() works to build this script. It is a useful function to determine rules and requirements for a successful type of data, but commands advanced programming knowledge to really grasp. In this scenario we are ensuring the user only inputs a select few characters, includes an @ symbol followed by 2-4 characters representing a Top-Level Domain.

After all of our logic passes and we return no errors it’s time to send our message! This bit of code will set individual variables to customize our e-mail message and setup some mail headers for the process.

// upon no failure errors let's email now!
	if(!isset($hasError)) {
		$emailTo = 'youremailhere@googlemail.com';
		$subject = 'Submitted message from '.$name;
		$sendCopy = trim($_POST['sendCopy']);
		$body = "Name: $name \n\nEmail: $email \n\nComments: $comments";
		$headers = 'From: ' .' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;

		mail($emailTo, $subject, $body, $headers);

        // set our boolean completion value to TRUE
		$emailSent = true;
	}

If you were wondering how the code was going to figure out your e-mail address, this is the part to fill in. The first variable in our set is titled $emailTo and should contain whichever e-mail address, which is going to receive the message.

Inside our $body variable we take advantage of the \n delimiter to add new lines into the message. This adds small placements for the sender’s name, e-mail address, followed by a break for their message content. Of course you could spend time prettying up the display, but this structure works just fine.

Conclusion

This closes our tutorial for an advanced contact form. If you’d like to style your elements in relation to mine you can check out my example styles.css within the project code. However, the page is structured well enough that you could design your own look & feel very easily.

Feel free to download the source code and examine what I’ve done a bit closer. It’s good to follow a tutorial but having direct access to the project source can be invaluable. I’ve also included a brief stylesheet to make customizations a breeze, thanks for your view!

8 Things Newbie Web Designers Should Know About SEO

Advertise here with BSA


Even the most SEO obsessed web site owners still want a site that looks good. Design aesthetics play a huge role in the success or failure of any site. Elements of design can impact conversions, credibility, and engagement. But some designs can also limit a web site’s search engine accessibility. Great designers don’t necessarily need to be experts on SEO, but knowing a few key things can help you make a website that will be stylistically brilliant and SEO friendly.

Anchor Text

Anchor text should use keywords and describe the page being linked to. Ambiguous texts like “click here” or “read more” aren’t ideal. Those phrases don’t send signals to search engine regarding what the page is about and therefore don’t help rankings in any way.

Useful Resources:
Anchor Text – Best Practices for Search Engine Optimization →
What is Anchor Text and Why is It Important? →

Clean Code

Clean code is extremely important. If a human that understands HTML can read it, so can a search engine. Using standard tags like H tags and going easy on the DIV’s are good practices for SEO. That doesn’t mean you can’t be creative, have all the fun you want, with the CSS.

Useful Resources:
20+ Tools for Quick and Clean Code Development →
Writing Clean Code →

Accessibility

It’s also important to make a site accessible for all kinds of users. That means a variety of web
browsers and disabled users. Even though you may not use Safari or IE any more, some people do, and they need to be able to use the site too. Also, make sure that every part of the website can be recognized by screen readers to increase accessibility for the blind.

Useful Resources:
Designing Websites with Understanding and Accessibility →
Can the Visually Impaired Access Your Site? →
20 Essential Tools and Tips to an Accessible Website →

Images

On that note, image labeling is a time consuming, but necessary, process for SEO. Not only does it apply to the rule above about accessibility for the blind, it’s a huge factor in Google Image Search. Those searches rely heavily on image Alt-tags to return relevant image results, so if and how images are labeled matters. Alt-text can also be used on image links as a substitute for anchor text.

Useful Resources:
Formatting Images for SEO →
5 SEO Techniques for Website Images →

Title Tags

Title Tags are a major factor in search engine rankings. And while branding is important, it’s far more important to highlight keywords which reflect phrases that are being searched for by users. Always put primary keyword phrases in the front of a title tag and leave the brand names for the end.

Useful Resources:
Title Tag – Best Practices for Search Engine Optimization →
40 Title Tag SEO for Google Ranking Factors & Optimization Techniques →

Speed

Timing is everything. Ok maybe not everything, but load times are a factor in SEO. A search engine’s ultimate goal is to help provide their users with a better web experience. To that end, sites which take forever to load may get dinged when it comes to their rankings There are several ways to reduce load times for a web page; but the best option is to design a site to perform quickly from the beginning.

Useful Resources:
Website Speed Part 1: Write More Efficient CSS →
Website Speed Part 2: Working With and Optimizing Images for the Web →
Essential Tips for Maintaining and Speeding Up WordPress →

Pick a Good Platform

Just because something looks good, that doesn’t mean its Search Engine friendly. And just because something is free and easy doesn’t mean it’s your best option in the long run. Free website platforms like Word Press and Wix have a lot of attractive options, but make sure you look for flexibility. Being able to control things like meta-tags, URL structure and internal linking is important enough to be considered a deal breaker. Word Press has hundreds of templates available. Thesis, for one, is well reputed for its SEO benefits and is highly customizable if you know a little PHP.

There are a lot of great tools and platforms for designing a highly attractive website. But some are just better than others. Flash and Ajax are great programs to design with but they can be prohibitive n terms of SEO.

It is completely possible to use Flash in an SEO friendly way, it just takes a little more effort. Having Flash in conjunction with HTML can make a site search engine compatible. But the 2 must be used together. Without the HTML for spiders to read a flash site is virtually invisible.

• Ajax is more of a programming method than a platform, but it can also be challenging for SEO. Particularly when it comes to navigation. While Search Engines are making improvements in their ability to index sites that utilize Ajax, there are still important things designers need to know. When it comes to links, no matter how good the Spiders get, for now HTML is still the best choice.

Useful Resources:
Joomla, WordPress and Drupal – Should you look outside the big 3? →
Ten Alternative CMS Options to WordPress →
Choosing The Right CMS for Your Small Business →

Conversion over Cosmetics

Important links and parts of the site should stand out. If a Call To Action doesn’t fit the color scheme, that’s not necessarily a bad thing. It can bring extra attention exactly where a user is supposed to look. Some things are meant to grab attention and others should blend in. Make sure that SEO and conversion priorities help you determine which is which.

Women have a bad habit of wearing gorgeous shoes, that don’t let them walk. What does it matter if something looks awesome if it doesn’t function the way it’s supposed to? That’s why no matter what kind of design you are doing, it should be wearing flats. A website must be, above all else, easy to use. All interaction should lead to the site owner’s end goal. And no website is going to make any money if it can’t be found. Search Engine rankings can literally make or break any web site. The competition for many keywords is stiff, so no web site owner can afford any weaknesses that may hurt their rankings. That makes designers who are artistically innovative and SEO savvy the ones who have the brightest futures on the web.

More from the Web Design for Newbie’s Series…

An Introduction to HTML Prototyping →
Essential SEO Considerations For A New Website [DOs & DON'Ts] →
Building Up your Web Design Education →
8 Things Newbie Web Designers Should Know About SEO →


Advertise here with BSA


HTML5 and CSS3 Form References, Resources and Tutorials

Advertise here with BSA


This article explores some of the new HTML5 form features and how it has greatly improved text inputs, search boxes and other form fields by providing better and cleaner controls for validating data allowing you to build complicated forms with far less code and even less bemusement.

Accompany all of this with some fantastic CSS3 properties and you are able to create stylish and highly-usable forms that go way beyond anything plain ol’ HTML and CSS2 could ever muster.

This article features some of the most useful HTML5 and CSS3 form references, resources, and tutorials that will make your understanding and knowledge of HTML5 forms all the better and make your development life much easier.

New Form Features in HTML5

Here is a Dev.Opera article that gives a brief overview of some of the new form controls and functionalities that have been introduced in HTML5. It goes over new form controls, new attributes, new output mechanisms, validation, and cross-browser support. It also covers styling an HTML5 form with some of the new CSS3 properties.
New Form Features in HTML5 →

HTML5 Forms Will Change Your Life

This is a fantastic overview of all of the fantastic HTML5 form features, covering the overall advantages and disadvantages of these new specifications. It carefully covers every new property with demos and examples.
HTML5 Forms Will Change Your Life →

Diving Into HTML5: A Form of Madness

A Form of Madness is a chapter on HTML5 forms from Mark Pilgrim’s ultra-stylish web book Diving Into HTML5. It covers placeholder text, autofocus fields, email addresses, web addresses, numbers as spinboxes, numbers as sliders, date pickers, search boxes, color pickers, form validation, required fields. The end of the chapter also offers further reading, like any good book should.
Diving Into HTML5: A Form of Madness →

The Current State of HTML5 Forms

This Wufoo Forms resource is a quick reference guide for web developers that details today’s browser support for HTML5 form technologies. It covers types, attributes, and elements, and offers the option to learn more about each in a clear and easy to understand way.
The Current State of HTML5 Forms →

Forward Thinking Form Validation

Here is an article on A List Apart about using HTML5 and CSS3 to create a CSS-based form validator that has fairly broad browser support. It covers HTML5′s forms and its new input types and attributes that make validation constraints possible, and it covers CSS3′s basic UI module that provides some pseudo-classes to help style validation states – and change a form field’s appearance based on a user’s actions.
Forward Thinking Form Validation →

Fun with HTML5 Forms


A tutorial on Think Vitamin that shows how to use HTML5 to create a fun, stylish, and highly-usable email sign-up form. It holds your hand and walks you step-by-step in creating placeholder text, required form fields, email + web + phone fields, a date picker, a datalist, and numbers. It also goes over styling the form to look great. Like with many HTML5 forms, most of these HTML5 form enhancements will gracefully degrade to standard input boxes if viewed in a older browser that doesn’t support all HTML5 features. However, it does show you how to work around and properly display the enhancements that don’t play well with certain browsers – thus, avoiding a usability fail.
View the Tutorial →Demo →

How to Build Cross-Browser HTML5 Forms


A NetTuts+ tutorial on how to build a cross-browser HTML5 form. This medium-to-difficult-level tutorial shows you how create a slick and highly-usable form with a slider, numeric spinner, date and color pickers, text fields, and a submit button. The following tools are used: Webforms2, Modernizr and makes use of jQuery for its fantastic functionality.
View the Tutorial →Demo →

Build a Neat HTML5 Powered Contact Form


A NetsTuts+ tutorial on how to build a sleek HTML5-powered contact form. This medium-difficulty-level tutorial starts with the HTML5 Boilerplate, and then it shows you how to create a clean and stylish contact form with the standard fields: name, email, telephone, enquiry drop-down, message, and submit. Besides HTML5, the following tools are also used: jQuery, Modernizer, AJAX, and PHP.
View the Tutorial →

Have a Field Day with HTML5 Forms


A 24 Ways tutorial that shows you how to style a beautiful HTML5 form using some advanced CSS and the latest CSS3 techniques. It goes over meaningful markup, setting up a good foundation, making the form look nice, styling the lists, and building the form controls. The sample form is a shopping cart one, where a user would fill their details, delivery address, and credit card details.
View the Tutorial →Demo →

Fancy Forms: HTML5 + CSS3 – JS


A simple HTML5 form demo by Richard Bradshaw that shows how to use a few new features: new input types (email, URL, number, and range), new pseudo classes (:valid, :invalid:, :required), and a restriction that doesn’t allow a user submit the form until all fields are counted as valid by the browser. The HTML5 form also adds CSS3 transitions, transformations, and the :not pseudo class to make it look pretty and clean.
View the Tutorial →Demo →

Create a Stylish Contact Form with HTML5 and CSS3


A Line25 tutorial that shows you how to create your own simple stylish contact form completely out of HTML5 and CSS3. The tutorial goes over, step by step, how to use a couple of the handy new features in HTML5 to add cool functionality to the form. And it shows how to use the cool CSS3 properties to style the form as if it was designed in Photoshop but without needing to use any images.
View the Tutorial →Demo →

Designing Search Boxes with HTML5 and CSS3


A tutorial by Saddam Azad on how to design a stylish search box with HTML5 and CSS3. Three different examples are used, and the source code is given for each. Each of the three search box styles are different, so you can pick which one you like most or that fits your website best. The tutorial shows which techniques are used for each example and gives you the markup and CSS code. It lists any points you should be aware of too.
View the Tutorial →

Create a Clean and Stylish Login Form With HTML5 and CSS3


This tutorial will show you how to create a clean and stylish login form with HTML5 and CSS3. It covers building the actual form, the form HTML5 attributes, and styling the form. Screenshots showing the code snippets also have hand-written-outline-style annotations, so you can easily see what parts of the code do what.
View the Tutorial →Demo →

How to Create a Contact Form using HTML5, CSS3 and PHP


With this tutorial you will be shown how to create a stylish and clean contact form using HTML5, CSS3, and PHP. Specifically, it focuses on the new HTML5 features that are already supported by all major browsers and employ graceful degradation for those that don’t. The step-by-step tutorial goes over the form design, the HTML5 markup, the CSS, and creating the functionality with PHP.
View the Tutorial →Demo →

HTML5 and CSS3 Envelope Contact Form


This tutorial will show you how to create a cool-looking envelope-style contact form HTML5 and CSS3 – no images are used. The tutorial goes over the HTML structure of the form, the HTML5 features (placeholder attribute), and the CSS3 properties used to create its envelope appearance. Sample code is provided in each step.
View the Tutorial →Demo →

How to Create a Cool and Usable CSS3 Search Box


Create a cool and usable CSS3 search box using the HTML5 placeholder attribute with this tutorial. For browsers that don’t support that HTML5 attribute, a fallback is created using Modernizr’s feature detection. Sample code is provided in each step.
View the Tutorial →Demo →

Progressively Enhancing HTML5 Forms


A CSS-Tricks tutorial on how to progressively enhance your HTML5 forms. Meaning, this tutorial teaches you how to create fall backs for HTML5 features that certain browsers might not support. Instead of not displaying your form the way you intended it to, a Javascript alternative will show in its place. The two features tools are Yepnope.js and Modernizr.
View the Tutorial →

HTML5 and CSS3 Form Toolbox: What’s Missing?

Over to you: what’s missing from this HTML5 and CSS3 form toolbox? What other references, resources, and/or tutorials do you think are essential? Feel free to share your favorites in the comments section below.

You might also like…

10 Essential Guides, Resources and Tools for Getting Started with HTML →
10 HTML5-Ready Blank, Bare-Bones and Naked Themes for WordPress →
Guide to HTML5′s New Media Tags – Audio and Video →
Guide to HTML5′s New Media Tags – Audio and Video →
Coding Flexible Web Layouts in HTML5 and CSS →


Advertise here with BSA