138 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			138 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: How to Create a Contact Form with CSS | ||
|  | --- | ||
|  | ## How to Create a Contact Form with CSS
 | ||
|  | 
 | ||
|  | First we create the HTML elements - input fields for First Name, Last Name, Email and a Text Area for the message. | ||
|  | 
 | ||
|  | Later we apply CSS styles to make the form visually appealing. | ||
|  | 
 | ||
|  | ### The HTML part
 | ||
|  | 
 | ||
|  | The HTML section has a div with class `container` with the heading `h3` "__Contact Form__" | ||
|  | 
 | ||
|  | The form with name __contact_form__ contains input fields for: | ||
|  | - First Name | ||
|  | - Last Name | ||
|  | - Email | ||
|  | - Message | ||
|  | 
 | ||
|  | A div with class `center` to align the items center. An `input` type `submit` to submit the form. | ||
|  | <br>The `required` attribute in the text fields are checked for value on submission. | ||
|  | 
 | ||
|  | ```html | ||
|  | <div class="container"> | ||
|  | 	<h3>Contact Form</h3> | ||
|  | 	<form action="#" name="contact_form"> | ||
|  | 		<label for="first_name">First Name</label> | ||
|  | 		<input name="first_name" type="text" required placeholder="John"/> | ||
|  | 		<br> | ||
|  | 		<label for="last_name">Last Name</label> | ||
|  | 		<input name="last_name" type="text" required placeholder="Doe"/> | ||
|  | 		<br> | ||
|  | 		<label for="email">Email</label> | ||
|  | 		<input name="email" type="email" required placeholder="you@domain.com"/> | ||
|  | 		<br> | ||
|  | 		<label for="message">Message</label><br> | ||
|  | 		<textarea name="message" cols="30" rows="10" placeholder="Enter your message here ..." required> </textarea> | ||
|  | 		<div class="center"> | ||
|  | 			<input type="submit" value="Submit"> | ||
|  | 		</div> | ||
|  | 	</form>	 | ||
|  | </div> | ||
|  | ``` | ||
|  | ### The CSS part
 | ||
|  | 
 | ||
|  | ```css | ||
|  | /* Importing the Roboto font from Google Fonts. */ | ||
|  | @import url("https://fonts.googleapis.com/css?family=Roboto:400"); | ||
|  | 
 | ||
|  | /* Set font of all elements to 'Roboto' */ | ||
|  | * { | ||
|  | 	font-family: 'Roboto', sans-serif; | ||
|  | 	font-weight: 400; | ||
|  | } | ||
|  | 
 | ||
|  | /* Remove outline of all elements on focus */ | ||
|  | *:focus { | ||
|  | 	outline: 0; | ||
|  | } | ||
|  | 
 | ||
|  | body { | ||
|  | 	background: #263238;  /* Set background color to #263238*/ | ||
|  | } | ||
|  | 
 | ||
|  | h3 { | ||
|  | 	text-align: center; | ||
|  | } | ||
|  | 
 | ||
|  | /* Add styles to 'container' class */ | ||
|  | .container { | ||
|  | 	padding: 12px 24px 24px 24px; | ||
|  | 	margin: 48px 12px; | ||
|  | 	background: #E3F2FD; | ||
|  | 	border-radius: 4px; | ||
|  | } | ||
|  | 
 | ||
|  | /* Add styles to 'label' selector */ | ||
|  | label { | ||
|  | 	font-size: 0.85em; | ||
|  | 	margin-left: 12px; | ||
|  | } | ||
|  | 
 | ||
|  | /* Add styles to 'input' and 'textarea' selectors */ | ||
|  | input[type=text],input[type=email], textarea { | ||
|  |     width: 100%; | ||
|  |     padding: 12px; | ||
|  |     border: 1px solid #ccc; | ||
|  |     border-radius: 4px; | ||
|  |     box-sizing: border-box; | ||
|  |     margin-top: 6px; | ||
|  |     margin-bottom: 16px; | ||
|  |     resize: vertical; | ||
|  | } | ||
|  | 
 | ||
|  | /* Add styles to show 'focus' of selector */ | ||
|  | input[type=text]:focus,input[type=email]:focus, textarea:focus { | ||
|  | 	border: 1px solid green; | ||
|  | } | ||
|  | 
 | ||
|  | /* Add styles to the submit button */ | ||
|  | input[type=submit] { | ||
|  | 	background: #64B5F6; | ||
|  | 	margin: 0 auto; | ||
|  | 	outline: 0; | ||
|  | 	color: white; | ||
|  | 	border: 0; | ||
|  | 	padding: 12px 24px; | ||
|  | 	border-radius: 4px; | ||
|  | 	transition: all ease-in-out 0.1s; | ||
|  | 	position: relative; | ||
|  | 	display: inline-block; | ||
|  | 	text-align: center; | ||
|  | } | ||
|  | 
 | ||
|  | /* Add styles for 'focus' property */ | ||
|  | input[type=submit]:focus { | ||
|  | 	background: #A5D6A7; | ||
|  | 	color: whitesmoke; | ||
|  | } | ||
|  | 
 | ||
|  | /* Style 'hover' property */ | ||
|  | input[type=submit]:hover { | ||
|  | 	background: #2196F3; | ||
|  | } | ||
|  | 
 | ||
|  | /* Align items to center of the 'div' with the class 'center' */ | ||
|  | .center { | ||
|  | 	text-align: center; | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Output 
 | ||
|  | 
 | ||
|  |  | ||
|  | 
 | ||
|  | ### More Information:
 | ||
|  |  Visit the <a href="https://codepen.io/rakhi2104/pen/QqYOoe/"> FreeCodeCamp - Contact Form</a> on <a href="https://codepen.io">Codepen.io</a> |