HTML By Suraj Kumar Sharma Part 4

14 minute read
0
Learn HTML: Advanced Concepts - Part 3

Learn HTML: Advanced Concepts - Part 3

19. CSS Flexbox

Flexbox is a CSS layout model that makes it easy to create flexible, responsive layouts. Elements inside a flex container are automatically aligned according to flexbox rules.

Example of using Flexbox:

                <style>
                    .flex-container {
                        display: flex;
                        justify-content: space-around;
                    }
                    .flex-item {
                        background-color: lightblue;
                        padding: 20px;
                        width: 30%;
                    }
                </style>

                <div class="flex-container">
                    <div class="flex-item">Item 1</div>
                    <div class="flex-item">Item 2</div>
                    <div class="flex-item">Item 3</div>
                </div>
            

Flexbox properties to remember:

  • display: flex: Defines the flex container.
  • justify-content: Aligns the items horizontally (e.g., center, space-between).
  • align-items: Aligns the items vertically (e.g., center, flex-start).

20. CSS Grid

CSS Grid is a layout system that provides a two-dimensional grid-based layout. You can define rows and columns, making it more powerful than Flexbox for complex layouts.

Example of using CSS Grid:

                <style>
                    .grid-container {
                        display: grid;
                        grid-template-columns: auto auto auto;
                        gap: 10px;
                    }
                    .grid-item {
                        background-color: lightgreen;
                        padding: 20px;
                        text-align: center;
                    }
                </style>

                <div class="grid-container">
                    <div class="grid-item">1</div>
                    <div class="grid-item">2</div>
                    <div class="grid-item">3</div>
                    <div class="grid-item">4</div>
                    <div class="grid-item">5</div>
                    <div class="grid-item">6</div>
                </div>
            

CSS Grid properties:

  • display: grid: Defines a grid container.
  • grid-template-columns: Defines the number of columns and their sizes.
  • gap: Adds spacing between grid items.

21. HTML5 APIs

HTML5 introduced several APIs that allow web developers to create interactive and dynamic web applications. Here are two important ones:

1. Geolocation API

Allows a webpage to access the user's geographic location (with their permission). Example:

                <button onclick="getLocation()">Get Location</button>

                <script>
                    function getLocation() {
                        if (navigator.geolocation) {
                            navigator.geolocation.getCurrentPosition(showPosition);
                        } else {
                            alert("Geolocation is not supported by this browser.");
                        }
                    }

                    function showPosition(position) {
                        alert("Latitude: " + position.coords.latitude + 
                              " Longitude: " + position.coords.longitude);
                    }
                </script>
            

2. Local Storage API

Allows web applications to store data locally in the user's browser. Example:

                <button onclick="saveData()">Save Data</button>

                <script>
                    function saveData() {
                        localStorage.setItem('username', 'JohnDoe');
                        alert('Data Saved!');
                    }
                </script>
            

22. Form Validation

HTML5 includes built-in validation for forms. You can use attributes like required, minlength, and pattern to validate form fields before submission.

Example of a form with validation:

                <form>
                    <label for="email">Email:</label>
                    <input type="email" id="email" name="email" required><br>

                    <label for="password">Password:</label>
                    <input type="password" id="password" name="password" minlength="8" required><br>

                    <input type="submit" value="Submit">
                </form>
            

Validation attributes:

  • required: Ensures the field is filled.
  • minlength: Specifies the minimum number of characters.
  • pattern: Validates the input against a regex pattern.

23. SEO Best Practices

Search Engine Optimization (SEO) helps your website rank higher in search results. Here are some HTML practices for better SEO:

  • Use meaningful <title> and <meta> descriptions.
  • Structure content using semantic HTML elements like <header>, <nav>, <article>, and <footer>.
  • Use <alt> attributes for images to improve accessibility and SEO.
  • Use proper heading structure (only one <h1> per page).
  • Ensure your website is mobile-friendly (responsive design).
  • Optimize page speed (minimize CSS, JavaScript, and images).

24. Web Performance Optimization

Improving web performance ensures that your website loads quickly and efficiently, providing a better user experience. Here are some key tips:

  • Minimize HTTP requests by combining CSS/JS files and using image sprites.
  • Use caching mechanisms (like Cache-Control headers).
  • Optimize images by using appropriate formats (e.g., WebP) and compressing them.
  • Lazy-load images and other resources to reduce initial load time.
  • Use a content delivery network (CDN) to deliver content faster across the globe.

Post a Comment

0 Comments
Post a Comment (0)
To Top