THE FUTURE MARKETACADEMY
Your classroomRoom 07 · Tech Lab
School of Data & Tech

Front-End Development: mga responsive layout at JavaScript app

What you'll be able to do
  • Gumawa ng mobile-first na mga layout na umaangkop sa anumang screen gamit ang relative units at media queries.
  • Gumamit ng flexbox para sa mga hanay at hilera ng mga item, at CSS Grid para sa page at card layout.
  • Magsulat ng JavaScript na nag-iimbak ng data sa mga array at object, nagfi-filter nito at gumuguhit nito sa page.
  • Mag-save ng maliliit na setting sa browser gamit ang localStorage.
  • Kumuha ng data mula sa public API gamit ang fetch, i-handle ang loading at mga error, at ipakita ang resulta.
  • Gawing magagamit ang isang interactive na app gamit ang keyboard at screen reader.
  • Mag-debug gamit ang DevTools at mag-publish ng natapos na proyekto.

Nasubukan ang code sa course na ito: pinatakbo ang JavaScript laban sa isang test page sa isang script, kasama ang totoong request sa weather service na Open-Meteo. Kailangan mo lang ng computer, code editor, browser at internet connection.

Words in this course 43Open the Vocabulary Hall
01

Mga pundasyon ng responsive design

In simple words

Ang responsive na page ay parang tubig sa baso: kinukuha nito ang hugis ng anumang paglalagyan. Magkakaibang baso ang phone, tablet at malaking monitor. Dapat maganda ang page sa lahat ng iyon nang hindi ka gumagawa ng tatlong website.

Bago ang course na ito: Web Development Basics (course 7.7). Dapat marunong ka nang magsulat ng HTML page na may mga heading, link, listahan at larawan, i-style ito gamit ang CSS (mga selector, ang box model, isang media query), magdagdag ng button click gamit ang JavaScript, gumamit ng DevTools at mag-publish gamit ang GitHub Pages. Mas malalim ang course na ito: totoong mga layout, data sa JavaScript, pagkuha mula sa API at accessibility. Gagawa tayo ng isang proyekto, ang "Canada Weather Cards", hakbang-hakbang.

Key facts
  • Ang responsive web design (MDN) ay isang paraan para gumana ang mga page sa lahat ng laki ng screen. Pinagsasama nito ang flexible na mga layout, flexible na media at media queries.
  • Mobile first: magsimula sa simpleng single-column na layout para sa makikitid na screen, saka magdagdag ng pagbabago sa layout para sa mas malalapad na screen.
  • Laging isama ang viewport meta tag sa <head>. Kapag wala ito, ipinapalagay ng mga mobile browser na mga 980px ang lapad at nagpapakita ng naka-zoom out na desktop layout:
<meta name="viewport" content="width=device-width, initial-scale=1">
  • Umaangkop ang relative units: %, rem (kaugnay ng root font size), em, vw (porsyento ng lapad ng viewport). Gamitin ang rem para sa font size at spacing para igalang ng page ang text-size setting ng user.
  • Pinapayo ng MDN na tukuyin ang mga breakpoint sa relative units (gaya ng rem) at baguhin ang layout kung saan nagsisimulang pumangit ang content, hindi sa mga laki ng partikular na device.
  • Gumagamit ng min-width ang mga mobile-first na media query: ang base CSS ay para sa maliliit na screen, at ang query ang nagdaragdag ng pagbabago para sa mas malalapad.
  • Gawing kasya ang media sa lalagyan nito: img { max-width: 100%; }.
  • Ang box-sizing: border-box ay nagpapasama ng padding at border sa width, kaya mas madaling magsukat.
Halimbawa (mobile first)
* { box-sizing: border-box; }
img { max-width: 100%; }

.site-header {
 display: flex;
 flex-direction: column;
 gap: 8px;
 padding: 16px;
}

@media (min-width: 40rem) {
 .site-header {
  flex-direction: row;
  justify-content: space-between;
 }
}

Sa makitid na screen, nakapatong-patong ang mga item ng header. Mula 40rem (640px sa default na font size), nasa iisang hanay na sila.

Step by step
  1. Gumawa ng folder na weather-cards na may index.html, style.css at app.js.
  2. Sa index.html, idagdag ang doctype, lang="en", ang charset meta tag at ang viewport meta tag na nasa itaas.
  3. Magdagdag ng header na may h1 ("Canada Weather Cards") at isang nav na may dalawang link.
  4. Sa style.css, idagdag ang * { box-sizing: border-box; } at img { max-width: 100%; }.
  5. Isulat muna ang base (phone) na mga style: padding sa rem o px, madaling basahing font size, wala pang media query.
  6. Magdagdag ng isang @media (min-width: 40rem) block para sa mas malalapad na screen.
  7. Buksan ang DevTools, i-click ang Device toolbar at i-drag ang lapad mula maliit hanggang malaki (maaaring magkaiba ang mga pangalan depende sa version).
  8. Check: walang pasidlong na pag-scroll sa 360px na lapad, at nagbabago ang layout kapag lumampas ka na sa 640px.
Watch on YouTube
Let's code a responsive webpage! (Mobile First): meta viewport, flexbox and media queriesVirtualAddiction · YouTube · youtube.com
CSS Media Queries for Beginners (Mobile First)Code with Unclebigbay · YouTube · youtube.com

Videos by other creators on YouTube, for reference. They are not made by or affiliated with The Future Market.

LESSON 01Mga pundasyon ng responsive design
LESSON 01 / ANIMATED LESSON / ENGLISH VOICE00:00 / 01:00
Read the video script
[Host] "Kasya ang responsive na page sa anumang screen, gaya ng tubig na kasya sa anumang baso."
[Text on screen: <meta name="viewport" content="width=device-width, initial-scale=1">] "Unang hakbang: ang viewport tag. Kapag wala ito, maliit na desktop page ang ipapakita ng phone."
[Screen: CSS na may min-width media query, lumalapad ang browser window] "Magsimula sa layout ng phone. Tapos magdagdag ng min-width query para sa mas malalaking screen."
[Host] "Baguhin ang layout kung saan pumapangit ang content mo, hindi sa laki ng isang phone lang."
Try it now

Gawin ang project folder at ang header mula sa mga hakbang 1 hanggang 8. Subukan ito sa DevTools Device toolbar sa tatlong lapad at isulat kung sa anong lapad nagbabago ang layout.

ClaudeStuck? Copy a ready-made prompt for Claude

Copy this, open Claude, paste it, and Claude will walk you through the lesson step by step.

For a grown-up: Claude is for adults (18+). Copy this, paste it into Claude, and use the answer to explain the lesson to your child.

I'm learning "Front-End Development: mga responsive layout at JavaScript app" on The Future Market. Lesson 1: "Mga pundasyon ng responsive design".

What the lesson teaches:
- Ang responsive web design (MDN) ay isang paraan para gumana ang mga page sa lahat ng laki ng screen. Pinagsasama nito ang flexible na mga layout, flexible na media at media queries.
- Mobile first: magsimula sa simpleng single-column na layout para sa makikitid na screen, saka magdagdag ng pagbabago sa layout para sa mas malalapad na screen.
- Laging isama ang viewport meta tag sa <head>. Kapag wala ito, ipinapalagay ng mga mobile browser na mga 980px ang lapad at nagpapakita ng naka-zoom out na desktop layout:
- Umaangkop ang relative units: %, rem (kaugnay ng root font size), em, vw (porsyento ng lapad ng viewport). Gamitin ang rem para sa font size at spacing para igalang ng page ang text-size setting ng user.
- Pinapayo ng MDN na tukuyin ang mga breakpoint sa relative units (gaya ng rem) at baguhin ang layout kung saan nagsisimulang pumangit ang content, hindi sa mga laki ng partikular na device.
- Gumagamit ng min-width ang mga mobile-first na media query: ang base CSS ay para sa maliliit na screen, at ang query ang nagdaragdag ng pagbabago para sa mas malalapad.
- Gawing kasya ang media sa lalagyan nito: img { max-width: 100%; }.

The exercise I'm working on:
Gawin ang project folder at ang header mula sa mga hakbang 1 hanggang 8. Subukan ito sa DevTools Device toolbar sa tatlong lapad at isulat kung sa anong lapad nagbabago ang layout.

I'm stuck. Please:
1. Explain the main idea in plain, simple words with one everyday example.
2. Walk me through the exercise one small step at a time. Ask me what I've done so far before giving the next step.
3. Don't just give me the final answer. Help me do it myself, and check my work when I share it.
I'm a parent helping my child (about 8 years old) with a lesson called "Mga pundasyon ng responsive design" from the course "Front-End Development: mga responsive layout at JavaScript app".

Here's what the lesson says:
Ang responsive na page ay parang tubig sa baso: kinukuha nito ang hugis ng anumang paglalagyan. Magkakaibang baso ang phone, tablet at malaking monitor. Dapat maganda ang page sa lahat ng iyon nang hindi ka gumagawa ng tatlong website.

The activity:
Gawin ang project folder at ang header mula sa mga hakbang 1 hanggang 8. Subukan ito sa DevTools Device toolbar sa tatlong lapad at isulat kung sa anong lapad nagbabago ang layout.

Please explain this so an 8-year-old understands: short sentences, a fun everyday example, and no hard words.
Then give me 3 simple questions I can ask my child to check they understood, and a way to do the activity together, one tiny step at a time.
Open Claude
Sources
My notes
02

Flexbox: paglalagay ng mga bagay sa hanay

This lesson is part of full access: every course and every level for one payment.

03

CSS Grid: mga card at page layout

This lesson is part of full access: every course and every level for one payment.

04

JavaScript data, rendering at pag-save

This lesson is part of full access: every course and every level for one payment.

05

Pagkuha ng data mula sa API

This lesson is part of full access: every course and every level for one payment.

06

Gawing accessible at madaling gamitin

This lesson is part of full access: every course and every level for one payment.

07

Pagsamahin, mag-debug at mag-publish

This lesson is part of full access: every course and every level for one payment.

++

Final project

This lesson is part of full access: every course and every level for one payment.

??

Quiz

  1. Aling tag ang nagpapagamit sa mga phone ng totoong lapad ng device?

  2. Ano ang ibig sabihin ng mobile first?

  3. Aling property ang naghahanay ng flex items sa main axis?

  4. Ano ang ginagawa ng repeat(auto-fit, minmax(14rem, 1fr))?

  5. Kailan mo pipiliin ang grid kaysa flexbox?

  6. Bakit textContent ang gamitin sa halip na innerHTML para sa text mula sa API?

  7. Anong uri ng data ang kayang itago ng localStorage, at paano mo mase-save ang array?

  8. Nagre-reject ba ang fetch() sa 404 o 500 na status?

  9. Anong tatlong estado ang dapat ipakita ng isang data app?

  10. Ano ang ginagawa ng role="status" o aria-live="polite"?

  11. Bakit dapat nakikita ang keyboard focus?

  12. Para ba sa mga online store o sensitibong transaksyon ang GitHub Pages?

EX

Final exam

This lesson is part of full access: every course and every level for one payment.

CE

Certificate

This lesson is part of full access: every course and every level for one payment.