Introduction
Building a website from scratch is a great way to understand the fundamentals of web development. In this tutorial, you will learn how to create a simple static website using HTML for structure, CSS for styling, and JavaScript for interactivity.
Prerequisites
- A text editor (e.g., Visual Studio Code, Sublime Text, Notepad++).
- Basic understanding of HTML, CSS, and JavaScript syntax.
Step 1: Setting Up the Project Structure
Create a new directory for your website project:
my_website/ ├── index.html ├── styles.css └── script.js
Step 2: Creating the HTML Structure
Open index.html in your text editor and set up the basic HTML structure:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>My Simple Website</title> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>Welcome to My Website</h1> <p>This is a simple website created with HTML, CSS, and JavaScript.</p> <button id="myButton">Click Me</button> <script src="script.js"></script> </body> </html>
Step 3: Adding Styles with CSS
Open styles.css and add some styles to enhance the appearance of your website:
body { font-family: Arial, sans-serif; text-align: center; margin-top: 50px; } h1 { color: #333; } button { padding: 10px 20px; font-size: 16px; }
Step 4: Adding Interactivity with JavaScript
Open script.js and add code to handle the button click event:
document.getElementById('myButton').addEventListener('click', function() { alert('Button clicked!'); });
Step 5: Testing the Website
Open index.html in a web browser to view your website. Click the “Click Me” button to ensure the JavaScript function works correctly.
Step 6: Enhancing the Website (Optional)
- Add Images: Include images using the <img> tag.
- Create Additional Pages: Add more HTML files and link them using <a> tags.
- Responsive Design: Use media queries in CSS to make the website responsive.
Conclusion
You have created a simple static website using HTML, CSS, and JavaScript. This foundation allows you to build more complex websites and explore advanced web development concepts.