
Explore CSS cascading style sheets to replace table-based layouts with flexible, browser-friendly styling. Learn what CSS is, how style rules work, and how single style sheets update multiple pages.
Explore the three parts of a CSS rule—selector, property, and value—and apply styles, like pink page background and fonts Arial for the page and Georgia for headings.
Explore the three types of CSS styles internal, inline, and external—and see how to define an internal style sheet, use inline rules, and link an external CSS file.
Discover how CSS colors work using color names, hex values, and rgb codes to style h1, h2, and h3 elements, and learn to retrieve codes with a color picker.
Explore how the class selector defines styles in a style sheet, like font size, green color, bold text, and underline, and use spans to apply multiple classes to inline text.
Explore how divs in css replace table cells for flexible formatting and positioning, enabling content such as text, images, or media with rounded corners, transparency, layering, and pixel-level control.
Learn how CSS IDs create unique style rules for divs, using the id div one with a yellow background, blue text, 80% width, and a 3px black border.
Explore how CSS margins create spacing around elements by applying margins to a div, testing 10px, 30px, and 50px, and using four-value shorthand for top, right, bottom, and left.
Learn how CSS padding creates spacing between an element's perimeter and its content, applying padding to all sides or specific sides with examples like 10px, 20px, and 30px.
Explore CSS text properties such as color, color codes, letter-spacing, word-spacing, text-align, text-decoration, and text-transform by applying classes to paragraphs and previewing changes in the browser.
Explore the font property to set text style, including font family, font size, font style, and line height. Create a text style class to apply these declarations to a paragraph.
Create a my border class with a 4px border, apply it to all sides or specific ones, and set color (named, hex, or rgb) with a dashed style.
Create an HTML file, define a div with an id, and apply CSS backgrounds using background color, a background image, and controls for repeat and position to center the image.
Define transparency with the opacity declaration, wrap an image in a div, apply 40% opacity by default and 90% for comparison, then enable a hover to 100%.
Apply width and height declarations to a div to see how it scales with the content area. Use min-width, max-width, and auto to control sizing, and vh for viewport height.
Position text over an image using CSS with nested divs, a background image, and a semi-transparent text box, while defining id selectors and styling padding, height, opacity, and white text.
Explore how the CSS display property controls element visibility and positioning. Learn to line up nested divs with inline-block and hide elements using display: none.
Explore the four position types—static, relative, absolute, and fixed—and how the position property shapes css layouts, noting that static is the default in normal flow.
Explore how relative positioning offsets elements using top and left, and see how a nested div moves 80 pixels from its parent div rather than the page.
Discover how absolute positioning pins an element to a fixed spot, regardless of browser resizing, and contrast it with relative positioning shown with nested divs.
Learn how CSS fixed positioning differs from absolute positioning by keeping an element stationary while the page scrolls, illustrated with a large text block and a live example.
Explore the float property to wrap text around images in HTML, float images right or left with margins via a style sheet, and preview the result.
Explore how the clear property controls floating elements to prevent wrap, using a blue left-floating div, a red div whose text wraps, and a yellow div kept below.
Use the z-index property to control the stack order of absolute elements. Compare blue and yellow divs, and see how z-index values determine which appears on top.
Style links with CSS by defining four states: unvisited, visited, hover, and active, and apply color, text-decoration, and background color rules to illustrate dynamic link styling.
Learn to enhance HTML tables with CSS, using borders, border-collapse, padding, and hover effects for neat, responsive layouts. Hovering rows changes the background to cyan.
Create a CSS-based page with a responsive three-column layout, a top navigation of four links with hover effects, a black header, and a footer; columns collapse for smaller screens.
Create a basic HTML page and a fluid CSS layout with a black header, a footer, and a content wrapper with three columns. Style inner text with Arial gray.
Style the navigation menu by applying ul and li rules to lay out links in a row with a black background, border-right on items, last-child, and hover and active states.
Apply responsive CSS rules to adapt the layout for mobile devices, using 840px and 600px breakpoints to stack the columns under the main content and ensure full responsiveness.
Build a responsive CSS layout by creating a container, header with navigation, a three-column content area with left, center, and right columns, and a footer; preview in your browser.
Explore how bootstrap speeds web development with HTML and CSS templates for typography, forms, buttons, tables, navigation, modals, image carousels, responsive layouts, cross-browser compatibility, and optional JavaScript plugins.
Embed the Bootstrap framework on your page via the Bootstrap content delivery network, include the bootstrapped main.js and the jQuery library, and use the built-in css, JavaScript components, and plugins.
Explore bootstrap’s mobile-first, responsive page structure with html5 doctype and viewport meta tag. Create fixed width or fluid containers using container or container-fluid and style them for device-wide layouts.
Explore how the bootstrap grid system uses up to 12 columns to create responsive layouts for large desktops, tablets, and phones, with a two-column example.
Transform a two-column layout into a responsive three-column bootstrap grid, using a 12-column system with 4-4-4 on desktops and stacking below 992 pixels; explore 2-8-2 and 3-7-2 variations.
Master bootstrap typography by applying h1–h6 headings, secondary text, mark highlights, abbr tooltips, block quotes with footers and reverse, code and pre formatting, and contextual classes.
Style bootstrap tables with the table class, using the thead and tbody with th headers, and apply striped, bordered, hover, condensed, and contextual row classes such as success, danger, and info.
Bootstrap styles images using image rounded, image circle, image thumbnail, and image responsive classes to create rounded corners, circular shapes, thumbnails, and responsive visuals.
Build a Bootstrap jumbotron by adding a div with the jumbotron class inside or outside a container, using h1 for the heading and p for the subtitle.
Explore Bootstrap wells that create headings or emphasize content using the well class, which adds a rounded border, light gray background, and padding, with small, normal, and large variants shown.
Create bootstrap alerts in HTML by applying alert and alert-success, alert-info, alert-warning, and alert-danger classes, and make them dismissible with data-dismiss='alert' and the close class, optionally adding fade and in.
Learn bootstrap button styling with classes like default, primary, success, info, warning, danger, and link; convert links and inputs to buttons, control size, block level, and active or disabled states.
Group buttons by wrapping them in a div with the button group class. Size with button group large or button group extra small, and switch to vertical by adding vertical.
Learn to build full-width, responsive Bootstrap button groups using the button group and button group justified classes, with anchors or buttons wrapped in divs for three labeled buttons.
Learn how to use Bootstrap glyphicons by adding span elements with glyph icon classes to text, buttons, and links, and customize icons such as envelope, search, heart, and print.
Explore bootstrap badges and labels to emphasize HTML elements by using span with class badge inside links, buttons, and headings, with label classes like primary, warning, danger, and info.
Demonstrate bootstrap progress bars using HTML divs with classes progress and progress-bar; set width from 0 to 100% and apply contextual styles such as success, warning, and stripes.
Learn how to implement Bootstrap pagination using an unordered list with the pagination class, including active and disabled states, and resize options for large and small sizes, plus breadcrumb style.
Apply the Bootstrap pager to an unordered list to create previous and next buttons, then adjust alignment by adding previous and next classes to the list items.
Learn to build and style Bootstrap list groups with list-group and list-group-item classes, add badges and icons, enable hover effects, and use contextual variants and custom content.
Explore Bootstrap panels to structure content with panel body, heading, and footer, group multiple panels, and apply contextual classes like panel primary, warning, and danger for color.
Learn to create a Bootstrap dropdown menu with a div class dropdown, a button class button primary dropdown-toggle, and a ul class dropdown-menu containing options, headers, dividers, and disabled items.
Create collapsible elements that show or hide content with bootstrap, using a button or anchor, data-toggle='collapse', and data-target tied to the content div id with the collapse class.
Build a collapsible Bootstrap list group that reveals three items when the heading is clicked. Use a ul with the list-group class and three li elements with the list-group-item class.
Build a Bootstrap accordion by creating a panel group with a shared id, linking headers to content via href and data-parent, and adding multiple panels that expand and collapse.
Explore Bootstrap tab menus and pill menus to style navigation, including a basic four-link menu that becomes a tab menu with an active tab and a dropdown on link two.
Create inline and vertical pill menus with Bootstrap using nav and nav pills, highlight the active item, and add a dropdown menu with a dropdown toggle and data-toggle attribute.
Create dynamic Bootstrap tabs and pills that update content when clicked, linking a nav list to tab panes via hrefs and ids; switch to pills by using nav pills.
Build a responsive bootstrap navigation bar that spans full width, stacks on small screens, supports fixed top or bottom, and uses default or inverse styles with right-aligned items and dropdowns.
Learn to build a collapsible navigation bar with Bootstrap, using a toggle button, data-toggle collapse, and data-target to show and hide links on small screens.
Style Bootstrap forms to create vertical, horizontal, and inline layouts. Build a sample login form with email and password inputs, a remember me checkbox, and accessible labels.
Learn how bootstrap styles various form elements—inputs, text areas, checkboxes, radios, and selects—using form-group and form-control, with HTML5 types and single or multiple selections.
Learn to implement bootstrap form control states in a horizontal layout, including focus, success, and error feedback. Build form groups with grid columns, labels, and inputs.
Resize Bootstrap inputs and selects with input lg and input small, adjust form height with form group large or small, and vary width using grid columns with extra small spans.
Create a bootstrap carousel that cycles car pictures with titles and descriptions, using indicators and a slide wrapper; the carousel starts automatically and remains responsive.
Create a Bootstrap modal with fade, header, body, and footer, triggered by a data-toggle button targeting the modal id, and closed by outside click or a close button.
Learn how to create and customize a Bootstrap tooltip by applying data toggle and data placement attributes to an element, adding a title, and initializing tooltips with jQuery.
Demonstrates Bootstrap popover, extending a tooltip with a header and content, applied to a link via data-toggle popover, initializes with jQuery, and supports placement right, top, bottom, or left.
Build a bootstrap page using the scrollspy plugin to link four on-page sections with navigation, while styling each content area and enabling a fixed-top nav bar with data-spy and data-target.
Explore Bootstrap themes and how open source templates like freelancer are developed, downloaded from startbootstrap.com, and used to build responsive layouts with modals and form validation.
Explore the freelancer theme file structure, including css, js, fonts, image, and less folders, plus the php mail script, then open the index file in a browser to view code.
Explain how the bootstrap theme is built, covering head inclusions, responsive navigation with collapse, a header with responsive image, and a portfolio grid with modals.
Shows building a bootstrap page with about, contact, and footer sections using container, row, and column grids, plus portfolio modals, an up-top button, and validation and animation scripts.
Explore the document object model, a tree of HTML elements that renders pages and enables dynamic updates via JavaScript or jQuery by selecting elements by tag name, id, or class.
Explore a basic DOM manipulation example with JavaScript by changing text inside an h1 element on click, illustrating the DOM.
Learn how JavaScript injects interactivity on the client side, contrasting with server-side languages, and validates forms, counts characters, and handles input.
Place JavaScript in the head to load before page content. The See Years function multiplies an age input by seven and updates the result when the calculate button is clicked.
Create an external JavaScript file and link it with a script tag in the head, then test in the browser. External JavaScript improves maintainability and speeds page loads through caching.
Discover JavaScript output techniques by using document.write to display the result of 5 plus 6 on the page and window.alert to show 13 in a pop-up.
Use the innerHTML function to output data into an HTML element. Assign an ID to a paragraph tag and display the six plus three result, updating values with getElementById.
Learn to use single-line and multi-line JavaScript comments to explain code and help teammates. See how comments can prevent code execution and how innerhtml outputs results in the browser.
JavaScript constants hold fixed values, such as adding five and six and displaying 11 in a paragraph with the id math. Constants can be numbers or strings with quotes.
Understand JavaScript variables as named containers that store numbers and strings, exemplified by X, Y, and Z. Output results in the browser via getElementById, showing Z equals X plus Y.
Explore the JavaScript assignment operator, using the equals sign to assign the right operand's value to the left, enabling operations with numbers and strings, as shown in an example.
Explore arithmetic operators for numbers and variables, with hands-on examples of add, subtract, and multiply, using get element by id to display results in the browser.
Learn division and other arithmetic operators by declaring d as 100 divided by 50, then increment x with x++, decrement h with h--, and display results in a browser paragraph.
Demonstrate operator precedence by tracing the computation order—brackets, exponents, division, multiplication, addition, and subtraction—in an arithmetic expression, using a browser-based example that yields 750.
Learn how JavaScript variables represent data types—numbers, strings, arrays, and objects—with examples like age, last name, cars, and a person object with properties such as first name John.
Explore how JavaScript objects work by modeling a car with properties like type, model, and color; access values using dot notation and display them in a browser.
Output object property values in a line by concatenating first name, last name, age, and eye color with quotes using getElementById, forming sentences like 'John has blue eyes' in browser.
Master JavaScript strings by using single or double quotes and handling quotes inside strings, with examples using variables and browser output.
Learn to determine a string’s length with the built-in length property, output it via innerHTML, and verify that the 26-letter example prints 26 in the browser.
Learn how to handle JavaScript special characters by escaping quotes with a backslash, ensuring strings display with quotations around words like players.
Learn how to generate random numbers in JavaScript using the Math.random function, output results with getElementById, and preview numbers between 0 and 1 in the web browser.
Use Math.min and Math.max to find the lowest and highest values in a list of numbers, with -150 as the minimum and 600 as the maximum shown in the browser.
Round decimal numbers to the nearest integer using Math.round, as 15.4 becomes 15 and 15.6 becomes 16, with Math.floor and Math.ceil illustrating rounding down or up.
Explore how JavaScript arrays store multiple values in one variable using a fruits array of six items. Access elements by zero-based index and check size with the length property.
Output each array value using the two string method and preview in the browser; use join to customize the separator, such as an asterisk between items.
Explore array manipulation with pop, shift, push, and unshift: pop removes the last element (mango), shift removes the first, push adds to the end, and unshift adds to the beginning.
Learn how to modify and delete array elements in JavaScript by index, updating values like apple to kiwi and removing pear to create gaps in the array.
Learn how the splice method inserts multiple items into an array at a chosen position without removing elements, illustrated by adding lemon and banana after orange at index 2.
Sort the cars array alphabetically using the sort method. Then reverse the order with the reverse method and preview the results in the browser.
Join two arrays with the concat method and store the results in a combined array. Preview the output in a browser using the get element by ID output method.
Master if, else if, and else in JavaScript to convert a numeric score into a letter grade, defining ranges for F through A and handling scores above 100.
Explore JavaScript comparisons by examining equality and not equal operators and other comparison operators, using a test script with getElementById to output true or false in the browser.
Explore how the boolean function tests truth values for numbers and strings; zero is false, other real values are true, with results output via getElementById in the browser.
Learn how for loops repeat a block of code in JavaScript, outputting values from 0 to 10 on separate lines, with variations starting at 3 or ending at 20.
Explore how the JavaScript for-in loop iterates over an object's properties, using a person object with first name, last name, and age to output each value in the browser.
Demonstrates how while loop runs a block of code while a condition holds, outputting values 0 to 19 and incrementing by 1, with 40 yielding 39 and starting at 5.
Discover how the do while loop, a variation of the while loop, executes the code block once before checking the condition and repeats while i < 10.
Learn how JavaScript break and continue statements control loops, using a for loop from 0 to 9 to stop at three with break and skip three with continue.
Explore how JavaScript functions encapsulate blocks of code, define parameters and arguments, and return results, then call and reuse them with different values to perform calculations.
Explore how HTML events trigger JavaScript, including click, hover, and mouse out. See a button example that uses onClick to display the date and time with innerHTML.
Set up a basic HTML page and script; define an eight-item hex color array and use Math.random and Math.floor to apply a random color to document.body.style on each refresh.
Create a JavaScript and CSS photo gallery with top thumbnails that update a main preview on hover, featuring thumbnail borders and a styled main image, using the provided images folder.
Create a centered page with a header and a main preview image, then assemble a div with five thumbnail images that swap the preview on mouseover, and preview in browser.
Explore how jQuery simplifies JavaScript development with HTML and CSS manipulation, effects, animations, and AJAX, used by major companies to power modern web apps.
Embed the jQuery library by loading it from a CDN into the head of a basic HTML page, using the latest version.
Learn jQuery syntax for selecting HTML elements and applying actions, including the document ready event and a button that hides paragraphs.
Assign an id to the head element and use the id selector in your jQuery script to hide only that element when the button is clicked.
Convert an id selector to a class selector by replacing id with class and changing # to . to apply the same effect of hiding the heading.
Explore jQuery selectors beyond id and class, including the asterisk, this selector, and the button selector; apply actions to all elements or the current element, and preview changes.
Create an external jQuery file, paste your functions into it, save as a dedicated file, and call the script from the main HTML to load and preview in the browser.
Explore how jQuery handles HTML events, from clicks to page load, and learn to trigger actions like hiding text with a single or double click through a document ready setup.
Explore jQuery mouse enter and mouse leave events that trigger actions near elements. See how an alert appears when the pointer nears a paragraph and disappears when it leaves.
Explore jQuery events mousedown and mouseup by triggering alerts when pressing or releasing the mouse button, using a similar code block and an element with an id.
Learn how to attach multiple events to a paragraph with jQuery, changing background color to yellow on enter, pink on leave, and cyan on click.
Explore jQuery hide and show actions with an interactive demo that hides and reveals paragraph text over 1000 milliseconds using buttons labeled hidden and visible.
Show how a jQuery toggle hides and reveals a paragraph by clicking a button, with a one-second interval.
Demonstrates using jQuery fadeIn and fadeOut to sequentially reveal and hide four red boxes with custom delays, triggered by a button click, and explains initial display none and inverse timing.
Learn to implement the jQuery fade toggle to fade elements in and out with a single button, using fade toggle for each div and adding display none for page load.
Apply the jQuery fadeTo method to gradually adjust opacity of four blue squares, using a 1-second duration and target opacities from 20% to 80% via the fade button.
Demonstrate jQuery slide down by clicking the top bar to reveal a hidden panel, using two divs, a display none panel, and a 1000 ms animation.
Apply the jQuery slide up effect by replacing slide down and removing display: none, making the panel visible on load and sliding up on click.
Explore jQuery slide toggle to switch between slide up and slide down actions, modify the script to use slide toggle, and preview the panel reveal in the browser.
Learn to animate with jQuery by moving a blue 160 by 160 square from left to right, using absolute positioning, triggered by a start button click in 1000 milliseconds.
Extend the jQuery animate method with multiple parameters to animate opacity and toggle height, showcasing richer transitions for front-end projects.
Master relative sizing with jQuery animate by adjusting width and height relative to the element's current size, scaling up or down by 200 pixels and previewing in the browser.
Explore jQuery animate queue functionality by chaining four calls that resize a square div to specific height and width, adjust opacity to 0.5, and run at defined speeds.
Explore the jQuery stop method, which halts any animation. See a practical example where clicking start moves a blue square 800px in 300ms and the stop button halts it.
Explore how the jQuery callback function enforces sequential execution of actions, ensuring the alert runs only after the hide animation completes, with practical examples of hiding elements.
Showcases jQuery chaining by running multiple commands on the same element, as a click triggers color change from blue to red and sequential slide up and down in two seconds.
Create draggable elements with jQuery UI by dragging a blue 150-pixel div across the browser, after including the jQuery UI script and initializing with document.ready.
Create a jQuery and jQuery UI accordion menu with expandable panels, using an accordion div, headings, and content divs, and style with the Smoothness CSS theme or custom styles.
Explore jQuery techniques to retrieve element content using the text and html methods, comparing text-only output with html-rich output from a paragraph containing italics and bold.
Explore using the jQuery val method to retrieve an input's value, here the name field (id name, default John Smith) triggers an alert when the get value button is clicked.
Learn to use jQuery's attr() to read an anchor's href value by its id and display it in an alert when a button is clicked.
Use jQuery text, html, and val methods to set content with buttons that reset text, reset html with bold tags, and update name input from John Smith to Jane Willis.
Use the jQuery attribute method to set or change the href of an HTML link; hover reveals the link and clicking updates it to ux.com/about us dot php.
Learn to use jQuery append to add text to a paragraph and append a new list item to an ordered list; switch to prepend to insert before existing content.
Master jQuery's before and after methods to insert content around an HTML element, demonstrated with an image and two buttons that add text before or after the image via clicks.
See how the jQuery remove method deletes a target element and its contents, demonstrated by clicking a button to remove a square div. Compare with empty, which clears only contents.
Discover how jQuery's remove method uses filters to delete paragraph elements when a button is clicked, removing elements with the IDs REM one or REM two.
Learn how to use jQuery to add classes to elements with a click, applying red text and bold, extra large sizing to headings and paragraphs via big and red classes.
learn how to remove a class from h1, h2, and p elements with jQuery, replacing add with remove and updating a button label to reflect the action.
Switch between adding and removing classes using the toggle class method, replacing remove with toggle class, and update the button label to show both add and remove events.
Build a foundation for React by mastering basic JavaScript concepts like arrow functions and destructuring, plus CSS basics such as classes and selectors, and nurture a desire to learn.
Explore React, a lightweight JavaScript library for building user interfaces, not a full framework, using a virtual DOM for fast updates and an ecosystem for web, mobile, and desktop apps.
Build a very basic calculator in React using a single file with minimal CSS, illustrating simple calculations and a practical starting point for learning React.
Explore React by building a simple hello world in a minimal index.html, loading React and React DOM via unpkg cdn, and mounting to a root div.
Install Node JS and a code editor to begin React development; Visual Studio Code is a free, cross platform editor recommended for Windows, Mac, and Linux.
Move from a text editor to CodePen to build a React calculator, using the three panes (HTML, CSS, JS) with live rendering and babel-enabled JSX.
Explore how JSX embeds HTML inside JavaScript to create cleaner React code, and how Babel translates JSX into browser-ready JavaScript while preventing injection attacks.
Turn a simple React expression into a functional component that returns JSX, then build a basic calculator project using either traditional functions or arrow functions, and render properly.
Explore how functional components in React act as reusable building blocks, from product cards and search bars to master calculators with customizable buttons.
Discover how props in React enable passing data from a parent to a child component, using props as a parameter, and rendering values like name and age with curly braces.
Discover how react uses a component based design with a root app and children, and how parents pass data via props and callbacks through function props for one-way data flow.
Create a basic calculator in React by building a calculator component and calc button, using props to pass values, and style layout with CSS grid and className.
Learn to wire onClick events in React by capitalizing the second word, passing a function via props.onClick, and implementing handle number and handle operator callbacks to respond to calculator buttons.
Learn to pass parameters through callback functions in React by wiring on click events from child buttons to parent handlers via props, enabling value transmission from child to parent.
Use the react useState hook to implement state in a component, initialize it with zero, read it as display, and update with setDisplay to trigger efficient re-renders of calculator display.
Implement a React calculator display by storing current and total in state, concatenating digit inputs to current, clearing the initial zero on first press, and rendering calc.current.
implement the calculator's operator handling with a doCalculation function, update the total via parseInt, and refresh the display; wire operator, equals, and clear logic, and debug event handlers.
Debug the React calculator with debugger statements and console logs, inspect state with developer tools, fix undefined pre-op by preserving it in state, and streamline operator handling.
Build and review a first React application, learning components, props and callback functions, and managing state with useState while expanding a basic calculator and exploring future enhancements.
Design and build a two-player Connect Four style game in a React project, featuring a customizable grid, click-to-place counters, and a suggest button for a computer move.
Identify the essential tools for react development: Node.js and a code editor, with Visual Studio Code recommended; install by visiting nodejs.org downloads and following setup on Mac OS or Windows.
Bootstrap a React app with Facebook's Create React App, run the dev server, and build a minimal project featuring a game board component in a components folder.
Create a reusable game circle component and wire an onClick event to display a message, building a 4x4 grid of interactive circles in a React game board.
Pass an id property to each game circle via props and read it in the child, using destructuring. Utilize React children to render inner content and colors.
Learn how to pass one or more parameters to a React onClick handler, including id and value, using an arrow function and optionally the event object.
Learn to apply inline styling in React by using style with double curly braces, and set dynamic backgroundColor from a parent color prop, creating red and blue game circles.
Learn to build a 4x4 game board in React using CSS grid and inline styles, turning squares into circles with border radius and centering the board with absolute positioning.
Create a global game CSS file and move the game board and circle styles into it. Import the CSS into both components and convert inline React styles to CSS.
Compute the background color from the id in React using a ternary expression and modulus, removing the inline style and color prop, then switch to CSS classes for odd/even parity.
Transform inline styles to dynamic css classes for odd and even game circles, using a template literal and a ternary expression based on the id modulo 2.
Learn to implement callbacks in React by passing a child click event up to the parent as a prop, so the game board handles circle click and logs ID.
Learn to manage a 16-circle grid with React useState, storing an array of zeros and updating to 1 or 2 for players, and track idle, in-progress, and finished game states.
Learn to render circles with dynamic classes via a render circle helper, toggle between player one and two using current state, and immutably update the game board.
Learn to immutably update a React game board using a state updater with map, avoid mutating state, and implement an init board function to render 16 circles.
Add a unique key prop to each item when rendering a list of circles in a loop to satisfy React's unique identification requirement, using a unique ID.
Style the game board by adding a header and footer with an information panel showing the current turn or winner, plus a new game button, using CSS.
Update the user interface to reflect the current player's turn and implement a 4x4 winner check with an isWinner helper.
Detects the winner and updates the header, manages game states (idle, playing, win, draw), prevents invalid moves, and preserves the board by copying state.
The video adds a draw detection function that counts remaining zeros on the game board using reduce, updates the state to draw, and displays a draw message.
Learn React lifecycle events with the useEffect hook, which runs on first load with an empty dependency array, and how component did update fires on every re-render.
Initialize the game by resetting the board to empty circles and setting player one as the starter using an init game function invoked on mount with useEffect.
Add a suggest button and a computer move helper to enable random-move play against a human opponent, with a reset and two-button layout.
Improve the computer player by evaluating all horizontal, vertical, and diagonal win threats and returning the blocking move. Fall back to a random move when no threat exists.
Learn to define css variables at the top of your css with a root and apply them via var(--name). Change colors for background, panel, board, and players by updating variables.
Apply conditional rendering in a React footer to show the new game or suggest button based on game state, toggling for in progress versus win or draw.
Deploy your React app for free by building a production build with npm run build and uploading the resulting build folder to Netlify, then test on the generated link.
Deploy your front-end project for free with Surge or Netlify by building the project, installing Surge, and pointing to the build folder, using the default domain for quick sharing.
Complete a functional React Connect4 game by applying useState and useEffect, exploring the component lifecycle, props deconstruction, and dynamic inline styles, with ideas for enhancements like history and timer.
Build a minimal e-commerce site with product lists, viewable items, quantity changes, add-to-cart, delete or clear cart, and a simple checkout form to confirm orders and grow your React skills.
Bootstrap a new React project with Create React App to build a mini ecommerce store, and learn rest APIs using json server as a fake backend.
Set up a json server to serve a mock rest api for a react app by creating a db.json with categories and products, running on port 3001, and testing endpoints.
Learn to use the fetch API in a React app to retrieve JSON data from a local JSON server, store it with useState, and render categories with a map.
Style a storefront by applying downloaded CSS to create a left category list, header, footer, and main content, and fetch products for a chosen category from a JSON server.
Refactor category rendering into a React category component, destructure props to pass id and title, use map with keys, and connect to a fake JSON server API to display categories.
Bind category clicks to an onClick handler, fetch products by category id from the JSON server, and render product titles from the products state.
Refactor the fetch calls into a reusable fetcher module, use async/await in useEffect to fetch categories and products from a local JSON server, and update state.
Learn to handle fetch errors gracefully by wrapping fetch calls in try/catch, returning a response object with error messages and data, and displaying user-friendly error feedback for categories and products.
Enhance a fetch call by checking response.status after the request, throw an HTTP error on not ok (such as 404), and catch to reveal precise issues.
Learn to implement client-side routing in React using React Router v6 by installing, importing BrowserRouter, and configuring routes for home, product details, basket, and checkout to avoid full page reloads.
Fix the key warning by adding a unique key to mapped products using the product id, and generate a key for category features with the index, eliminating console warnings.
Explore how to implement dynamic product routes with React Router using links, the useParams hook, and useNavigate for a view product flow, plus basket and checkout routes.
Learn to read route parameters with React Router useParams, fetch a product by id from an API, and render its details on a product detail page using useState and useEffect.
Enhance the product detail page by rendering a three-column layout with image, title, specs, features, price, stock, and a description from product data. Explore styled components in the next video.
Learn how styled components encapsulate CSS inside React components, install via npm or yarn, and build reusable styled elements for product detail pages using props and inheritance.
Learn how styled components separate CSS from markup and create a product description that spans the full width across three columns.
Learn how to render html in a react description using dangerously set inner HTML with a createMarkup function returning { __html: … }, and explore html injection risks.
refactor the categories to use react router links with category id, fetch products for each category, and render them in a dedicated category component while preserving the layout.
Refactor the layout by introducing a layout component with an outlet to render routed content, and move product rendering to a new category component and categories as links.
Refactor routing by moving from index.js to app.js, using a layout component, and pass categories from the user picker to the layout and footer links to basket and home.
Implement a cart context in React to share state across components. Create a cart context provider with an initial cart items array, and wrap the app.
Learn to build a shopping cart with React by wiring a cart context using use context and use reducer, implementing add to cart, a reducer, and dispatch for cart items.
Extend the cart reducer with add, remove, inc/dec quantity, and clear methods; wire them through a cart context and implement a styled basket UI with checkout and total.
Implement and render the shopping basket by retrieving items from the cart context, display item title, quantity, and price, link to products, and prepare quantity adjustment and delete controls.
Import and render home, up, down, and trash icons, wire clicks to checkout, clear basket, and item quantity controls, and add header basket and home actions to update the total.
Implement a header with home and cart icons using CSS grid, link to home and basket pages, and compute the running basket total with JavaScript reduce.
Finish the checkout by enabling input of user details and validation, and implement a persistent shopping basket that survives page refreshes and browser sessions.
Implement a React basket that auto refreshes by syncing local state with context using useEffect, employing immutable updates (spread, filter) for quantities, removal, and clearing, with a checkout plan.
Implement a functional checkout flow by adding a dedicated checkout page, wiring navigation to an order confirmation route, and creating a simple order confirmation component with basic styling.
Learn how to persist a cart using localStorage and sessionStorage, with getItem, setItem, and JSON.stringify/parse to preserve items across refreshes and tabs.
Implement a top search bar that updates the URL with a search parameter and displays results in the main area, while preserving basket state with session storage.
Implement debouncing in the search component to limit API calls by waiting 500 milliseconds after input before navigating, using a search term state and a cleanup effect.
Explore validating a React checkout form by using controlled inputs with useState, onChange handlers, a form with onSubmit, and built-in browser validation, then outline future email and length checks.
Enhance React form validation by disabling the confirm button until name, email, and shipping address are filled, using a formInvalid check, preventDefault submission, and provide visual feedback.
Learn to enhance React form validation with visual feedback by marking required fields with asterisks and red borders using styled components and conditional invalid states.
Apply onblur-based validation in a React form by tracking touched fields, updating state immutably, and conditionally showing red error rectangles when inputs are invalid after blur.
Build an e-commerce store using React Router, styled components, and context with useReducer and useContext, while managing a basket with localStorage and a mock JSON server API.
Welcome to our course on CSS, Bootstrap, JavaScript, and React. This course is designed for anyone who is interested in learning the basics of front-end web development. By the end of this course, you will have a solid understanding of how to create beautiful and responsive websites using these powerful tools.
CSS, or Cascading Style Sheets, is a language used to style and layout web pages. You will learn how to use CSS to control the layout, colors, and fonts of your website, as well as how to use CSS selectors and cascading rules to target specific elements on a page. We will also cover advanced CSS topics such as media queries and CSS Grid, which allow you to create responsive designs that adapt to different screen sizes.
Bootstrap is a popular front-end framework that makes it easy to create responsive and mobile-friendly websites. You will learn how to use Bootstrap's pre-built components and classes to quickly create layouts and add common features such as navigation bars, forms, and buttons. You will also learn how to customize the look and feel of your website using Bootstrap's built-in CSS and JavaScript.
JavaScript is a powerful programming language that allows you to add interactivity and dynamic behavior to your websites. You will learn the basics of JavaScript syntax, as well as how to use JavaScript to manipulate the DOM (Document Object Model) and respond to user events. We will also cover more advanced topics such as JavaScript objects and arrays, as well as how to use JavaScript to make HTTP requests and work with JSON data.
React is a popular JavaScript library for building user interfaces. You will learn how to use React to create reusable components, manage state, and handle user interactions. We will also cover the basics of JSX, a syntax extension for JavaScript that allows you to write HTML-like elements in your JavaScript code. By the end of the course, you will be able to build dynamic, interactive web applications using React. This includes a fully functional e-commerce site, complete with product categories, a shopping cart feature, and checkout page.
Throughout the course, you will work on several hands-on projects that will help you apply what you've learned. We start by creating a simple website using HTML, CSS, and Bootstrap, and then gradually add more features and complexity as we explore JavaScript and React. By the end of the course, you will have built a complete web application that demonstrates your understanding of the technologies covered in the course.
This course is perfect for anyone who is new to front-end web development, or anyone who wants to refresh their skills in these areas. No prior experience is required, but some basic knowledge of HTML and web development concepts is helpful. You will also need access to a computer and an internet connection to complete the course.
Enroll in this course today and start your journey to becoming a front-end web developer! Whether you're looking to build your own website, or start a career in web development, this course will give you the skills and confidence you need to succeed.