<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ragul</title>
    <description>The latest articles on DEV Community by Ragul (@ragul_kannadasan).</description>
    <link>https://dev.to/ragul_kannadasan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4018026%2Fbd834cfc-5402-4eea-98ac-080d0580b684.jpg</url>
      <title>DEV Community: Ragul</title>
      <link>https://dev.to/ragul_kannadasan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ragul_kannadasan"/>
    <language>en</language>
    <item>
      <title>Test Bed</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Sun, 23 Aug 2026 16:34:13 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/test-bed-2eif</link>
      <guid>https://dev.to/ragul_kannadasan/test-bed-2eif</guid>
      <description>&lt;p&gt;In software testing, a test bed is the exact, controlled environment configured specifically to run your test cases. Think of it as a scientific laboratory built entirely for your software. It ensures that every time you run a test, the conditions are exactly the same.&lt;/p&gt;




&lt;h3&gt;
  
  
  Core Components
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Hardware:&lt;/strong&gt; The specific mobile devices, servers, or processors required to run the application.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Software:&lt;/strong&gt; The correct operating systems, web browsers, databases, and background applications.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Network:&lt;/strong&gt; The specific network configurations, firewalls, and internet bandwidth speeds.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Test Data:&lt;/strong&gt; The mock user data, sample accounts, or dummy files used during execution.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>stlc</category>
      <category>webdev</category>
      <category>testing</category>
    </item>
    <item>
      <title>SDLC - Software Development Life Cycle</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Fri, 21 Aug 2026 06:03:23 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/sdlc-software-development-life-cycle-4mdl</link>
      <guid>https://dev.to/ragul_kannadasan/sdlc-software-development-life-cycle-4mdl</guid>
      <description>&lt;h2&gt;
  
  
  Software Development Life Cycle (SDLC)
&lt;/h2&gt;

&lt;p&gt;Building robust software requires more than just writing code; it demands a structured, strategic approach. The Software Development Life Cycle (SDLC) provides that essential blueprint.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Core Phases of SDLC
&lt;/h3&gt;

&lt;p&gt;A traditional SDLC is broken down into distinct, sequential phases to ensure maximum efficiency, transparency, and product quality:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Planning:&lt;/strong&gt; Establishing the project scope, calculating costs, and allocating necessary resources.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Requirements Analysis:&lt;/strong&gt; Gathering precise technical and business needs from stakeholders and end-users.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;System Design:&lt;/strong&gt; Architecting the database structures, user interfaces, and overall system workflows.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Development (Coding):&lt;/strong&gt; Translating the design documents into actual, functioning code.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Testing:&lt;/strong&gt; Rigorously validating the software to uncover bugs and ensure it meets all original requirements.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Deployment and Maintenance:&lt;/strong&gt; Releasing the product to users and continuously patching or upgrading it over time to adapt to new needs.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>sdlc</category>
      <category>software</category>
    </item>
    <item>
      <title>HTML &amp; CSS Interview Questions</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Tue, 18 Aug 2026 17:48:13 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/html-css-interview-questions-3f9p</link>
      <guid>https://dev.to/ragul_kannadasan/html-css-interview-questions-3f9p</guid>
      <description>&lt;h2&gt;
  
  
  HTML Interview Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. What is HTML?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HTML stands for &lt;strong&gt;HyperText Markup Language&lt;/strong&gt;. It is the standard markup language used to create and structure content on web pages.&lt;/p&gt;

&lt;p&gt;HTML is not a programming language because it does not contain programming logic such as loops, conditions, or functions. Instead, it uses &lt;strong&gt;elements and tags&lt;/strong&gt; to tell the browser how content should be structured.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;My Website&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hello World&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This is my first webpage.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; defines the HTML document.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; contains information about the page.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; defines the browser tab title.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; contains visible content.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; creates a heading.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; creates a paragraph.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;HTML provides the &lt;strong&gt;structure&lt;/strong&gt; of a website, while CSS provides the &lt;strong&gt;appearance&lt;/strong&gt; and JavaScript provides &lt;strong&gt;behavior and interactivity&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. What is the difference between HTML and HTML5?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HTML5 is the modern version of HTML. It introduced many new features that make it easier to build modern websites and web applications.&lt;/p&gt;

&lt;p&gt;Older versions of HTML often required additional plugins or technologies for multimedia and complex web applications. HTML5 introduced native support for many of these features.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;video&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"video.mp4"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"video/mp4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/video&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;audio&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"music.mp3"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"audio/mpeg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/audio&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;HTML5 also introduced semantic elements:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;header&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;nav&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;main&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;section&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;article&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;aside&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;footer&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Other important HTML5 features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Audio and video support&lt;/li&gt;
&lt;li&gt;Canvas&lt;/li&gt;
&lt;li&gt;SVG support&lt;/li&gt;
&lt;li&gt;Local storage&lt;/li&gt;
&lt;li&gt;Improved forms&lt;/li&gt;
&lt;li&gt;Semantic elements&lt;/li&gt;
&lt;li&gt;Geolocation APIs&lt;/li&gt;
&lt;li&gt;Better accessibility support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;HTML5 also uses a simpler document declaration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Therefore, HTML5 provides better support for modern websites, multimedia, accessibility, and web applications.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. What are HTML elements?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HTML elements are the basic building blocks of an HTML document. They tell the browser how different pieces of content should be displayed or interpreted.&lt;/p&gt;

&lt;p&gt;A typical HTML element contains an opening tag, content, and a closing tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Hello World&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; is the opening tag.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Hello World&lt;/code&gt; is the content.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;/p&amp;gt;&lt;/code&gt; is the closing tag.&lt;/li&gt;
&lt;li&gt;The complete structure is called an HTML element.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some elements are &lt;strong&gt;void elements&lt;/strong&gt;, meaning they do not have closing tags.&lt;/p&gt;

&lt;p&gt;Examples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"image.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"Example"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;hr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;HTML elements can also contain attributes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://example.com"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Visit Website&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, &lt;code&gt;href&lt;/code&gt; is an attribute of the &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; element.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. What is the difference between &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt;?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; are generic HTML elements, but they are used differently.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; is generally a &lt;strong&gt;block-level element&lt;/strong&gt;, while &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; is an &lt;strong&gt;inline element&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Hello&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;World&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The two &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; elements normally appear on separate lines.&lt;/p&gt;

&lt;p&gt;With &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;Hello&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;World&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The text normally appears on the same line.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; is commonly used to group larger sections of a webpage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"card"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Product&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This is a product.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; is useful for styling or targeting a small part of text:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
    This is &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"highlight"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;important&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;.
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In modern HTML, semantic elements such as &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; should be preferred when they describe the meaning of the content.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. What are semantic HTML elements?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Semantic HTML elements are elements that clearly describe the meaning and purpose of their content.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;header&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;My Website&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/header&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;nav&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Home&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"/about"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;About&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/nav&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;main&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;article&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;My Article&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Article content...&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/main&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;footer&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Copyright 2026&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/footer&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of using multiple generic &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; elements, semantic elements communicate the structure of the page.&lt;/p&gt;

&lt;p&gt;Common semantic elements include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; – introductory content or page header&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt; – navigation links&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; – primary page content&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; – thematic section&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; – independent content&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; – related or secondary content&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; – footer information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Semantic HTML has several advantages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Improves code readability.&lt;/li&gt;
&lt;li&gt;Helps search engines understand page structure.&lt;/li&gt;
&lt;li&gt;Improves accessibility.&lt;/li&gt;
&lt;li&gt;Makes maintenance easier.&lt;/li&gt;
&lt;li&gt;Provides better document structure.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  6. What is the purpose of the &lt;code&gt;alt&lt;/code&gt; attribute in an image?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;alt&lt;/code&gt; attribute provides alternative text for an image.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"laptop.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"A laptop on a desk"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the image cannot be loaded, the alternative text can be displayed instead.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;alt&lt;/code&gt; attribute is also important for &lt;strong&gt;accessibility&lt;/strong&gt;. Screen readers can use the alternative text to describe images to users who cannot see them.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"profile.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"John's profile photo"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;is better than:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"profile.jpg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For decorative images that do not provide meaningful information, an empty alt attribute can be used:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"decoration.png"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;alt&lt;/code&gt; attribute can also provide useful context for search engines.&lt;/p&gt;




&lt;h3&gt;
  
  
  7. What is the difference between &lt;code&gt;id&lt;/code&gt; and &lt;code&gt;class&lt;/code&gt; in HTML?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both &lt;code&gt;id&lt;/code&gt; and &lt;code&gt;class&lt;/code&gt; are attributes used to identify HTML elements, but they have different purposes.&lt;/p&gt;

&lt;p&gt;An &lt;code&gt;id&lt;/code&gt; is generally intended to uniquely identify one element:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h1&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"main-title"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;My Website&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A class can be assigned to multiple elements:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;First paragraph&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Second paragraph&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Third paragraph&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In CSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nf"&gt;#main-title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.text&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;18px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;id&lt;/code&gt; selector uses &lt;code&gt;#&lt;/code&gt;, while the class selector uses &lt;code&gt;.&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A single HTML element can also have multiple classes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"card featured large"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Product
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In general:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;id&lt;/code&gt; when an element needs a unique identifier.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;class&lt;/code&gt; for reusable styling or grouping.&lt;/li&gt;
&lt;li&gt;Avoid unnecessarily using IDs for CSS when reusable classes are more appropriate.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  8. What is the purpose of an HTML form?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HTML forms are used to collect information from users.&lt;/p&gt;

&lt;p&gt;Common examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Login forms&lt;/li&gt;
&lt;li&gt;Registration forms&lt;/li&gt;
&lt;li&gt;Search forms&lt;/li&gt;
&lt;li&gt;Contact forms&lt;/li&gt;
&lt;li&gt;Payment forms&lt;/li&gt;
&lt;li&gt;Feedback forms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"/login"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"post"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"username"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Username:&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"username"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"username"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Password:&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Login&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Important form attributes include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;action&lt;/code&gt; – specifies where form data should be sent.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;method&lt;/code&gt; – specifies how the data should be submitted.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;name&lt;/code&gt; – identifies form fields when data is submitted.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;required&lt;/code&gt; – makes a field mandatory.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;placeholder&lt;/code&gt; – provides a hint to the user.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Common form controls include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;textarea&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;select&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Forms are an important part of interactive websites because they allow users to send data to a server.&lt;/p&gt;




&lt;h2&gt;
  
  
  CSS Interview Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  9. What is CSS?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CSS stands for &lt;strong&gt;Cascading Style Sheets&lt;/strong&gt;. It is used to control the appearance and layout of HTML documents.&lt;/p&gt;

&lt;p&gt;HTML provides the structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hello World&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CSS controls how that structure looks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;40px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CSS can control:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Colors&lt;/li&gt;
&lt;li&gt;Fonts&lt;/li&gt;
&lt;li&gt;Text size&lt;/li&gt;
&lt;li&gt;Margins&lt;/li&gt;
&lt;li&gt;Padding&lt;/li&gt;
&lt;li&gt;Borders&lt;/li&gt;
&lt;li&gt;Layout&lt;/li&gt;
&lt;li&gt;Backgrounds&lt;/li&gt;
&lt;li&gt;Animations&lt;/li&gt;
&lt;li&gt;Responsive design&lt;/li&gt;
&lt;li&gt;Positioning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.card&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The main purpose of CSS is to separate &lt;strong&gt;presentation from structure&lt;/strong&gt;, making websites easier to maintain and design.&lt;/p&gt;




&lt;h3&gt;
  
  
  10. What are the three ways to add CSS?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are three common ways to apply CSS to an HTML document.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Inline CSS
&lt;/h4&gt;

&lt;p&gt;CSS is written directly inside the HTML element.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: red;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Hello World&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is useful for quick testing but generally not recommended for large projects.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Internal CSS
&lt;/h4&gt;

&lt;p&gt;CSS is written inside a &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; element in the HTML document.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is useful when styles are specific to a single HTML page.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. External CSS
&lt;/h4&gt;

&lt;p&gt;CSS is stored in a separate &lt;code&gt;.css&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"style.css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;External CSS is generally preferred for larger websites because the same stylesheet can be reused across multiple pages.&lt;/p&gt;




&lt;h3&gt;
  
  
  11. What is the CSS Box Model?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The CSS Box Model describes how the browser calculates the size and spacing of an HTML element.&lt;/p&gt;

&lt;p&gt;Every element can be thought of as a rectangular box containing four main areas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;+-----------------------------+
|           Margin            |
|  +-----------------------+  |
|  |        Border         |  |
|  |  +-----------------+  |  |
|  |  |     Padding     |  |  |
|  |  |  +-----------+  |  |  |
|  |  |  |  Content  |  |  |  |
|  |  |  +-----------+  |  |  |
|  |  +-----------------+  |  |
|  +-----------------------+  |
+-----------------------------+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The four parts are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Content&lt;/strong&gt; – actual text, image, or other content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Padding&lt;/strong&gt; – space between content and border.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Border&lt;/strong&gt; – line surrounding the padding and content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Margin&lt;/strong&gt; – space outside the border.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.box&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By default, the declared &lt;code&gt;width&lt;/code&gt; applies to the content area.&lt;/p&gt;

&lt;p&gt;Using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;box-sizing&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;border-box&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;makes width and height include the content, padding, and border, which is often easier for layout calculations.&lt;/p&gt;




&lt;h3&gt;
  
  
  12. What is the difference between margin and padding?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The main difference is where the space is created.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Padding&lt;/strong&gt; creates space &lt;strong&gt;inside&lt;/strong&gt; the element, between the content and border.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Margin&lt;/strong&gt; creates space &lt;strong&gt;outside&lt;/strong&gt; the element, between the element and surrounding elements.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.card&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;padding: 20px&lt;/code&gt; creates space around the content inside the card.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;margin: 30px&lt;/code&gt; creates space around the outside of the card.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A simple way to remember it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Padding = inside space&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Margin = outside space&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  13. What is CSS Flexbox?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Flexbox, or &lt;strong&gt;Flexible Box Layout&lt;/strong&gt;, is a CSS layout system used to arrange elements in a row or column.&lt;/p&gt;

&lt;p&gt;To create a flex container:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Box 1&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Box 2&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Box 3&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Important Flexbox properties include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;display: flex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;flex-direction&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;justify-content&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;align-items&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;flex-wrap&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gap&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;flex-grow&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;flex-shrink&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;align-self&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;justify-content&lt;/code&gt; controls alignment along the main axis.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;align-items&lt;/code&gt; controls alignment along the cross axis.&lt;/p&gt;

&lt;p&gt;Flexbox is especially useful for navigation bars, cards, buttons, centering elements, and one-dimensional layouts.&lt;/p&gt;




&lt;h3&gt;
  
  
  14. What is CSS Grid?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CSS Grid is a two-dimensional layout system. It allows developers to arrange elements using &lt;strong&gt;rows and columns&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates three columns.&lt;/p&gt;

&lt;p&gt;Example HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Box 1&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Box 2&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Box 3&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Grid provides properties such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;grid-template-columns&lt;/span&gt;
&lt;span class="nt"&gt;grid-template-rows&lt;/span&gt;
&lt;span class="nt"&gt;gap&lt;/span&gt;
&lt;span class="nt"&gt;grid-column&lt;/span&gt;
&lt;span class="nt"&gt;grid-row&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Grid is useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Website layouts&lt;/li&gt;
&lt;li&gt;Dashboards&lt;/li&gt;
&lt;li&gt;Photo galleries&lt;/li&gt;
&lt;li&gt;Product grids&lt;/li&gt;
&lt;li&gt;Complex two-dimensional designs&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  15. What is the difference between Flexbox and Grid?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both Flexbox and Grid are modern CSS layout systems, but they are designed for different purposes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flexbox&lt;/strong&gt; is primarily a &lt;strong&gt;one-dimensional layout system&lt;/strong&gt;. It works mainly along a row or column.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.nav&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Grid&lt;/strong&gt; is a &lt;strong&gt;two-dimensional layout system&lt;/strong&gt;. It can control rows and columns at the same time.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.layout&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;250px&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A simple way to remember:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Flexbox → One dimension&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Grid → Two dimensions&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;However, they can also be used together. For example, Grid can create the overall page layout while Flexbox can arrange elements inside individual components.&lt;/p&gt;




&lt;h3&gt;
  
  
  16. What is CSS specificity?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CSS specificity determines which CSS rule takes priority when multiple rules apply to the same element.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Hello&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.text&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;#title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The text will be &lt;strong&gt;red&lt;/strong&gt; because the ID selector has higher specificity than the class and element selectors.&lt;/p&gt;

&lt;p&gt;A simplified specificity order is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Inline style
    ↓
ID selector
    ↓
Class / Attribute / Pseudo-class
    ↓
Element / Pseudo-element
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nf"&gt;#title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.text&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The ID selector wins.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;!important&lt;/code&gt; declaration can override normal declarations, but it should be used carefully because excessive use makes CSS difficult to maintain.&lt;/p&gt;




&lt;h3&gt;
  
  
  17. What is the difference between &lt;code&gt;display: none&lt;/code&gt; and &lt;code&gt;visibility: hidden&lt;/code&gt;?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both properties can make an element invisible, but they behave differently.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;display: none&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;The element is removed from the layout.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.box&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The browser does not reserve space for it.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;visibility: hidden&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;The element becomes invisible, but its original space remains.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.box&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;visibility&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example, if you have three boxes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Box 1    Box 2    Box 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If Box 2 uses &lt;code&gt;display: none&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Box 1    Box 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If Box 2 uses &lt;code&gt;visibility: hidden&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Box 1    [space]    Box 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Therefore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;display: none&lt;/code&gt; → hidden and removed from layout.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;visibility: hidden&lt;/code&gt; → hidden but space remains.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  18. What are CSS pseudo-classes?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pseudo-classes are keywords used to select elements based on their &lt;strong&gt;state, position, or user interaction&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;They start with a colon (&lt;code&gt;:&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This applies when the user moves the mouse over the button.&lt;/p&gt;

&lt;p&gt;Another example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;input&lt;/span&gt;&lt;span class="nd"&gt;:focus&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This applies when the input receives focus.&lt;/p&gt;

&lt;p&gt;Common pseudo-classes include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt;
&lt;span class="nd"&gt;:focus&lt;/span&gt;
&lt;span class="nd"&gt;:active&lt;/span&gt;
&lt;span class="nd"&gt;:visited&lt;/span&gt;
&lt;span class="nd"&gt;:first-child&lt;/span&gt;
&lt;span class="nd"&gt;:last-child&lt;/span&gt;
&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt;
&lt;span class="nd"&gt;:checked&lt;/span&gt;
&lt;span class="nd"&gt;:disabled&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;:first-child&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;2&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pseudo-classes are very useful for interactive interfaces and selecting elements based on their state or position.&lt;/p&gt;




&lt;h3&gt;
  
  
  19. What are media queries in CSS?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Media queries are used to apply different CSS styles depending on the characteristics of the device or viewport.&lt;/p&gt;

&lt;p&gt;They are especially important for &lt;strong&gt;responsive web design&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;80%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;768px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, the &lt;code&gt;.container&lt;/code&gt; normally has a width of &lt;code&gt;80%&lt;/code&gt;. When the viewport is 768 pixels or smaller, its width becomes &lt;code&gt;100%&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Media queries can be used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mobile phones&lt;/li&gt;
&lt;li&gt;Tablets&lt;/li&gt;
&lt;li&gt;Laptops&lt;/li&gt;
&lt;li&gt;Desktop screens&lt;/li&gt;
&lt;li&gt;Printing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;600px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;.nav&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;flex-direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This allows a website to adapt to smaller screens.&lt;/p&gt;

&lt;p&gt;Responsive design is important because users access websites from many different screen sizes.&lt;/p&gt;




&lt;h3&gt;
  
  
  20. What is the difference between relative, absolute, fixed, and sticky positioning?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CSS provides several positioning methods.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;position: relative&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The element remains in the normal document flow but can be moved relative to its original position.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.box&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The original space occupied by the element is still preserved.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;code&gt;position: absolute&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The element is removed from the normal document flow and positioned relative to its nearest positioned ancestor.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.parent&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.child&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is commonly used for badges, icons, overlays, and elements positioned inside containers.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;code&gt;position: fixed&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The element is positioned relative to the viewport and generally stays in the same place when the page is scrolled.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.button&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;fixed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This can be used for floating buttons or fixed navigation elements.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;code&gt;position: sticky&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Sticky positioning behaves like a relatively positioned element until a specified scrolling threshold is reached.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.header&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sticky&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When the user scrolls and the element reaches &lt;code&gt;top: 0&lt;/code&gt;, it can remain stuck there while its containing area allows it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quick comparison
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Position&lt;/th&gt;
&lt;th&gt;Main Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;relative&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Move an element relative to its normal position&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;absolute&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Position an element relative to a positioned ancestor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;fixed&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Keep an element positioned relative to the viewport&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sticky&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Make an element stick during scrolling&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Understanding these positioning methods is important because they are frequently used when creating modern web layouts.&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>career</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Tried to De-Google My Phone</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Mon, 17 Aug 2026 05:16:03 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/tried-to-de-google-my-phone-cg7</link>
      <guid>https://dev.to/ragul_kannadasan/tried-to-de-google-my-phone-cg7</guid>
      <description>&lt;p&gt;In an effort to reclaim my digital privacy, I decided to completely disable all Google services on my daily driver. I expected a cleaner, faster, and more private experience, but the reality turned out quite different.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Process
&lt;/h2&gt;

&lt;p&gt;I accessed my mobile terminal from my Fedora laptop using Android platform tools (&lt;code&gt;adb&lt;/code&gt;) to systematically disable Google apps and background services.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Example ADB shell command used to disable packages&lt;/span&gt;
adb shell pm disable-user &lt;span class="nt"&gt;--user&lt;/span&gt; 0 &amp;lt;package_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  What Went Wrong
&lt;/h2&gt;

&lt;p&gt;Almost immediately after disabling core Google Mobile Services (GMS), the entire system became highly unstable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Key Features Broken:&lt;/strong&gt; The default keyboard (Gboard) stopped functioning entirely, making basic navigation and unlocking nearly impossible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Severe Performance Degradation:&lt;/strong&gt; The phone began lagging heavily with constant frame drops.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frequent Freezes &amp;amp; Crashes:&lt;/strong&gt; System apps and dependent background services kept crashing in loops.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;Disabling core Google packages on a stock ROM is not a reliable way to de-Google a device. Modern OEM stock ROMs deeply integrate GMS into everyday system utilities.&lt;/p&gt;

&lt;p&gt;A proper de-Googling setup requires:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Switching to a dedicated privacy-focused custom ROM (like &lt;strong&gt;LineageOS&lt;/strong&gt;, &lt;strong&gt;GrapheneOS&lt;/strong&gt;, or &lt;strong&gt;CalyxOS&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;Verifying official support and active maintenance for your specific device model before flashing.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Over to You
&lt;/h2&gt;

&lt;p&gt;Have you tried de-Googling your daily driver? What approach worked best for you?&lt;/p&gt;

&lt;p&gt;💬 &lt;em&gt;If you have other solutions, lightweight alternatives, or suggestions, please share them in the comments below!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>linux</category>
      <category>mobile</category>
      <category>privacy</category>
    </item>
    <item>
      <title>Software Testing</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Fri, 14 Aug 2026 19:32:00 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/software-testing-37a6</link>
      <guid>https://dev.to/ragul_kannadasan/software-testing-37a6</guid>
      <description>&lt;p&gt;When building any kind of software, writing the code is only half the battle. Making sure that code doesn't break when a user clicks a button is the other half! Software testing is the safety net that prevents bugs from making it to production and ruining the user experience.&lt;/p&gt;

&lt;p&gt;Broadly speaking, software testing is divided into two execution methods: Manual Testing (human testers interacting with the software) and Automated Testing (scripts running tests automatically). However, when we look at what is being tested, the field breaks down into two main categories: Functional and Non-Functional testing.&lt;/p&gt;

&lt;h1&gt;
  
  
  Functional Testing
&lt;/h1&gt;

&lt;p&gt;Functional testing answers a simple question: Does the software do what it is supposed to do? It tests the features and operational behavior of the product against the business requirements.&lt;/p&gt;

&lt;blockquote&gt;
&lt;h4&gt;
  
  
  Unit Testing:
&lt;/h4&gt;

&lt;p&gt;The most granular level of testing. Developers test individual functions, methods, or classes to ensure each isolated piece of code works perfectly on its own.&lt;/p&gt;
&lt;h4&gt;
  
  
  Integration Testing:
&lt;/h4&gt;

&lt;p&gt;Once individual units are built, they are combined. This phase tests the data flow and communication between those combined modules to ensure they play nicely together.&lt;/p&gt;
&lt;h4&gt;
  
  
  System Testing:
&lt;/h4&gt;

&lt;p&gt;This evaluates the complete, fully integrated software product. It tests the system as a whole to verify it meets the specified requirements.&lt;/p&gt;
&lt;h4&gt;
  
  
  Acceptance Testing (UAT):
&lt;/h4&gt;

&lt;p&gt;The final hurdle before launch. End-users or clients test the software in a real-world scenario to confirm it solves their problems and is ready for release.&lt;/p&gt;
&lt;h4&gt;
  
  
  Regression Testing:
&lt;/h4&gt;

&lt;p&gt;Every time you add a new feature or fix a bug, you run regression tests to ensure the new code didn't accidentally break existing, working features.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Non-Functional Testing
&lt;/h1&gt;

&lt;p&gt;Non-functional testing answers a different question: How well does the system perform? It evaluates aspects like speed, scalability, security, and user experience rather than specific features.&lt;/p&gt;

&lt;blockquote&gt;
&lt;h4&gt;
  
  
  Performance Testing:
&lt;/h4&gt;

&lt;p&gt;Checks how the system behaves under different workloads. It ensures the app doesn't crash or slow down to a crawl when a thousand people log in at once.&lt;/p&gt;
&lt;h4&gt;
  
  
  Security Testing:
&lt;/h4&gt;

&lt;p&gt;Actively looks for vulnerabilities, loopholes, and weaknesses in the system to ensure user data is protected against malicious attacks.&lt;/p&gt;
&lt;h4&gt;
  
  
  Usability Testing:
&lt;/h4&gt;

&lt;p&gt;Evaluates how intuitive and user-friendly the software is. If users can't figure out how to navigate the app, it fails this test.&lt;/p&gt;
&lt;h4&gt;
  
  
  Compatibility Testing:
&lt;/h4&gt;

&lt;p&gt;Ensures the software runs correctly across different web browsers, operating systems, and hardware devices (e.g., mobile vs. desktop).&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>software</category>
      <category>testing</category>
      <category>development</category>
      <category>testdev</category>
    </item>
    <item>
      <title>Hoisting</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Fri, 14 Aug 2026 05:14:44 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/hoisting-1n66</link>
      <guid>https://dev.to/ragul_kannadasan/hoisting-1n66</guid>
      <description>&lt;p&gt;Hoisting is JavaScript's default behavior of setting aside memory for variable and function declarations before your code actually runs line-by-line.&lt;/p&gt;

&lt;p&gt;​It creates the illusion that declarations are physically "hoisted" (lifted) to the top of your code, though your source code isn't actually moved anywhere.&lt;/p&gt;

&lt;p&gt;When JavaScript runs your code, it does so in two distinct phases inside the Execution&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Memory Allocation Phase (Phase 1): The engine scans the code and stores variable and function declarations in memory.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code Execution Phase (Phase 2): The engine executes your code line-by-line, assigning values and invoking functions.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>Variables in JavaScript</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Wed, 12 Aug 2026 20:59:50 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/variables-in-javascript-hpo</link>
      <guid>https://dev.to/ragul_kannadasan/variables-in-javascript-hpo</guid>
      <description>&lt;p&gt;In JavaScript, variables are named containers used to store data values.  They are declared using three keywords: var, let, and const&lt;/p&gt;

&lt;h2&gt;
  
  
  let:
&lt;/h2&gt;

&lt;p&gt;The recommended modern way to declare variables. It is block-scoped, meaning it is only accessible within the block {} where it is defined.  It allows reassignment.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Ragul&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// String value&lt;/span&gt;
&lt;span class="nx"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Ragul Kannadasan&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;       &lt;span class="c1"&gt;// Reassignment is allowed&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// Output: Ragul Kannadasan&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  const:
&lt;/h2&gt;

&lt;p&gt;Used to declare constants. Like let, it is block-scoped, but the value cannot be reassigned after initialization.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;PI&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;3.14&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;        &lt;span class="c1"&gt;// Numeric value&lt;/span&gt;
&lt;span class="c1"&gt;// PI = 3.15;          // This would throw an error&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  var:
&lt;/h2&gt;

&lt;p&gt;The legacy method. It is function-scoped (or globally-scoped if outside a function), which often leads to confusing bugs and is generally avoided in modern code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;testScope&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Pink&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Output: "Pink" (accessible outside the if block)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nf"&gt;testScope&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>JavaScript</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Tue, 11 Aug 2026 19:11:48 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/javascript-2f37</link>
      <guid>https://dev.to/ragul_kannadasan/javascript-2f37</guid>
      <description>&lt;p&gt;JavaScript was created by &lt;a href="https://en.wikipedia.org/wiki/Brendan_Eich" rel="noopener noreferrer"&gt;Brendan Eich&lt;/a&gt; at Netscape Communications in May 1995 in just ten days to make web pages interactive.  Initially codenamed Mocha and then renamed to LiveScript in September 1995, it was officially released as JavaScript in December 1995 to capitalize on the popularity of Java&lt;/p&gt;

&lt;p&gt;JavaScript is the scripting language of the web. It provides rich interactivity and dynamic content for web applications. With it, you can build user experiences that can help users accomplish complex tasks, store user data, and more.&lt;/p&gt;

&lt;p&gt;JavaScript and web browsers have a symbiotic relationship where the browser acts as the host environment and JavaScript serves as the programming language that makes web pages dynamic.  Browsers provide a JavaScript engine (such as V8 in Chrome or SpiderMonkey in Firefox) to parse, compile, and execute JavaScript code directly on the user's device.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>browser</category>
      <category>webdev</category>
    </item>
    <item>
      <title>NextCloud</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Sun, 09 Aug 2026 20:15:59 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/nextcloud-3h7m</link>
      <guid>https://dev.to/ragul_kannadasan/nextcloud-3h7m</guid>
      <description>&lt;p&gt;If you want an alternative to Google Drive, Microsoft 365, or Dropbox, &lt;strong&gt;&lt;a href="https://nextcloud.com/" rel="noopener noreferrer"&gt;Nextcloud&lt;/a&gt;&lt;/strong&gt; is one of the best open-source options. It lets you store files, sync devices, share documents, and collaborate with others while keeping &lt;strong&gt;full control of your data&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Setup
&lt;/h2&gt;

&lt;p&gt;I currently run &lt;strong&gt;Nextcloud on a Raspberry Pi 4&lt;/strong&gt; and access it securely through &lt;strong&gt;Tailscale&lt;/strong&gt;. This setup allows me to use my Raspberry Pi as a personal cloud server and access my files from anywhere without exposing my home network to the public internet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Use Nextcloud?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Self-hosted&lt;/strong&gt; – Your files stay on your own server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free and open source&lt;/strong&gt; – No subscription required.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure&lt;/strong&gt; – Supports encryption and private sharing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration&lt;/strong&gt; – Edit documents, manage calendars, contacts, and video calls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI and automation&lt;/strong&gt; – Recent versions include private AI features and workflow automation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Raspberry Pi 4 + Tailscale?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Low-cost personal server&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure remote access&lt;/strong&gt; through Tailscale&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Easy to access from any device&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No need for port forwarding&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Complete control over your data&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Nextcloud vs Google Drive
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Nextcloud&lt;/th&gt;
&lt;th&gt;Google Drive&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Data ownership&lt;/td&gt;
&lt;td&gt;Yours&lt;/td&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hosting&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Privacy&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Provider-controlled&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Nextcloud is perfect for developers, students, businesses, and anyone who wants &lt;strong&gt;privacy and control&lt;/strong&gt; over their files and collaboration tools. Running &lt;strong&gt;Nextcloud on a Raspberry Pi 4 with Tailscale&lt;/strong&gt; is an affordable and powerful way to build your own private cloud that you can access securely from anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Nextcloud Official Website:&lt;/strong&gt; &lt;a href="https://nextcloud.com/" rel="noopener noreferrer"&gt;https://nextcloud.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailscale:&lt;/strong&gt; &lt;a href="https://tailscale.com/" rel="noopener noreferrer"&gt;https://tailscale.com/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>nextcloud</category>
      <category>selfhosted</category>
      <category>data</category>
    </item>
    <item>
      <title>iframe</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Wed, 05 Aug 2026 18:00:07 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/iframe-5ef2</link>
      <guid>https://dev.to/ragul_kannadasan/iframe-5ef2</guid>
      <description>&lt;p&gt;An &lt;strong&gt;iframe (inline frame)&lt;/strong&gt; is an HTML element that allows one webpage or external content to be displayed inside another webpage. It is commonly used to embed &lt;strong&gt;YouTube videos, Google Maps, online forms, and other websites&lt;/strong&gt; without copying their content directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic Syntax
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;iframe&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://example.com"&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"600"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"400"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;src&lt;/code&gt; attribute specifies the URL to display, while &lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt; control the iframe size.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Uses
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Embedding YouTube videos&lt;/li&gt;
&lt;li&gt;Displaying Google Maps&lt;/li&gt;
&lt;li&gt;Adding online forms&lt;/li&gt;
&lt;li&gt;Showing external web pages or widgets&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Advantages
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Easy to embed external content&lt;/li&gt;
&lt;li&gt;Automatically updates when the source changes&lt;/li&gt;
&lt;li&gt;Keeps embedded content separate from the main webpage&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>html</category>
      <category>website</category>
    </item>
    <item>
      <title>HTML Multimedia</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Tue, 04 Aug 2026 05:58:31 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/html-multimedia-3h1n</link>
      <guid>https://dev.to/ragul_kannadasan/html-multimedia-3h1n</guid>
      <description>&lt;p&gt;When you visit a website, nobody wants to read just endless walls of text. We love seeing pictures, listening to music, and watching videos! These elements are called &lt;strong&gt;Multimedia&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In HTML, adding multimedia is much easier than you might think. Let’s break down how you can bring your web pages to life using simple HTML tags.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; Tag
&lt;/h2&gt;

&lt;p&gt;Images make your website colorful and engaging. To add an image in HTML, we use the &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;This tag is special because it is a &lt;strong&gt;self-closing tag&lt;/strong&gt;. This means you don't need a closing &lt;code&gt;&amp;lt;/img&amp;gt;&lt;/code&gt; tag. You just put all the information right inside the first set of brackets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important Attributes (The Rules of the Tag):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;src&lt;/code&gt; (Source):&lt;/strong&gt; This tells the browser exactly where to find your picture. It can be a link from the internet or a file saved on your computer.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;alt&lt;/code&gt; (Alternative Text):&lt;/strong&gt; This is very important! If your image fails to load, this text will show up instead. It also helps visually impaired people understand what the image is about using screen readers.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt;:&lt;/strong&gt; This sets how big or small the picture should appear on your screen.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Code Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"cute-dog.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"A cute golden retriever puppy"&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"400"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"300"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. The &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; Tag
&lt;/h2&gt;

&lt;p&gt;Want to add a podcast, background music, or sound effects? You can do this using the &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important Attributes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;controls&lt;/code&gt;:&lt;/strong&gt; This is the most important attribute for audio. It tells the browser to show the play, pause, and volume buttons so the user can control the sound.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;autoplay&lt;/code&gt;:&lt;/strong&gt; If you add this word, the music will start playing the second the website opens (though many modern browsers block this because it can annoy users!).&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;loop&lt;/code&gt;:&lt;/strong&gt; This makes the audio start over again automatically when it finishes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Code Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;audio&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"background-music.mp3"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"audio/mpeg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"background-music.ogg"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"audio/ogg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Your browser does not support the audio element.
&lt;span class="nt"&gt;&amp;lt;/audio&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Why two &lt;code&gt;&amp;lt;source&amp;gt;&lt;/code&gt; tags?&lt;/strong&gt; Different web browsers (like Chrome, Safari, or Firefox) prefer different audio file types. By giving them two options (like &lt;code&gt;.mp3&lt;/code&gt; and &lt;code&gt;.ogg&lt;/code&gt;), you make sure the sound works for everyone.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  3. The &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; Tag
&lt;/h2&gt;

&lt;p&gt;Adding a video is very similar to adding audio. The &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; tag makes embedding local video files a breeze.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important Attributes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;controls&lt;/code&gt;:&lt;/strong&gt; Just like with audio, this adds the play, pause, and full-screen buttons.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;poster&lt;/code&gt;:&lt;/strong&gt; This lets you choose a picture to show &lt;em&gt;before&lt;/em&gt; the user clicks play (like a YouTube thumbnail).&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt;:&lt;/strong&gt; Sets the size of the video player on your webpage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Code Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;video&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"500"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"300"&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt; &lt;span class="na"&gt;poster=&lt;/span&gt;&lt;span class="s"&gt;"thumbnail-image.jpg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"my-vacation.mp4"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"video/mp4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Your browser does not support the video tag.
&lt;span class="nt"&gt;&amp;lt;/video&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; Tag
&lt;/h2&gt;

&lt;p&gt;Uploading large video files directly to your website can make it run very slowly. A better way is to upload your video to a site like YouTube or Vimeo, and then &lt;strong&gt;embed&lt;/strong&gt; it on your website.&lt;/p&gt;

&lt;p&gt;To do this, we use the &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; tag. It basically creates a little window on your webpage that looks into another website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to do it with YouTube:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to a YouTube video.&lt;/li&gt;
&lt;li&gt;Click the "Share" button.&lt;/li&gt;
&lt;li&gt;Click "Embed."&lt;/li&gt;
&lt;li&gt;Copy the HTML code they give you and paste it into your website!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Code Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;iframe&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"560"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"315"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://www.youtube.com/embed/dQw4w9WgXcQ"&lt;/span&gt; &lt;span class="na"&gt;title=&lt;/span&gt;&lt;span class="s"&gt;"YouTube video player"&lt;/span&gt; &lt;span class="na"&gt;frameborder=&lt;/span&gt;&lt;span class="s"&gt;"0"&lt;/span&gt; &lt;span class="na"&gt;allowfullscreen&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>html</category>
    </item>
    <item>
      <title>Bootstrap</title>
      <dc:creator>Ragul</dc:creator>
      <pubDate>Thu, 30 Jul 2026 17:12:42 +0000</pubDate>
      <link>https://dev.to/ragul_kannadasan/bootstrap-1mg8</link>
      <guid>https://dev.to/ragul_kannadasan/bootstrap-1mg8</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://getbootstrap.com/" rel="noopener noreferrer"&gt;Bootstrap&lt;/a&gt;&lt;/strong&gt; is a &lt;strong&gt;CSS framework&lt;/strong&gt;. Think of a framework like a giant box of pre-built Lego pieces. &lt;/p&gt;

&lt;p&gt;Instead of writing dozens of lines of CSS to make a nice-looking, blue, rounded button, the developers at Bootstrap have already written that code for you. All you have to do is attach a specific "label" (an HTML class) to your element, and Bootstrap does the heavy lifting.&lt;/p&gt;

&lt;p&gt;With Bootstrap, you style your website by adding classes directly to your HTML. &lt;br&gt;
Want a blue button? Just type &lt;code&gt;&amp;lt;button class="btn btn-primary"&amp;gt;Click Me&amp;lt;/button&amp;gt;&lt;/code&gt;. &lt;br&gt;
Want your text centered? Add &lt;code&gt;class="text-center"&lt;/code&gt;. It is almost like speaking plain English to your HTML!&lt;/p&gt;

</description>
      <category>bootstrap</category>
      <category>opensource</category>
      <category>css</category>
    </item>
  </channel>
</rss>
