HTML, CSS & JavaScript Fundamentals: Web Development Study Guide

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/250

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 12:34 AM on 10/13/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

251 Terms

1
New cards

Term

Definition

2
New cards

Explain HTML Tags.

Tags are the fundamental building blocks of HTML. They are used to mark the beginning and end of an element.

3
New cards

Explain Self-Closing Tags (Void Elements).

Some elements do not have a closing tag because they do not wrap around any content. These are called void elements or self-closing tags. ; : A line break. : An image.

4
New cards

Explain HTML Document Structure.

Every professional HTML document must follow a specific, standardized structure to be interpreted correctly by browsers.

5
New cards

Explain Elements and Attributes.

An Element is the combination of the tags and the content. An Attribute provides additional information about an element.

6
New cards

Explain Attributes.

Attributes are always placed inside the opening tag and usually come in name/value pairs like name="value". Common Attributes: id: A unique identifier for an element. No two elements in a document should share the same ID.

7
New cards

Explain Inline vs. Block Elements.

In the CSS box model, every element is either a Block-level element or an Inline element. This determines how they flow and stack on the page.

8
New cards

Explain Block-Level Elements.

Behavior: They always start on a new line and take up the full width available (stretching from left to right). Structure: They can contain both other block-level elements and inline elements.

9
New cards

Explain Inline Elements.

Behavior: They do not start on a new line. They only take up as much width as their content requires. Structure: They should generally only contain data or other inline elements; putting a block-level element inside an inline element is usually invalid HTML.

10
New cards

Explain Text Content.


to

: Headings (h1 is the most important, h6 the least).

: Paragraph for blocks of text. : Indicates strong importance (usually rendered as bold).

12
New cards

Explain Structural/Container Tags.

: Division (a generic block-level container used for layout and grouping). : Span (a generic inline container used to style specific parts of text).
,
,

13
New cards

In HTML Forms, what does action mean?

The URL of the server-side script that will process the form data.

14
New cards

In HTML Forms, what does checkbox mean?

Allows selecting one or more options from a list.

15
New cards

In HTML Forms, what does radio mean?

Allows selecting only one option from a group.

16
New cards

In HTML Forms, what does submit mean?

A button that triggers the form submission.

17
New cards

Explain Additional Input Attributes.

Beyond name and value, a few attributes are common enough to know up front.

18
New cards

Explain Labels and Textareas.

19
New cards

What is

. It is used for longer free-form text (comments, messages, bios). Its size is set with the rows and cols attributes.

20
New cards

Explain Specialized Inputs: Select and Multi-Select.

When options are limited and predefined,

21
New cards

Explain Multi-Select Capabilities.

To allow a user to select more than one option, simply add the multiple attribute to the

22
New cards

Explain Data Encoding (The enctype Nuance).

Choosing the correct enctype is critical for successful server-side processing.

23
New cards

What is CSS (Cascading Style Sheets)?

CSS (Cascading Style Sheets) is the language used to describe the presentation of a document written in a markup language like HTML. While HTML provides the structure (the bones), CSS provides the style (the skin, clothes, and layout).

24
New cards

Explain Targeting Elements: Selectors.

Selectors are the patterns used to "select" the HTML elements you want to style.

25
New cards

Explain Basic Selectors.

Most styling begins with the most fundamental ways to target elements.

26
New cards

Explain Combinators & Sibling Selectors.

Sometimes, you want to style an element based on its relationship to another element in the HTML tree. Descendant Selector (space): Targets an element inside another element.

27
New cards

In CSS, explain Child Selector (>).

Targets only the immediate children of an element.

28
New cards

Explain Advanced Selectors.

Modern CSS provides powerful "pseudo-class" selectors to target elements based on their state or position.

29
New cards

Explain Specificity.

Specificity is the mathematical weight used by the browser to decide which CSS rule "wins" when multiple rules target the same element. It is calculated using a three-column scoring system: ID, CLASS, and TYPE.

30
New cards

Explain Complex Selectors & Exceptions.

Combinators: Operators like +, >, ~, and (space) help target specific elements but add zero weight to the specificity score. The Universal Selector () and :where(): These have a specificity of 0-0-0. They are useful for resetting styles without affecting the weight of other rules.

31
New cards

Explain Resolving Ties (When Scores are Equal).

If two selectors have the exact same score (e.g., both are 0-1-1), the browser uses two tie-breaking rules: 1. Scoping Proximity: (Advanced) The selector closer to the element in the DOM tree wins.

32
New cards

Explain Core CSS Properties.

Properties are the individual instructions you give to a selector. Typography: font-family, font-size, font-weight, text-align, line-height. Color & Background: color, background-color, background-image, opacity.

33
New cards

Explain CSS Variables (Custom Properties).

CSS Variables allow you to store specific values (like a brand color) in one place and reuse them throughout your entire stylesheet. This makes large-scale styling much easier to maintain.

34
New cards

Explain Positioning.

The box model and layout systems control how elements flow, but position controls where an element is placed — including lifting it out of the normal flow entirely. The position property has four commonly used values

35
New cards

In CSS, what does fixed mean?

Removes the element from the flow and positions it relative to the viewport (the visible browser window). It stays put when the page scrolls.

36
New cards

Explain Flexbox (Flexible Box Layout).

Flexbox is a one-dimensional layout system. It is designed to lay out items in a single direction—either a row or a column. It is perfect for components like navigation bars, centering items, or distributing space evenly.

37
New cards

Explain CSS Grid.

CSS Grid is a two-dimensional layout system. It allows you to work with both rows and columns simultaneously. It is the best tool for building the "macro" layout of an entire webpage.

38
New cards

Explain Adaptive Design: Responsive Web Design.

Responsive Web Design (RWD) is the practice of creating websites that "respond" to the user's screen size, orientation, and platform. The core pillars of RWD are: 1. Fluid Grids: Using relative units (like %, vw, vh) instead of fixed units (like px) so elements resize proportionally.

39
New cards

What is Responsive Web Design (RWD)?

Responsive Web Design (RWD) is the practice of creating websites that "respond" to the user's screen size, orientation, and platform.

40
New cards

Explain Choosing Units.

When deciding between fixed and relative units, prefer relative ones for anything that should adapt to the screen. Two of the most useful relative units are: em: Relative to the parent element's font size. Good for sizing things in relation to their context.

41
New cards

Explain JavaScript Introduction.

JavaScript is a high-level, interpreted (just-in-time compiled) programming language that conforms to the ECMAScript specification. It is a multi-paradigm language, supporting event-driven, functional, and imperative programming styles.

42
New cards

Explain Datatypes.

In JavaScript, data is categorized into two primary groups: Primitives and Objects.

43
New cards

Explain Primitives.

Primitives are immutable and represent a single value. String: Textual data. Number: Integers and floating-point numbers. Boolean: true or false. Undefined: A variable that has been declared but not assigned a value.

44
New cards

Explain Objects.

Objects are collections of properties (key-value pairs) and are mutable. This includes Arrays, Functions, and Dates.

45
New cards

Explain Primitives vs. Objects.

Understanding the conceptual boundary between Primitives and Objects is crucial for mastering JavaScript memory management and behavior. Value vs. Reference: Primitives are passed by value. When you assign one primitive to another, a copy of the value is created. Objects are passed by reference. When you assign one object to another, both variables point to the same memory address.

46
New cards

Explain Loose vs. Strict Equality.

Equality is where coercion most often bites. The loose operators (== / !=) coerce both sides before comparing, while the strict operators (=== / !==) compare type and value with no coercion.

47
New cards

Explain Variable Scopes.

Scope determines the accessibility (visibility) of variables within different parts of your code. Understanding scope is fundamental to preventing variable collisions and managing memory efficiently.

48
New cards

In JS Fundamentals, explain Global Scope.

Variables declared outside any function or block. They are accessible from anywhere in the script.

49
New cards

In JS Fundamentals, explain Function Scope.

Variables declared within a function. They are only accessible within that specific function.

50
New cards

In JS Fundamentals, explain Block Scope.

Variables declared within a {} block (like if statements or for loops). This was introduced in ES6 to provide more granular control.

51
New cards

Explain Hoisting.

Hoisting is a JavaScript mechanism where variables and function declarations are moved to the top of their containing scope during the compilation phase. This allows some functions to be called before they appear to be defined in the code.

52
New cards

Explain Strict Mode.

Strict Mode ("use strict";) is a way to opt into a restricted variant of JavaScript. It is not a separate language, but a mode that makes the engine enforce stricter parsing and error handling, helping you write more secure and optimized code.

53
New cards

Explain Functions.

Functions are the fundamental building blocks of JavaScript. They are reusable blocks of code designed to perform specific tasks, allowing for abstraction, modularity, and the implementation of complex logic through composition.

54
New cards

Explain Function Declarations vs. Expressions.

The way a function is defined in JavaScript significantly impacts its behavior, particularly regarding hoisting and scope.

55
New cards

Explain Arrow Functions and Default Parameters.

Modern JavaScript (ES6+) introduced more concise ways to write functions, specifically targeting common patterns like short callbacks and parameter handling.

56
New cards

Explain Arrow Functions.

Arrow functions provide a compact syntax and, crucially, lexical this binding. Unlike traditional functions, they do not create their own this context; instead, they inherit it from the enclosing scope.

57
New cards

Explain Default Parameters.

To prevent errors caused by undefined arguments, Default Parameters allow you to specify fallback values directly in the function signature.

58
New cards

Explain Closures: Function + Lexical Environment.

A Closure is the combination of a function bundled together with references to its surrounding state (the lexical environment). This allows an inner function to access variables from an outer function even after the outer function has finished executing.

59
New cards

What is this?

this is one of the most misunderstood concepts in JavaScript. It is a keyword that refers to an execution context—essentially, it points to the object that is currently "owning" or executing the code.

60
New cards

Explain Explicit Binding (call, apply, bind).

You can manually "force" a function to use a specific object as its this context.

61
New cards

Explain Constructor Binding (new).

When you use the new keyword, JavaScript creates a new object and sets this to point to that object.

62
New cards

Explain Template Literals.

Template Literals are a modern, more powerful way to work with strings in JavaScript. Introduced in ES6, they replace the older method of string concatenation (using the + operator) with a much cleaner, more readable syntax using backticks ( ).

63
New cards

Explain Arrays.

Arrays are high-level, list-like objects used to store ordered collections of multiple values under a single variable name. Unlike many other languages, JavaScript arrays are dynamic—they can grow or shrink in size automatically, and they can hold a mix of different data types (though keeping them homogeneous is a best practice for clarity).

64
New cards

Explain A. Copying and Merging Arrays.

Instead of using complex loops, you can use spread to create shallow copies or combine multiple arrays.

65
New cards

Explain B. Merging Objects.

Spread works on objects too, allowing you to combine properties or overwrite existing ones.

66
New cards

Explain A. Gathering Function Arguments.

When you don't know how many arguments will be passed to a function, use Rest to capture them all.

67
New cards

Explain B. Destructuring with Rest.

Rest is powerful when you want to extract specific pieces of data and group "everything else" together.

68
New cards

Explain Exception Handling: try...catch...finally.

To prevent a single error from crashing your entire application, you use a try...catch block. This creates a "safety net" around risky code.

69
New cards

Explain DOM Structure.

The DOM represents an HTML document as a Tree Structure. Every element, attribute, and piece of text in your HTML becomes a Node in this tree.

70
New cards

Explain Selecting Elements from the DOM.

To change something, you must first find it. JavaScript provides several methods to locate nodes within the tree.

71
New cards

In JavaScript DOM, what does querySelector() mean?

The first element matching a CSS selector.

72
New cards

Explain Live vs. Static Collections.

One of the most common pitfalls in DOM manipulation is the difference between these two collection types: 1. HTMLCollection (Live): If you select all .item elements and then add a new .item to the page via JavaScript, the collection automatically updates to include the new one.

73
New cards

Explain DOM Manipulation.

Manipulation involves changing the content, attributes, or style of the nodes you have selected.

74
New cards

Explain Modifying Attributes and Styles.

You can interact with an element's properties directly or through dedicated methods. Attributes: Use element.setAttribute('name', 'value') and element.getAttribute('name').

75
New cards

Explain Creating and Removing Elements.

To build new parts of the UI: 1. Create: const newDiv = document.createElement('div'); 2. Configure: newDiv.textContent = 'I am new!'; 3. Inject: parentElement.appendChild(newDiv); or parentElement.prepend(newDiv);

76
New cards

Explain Traversing the DOM.

Traversing is the act of moving from one node to another based on their relationship in the tree (Parent, Child, or Sibling).

77
New cards

Explain Events and Listeners.

Events are signals that something has happened in the browser (a click, a keypress, a scroll). Event Listeners are the functions that "listen" for these signals and execute code in response.

78
New cards

Explain Common Event Types.

Mouse Events: click, dblclick, mouseenter, mouseleave, mousemove. Keyboard Events: keydown, keyup, keypress. Form Events: submit, change, input, focus, blur.

79
New cards

Explain Bubbling & Capturing.

When an event happens on an element, it doesn't just trigger on that one element. It travels through the DOM tree in a specific pattern.

80
New cards

Explain Event Delegation: A Powerful Pattern.

Instead of adding a listener to every single child element (which is slow and memory-intensive), you can add one listener to a common parent. Because events bubble up, the parent will catch the event as it passes through.

81
New cards

Explain Stopping the Flow.

Sometimes you want to prevent an event from bubbling up to parents. e.stopPropagation(): Stops the event from moving further up (or down) the tree. e.preventDefault(): Prevents the browser's default behavior (e.g., stops a link from navigating or a form from submitting).

82
New cards

What is JSON (JavaScript Object Notation)?

JSON (JavaScript Object Notation) is the universal language of web APIs. While it is derived from JavaScript object syntax, it is a text-based, language-independent data format used to serialize and deserialize data during HTTP transmission.

83
New cards

In JS HTTP, what does Parsing Speed mean?

Very Fast (native JSON.parse())

84
New cards

In JS HTTP, what does Data Types mean?

Supports Strings, Numbers, Booleans, Objects, Arrays, Null

85
New cards

Explain Managing Asynchronicity: From Callbacks to Async/Await.

In JavaScript, an HTTP request is an asynchronous operation. If JavaScript waited for a server to respond before moving to the next line of code, the entire website would "freeze." We use different patterns to manage this "waiting" period.

86
New cards

Explain Handling Different HTTP Methods.

While fetch defaults to a GET request, you can perform POST, PUT, PATCH, or DELETE by passing an options object.

87
New cards

Explain What Is TypeScript?.

TypeScript is an open-source programming language developed and maintained by Microsoft. It is a syntactic superset of JavaScript, which means that any valid JavaScript code is also valid TypeScript code.

88
New cards

Explain JavaScript vs. TypeScript.

The fundamental difference between these two languages lies in when and how types are validated.

89
New cards

Explain When Should I Use TypeScript?.

While TypeScript is incredibly powerful, it is not a "one-size-fits-all" solution. Deciding when to adopt it depends on the scale and nature of your project.

90
New cards

Explain ✅ Use TypeScript When.

Building Large-Scale Applications: As the number of files and contributors increases, the "safety net" of types becomes indispensable for preventing regression bugs. Working in Teams: Types serve as living documentation. When a teammate changes a function signature, the compiler informs everyone else immediately via build errors.

91
New cards

What is TypeScript?

TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale. It is a superset of JavaScript, meaning all valid JavaScript is also valid TypeScript. Instead of running directly in the browser, TypeScript code must be transpiled into JavaScript via the TypeScript Compiler (tsc).

92
New cards

Explain What is TypeScript?.

While JavaScript is dynamically typed (types are checked at runtime), TypeScript is statically typed (types are checked at compile-time). This allows you to catch errors during development rather than in production.

93
New cards

Explain Simple or Variable Types.

TypeScript provides several primitive types that represent the simplest forms of data.

94
New cards

In TS Basics, what does array mean?

A collection of elements of the same type.

95
New cards

Explain Special Types.

Beyond primitives, TypeScript includes special types to handle more nuanced scenarios, such as "nothingness" or "anything."

96
New cards

In TS Basics, what does any mean?

Opt-out of type checking.

97
New cards

In TS Basics, what does unknown mean?

The "safe" version of any.

98
New cards

Explain Union Types.

A Union Type lets a value be one of several possible types, using the | (pipe) operator.

99
New cards

Explain Object Types.

In TypeScript, you can define the shape of an object directly.

100
New cards

Explain Type Aliases.

A Type Alias allows you to give a name to a type definition, making it reusable and much easier to read.