Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics - podcast episode cover

Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics

Jul 28, 202524 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Serves as a comprehensive guide to web design and development. The excerpts explain fundamental concepts of HTML, covering elements, attributes, and document structure, and then transition into CSS, detailing styling properties, selectors, and layout techniques like Flexbox and Grid. Furthermore, the content touches upon JavaScript fundamentals for interactivity, image optimization and SVG usage, and the importance of responsive web design to cater to various devices. It also introduces professional workflows, including command-line tools, preprocessors, and version control, offering a broad overview of essential skills and tools for aspiring web professionals.

You can listen and download our episodes for free on more than 10 different platforms:
https://linktr.ee/cyber_security_summary

Get the Book now from Amazon:
https://www.amazon.com/Learning-Web-Design-Beginners-JavaScript/dp/1491960205?&linkCode=ll1&tag=cvthunderx-20&linkId=a89cca5d980f85dfcfd08ca64667661a&language=en_US&ref_=as_li_ss_tl


Discover our free courses in tech and cybersecurity, Start learning today:
https://linktr.ee/cybercode_academy

Transcript

Speaker 1

Have you ever felt like you're trying to drink from a fire hose when learning something new, especially something as well as vast as web design?

Speaker 2

Oh? Absolutely, Or maybe sifting through just you know, decades of info trying to figure out what's still current exactly.

Speaker 1

That feeling of just staring at a mountain and wondering where to even start.

Speaker 2

It's a really common challenge. How do you get a solid grip without getting totally lost?

Speaker 1

Well, today we've put together this deep dive specifically for you, our listener, our mission to give you a shortcut basically to the essential concepts, not just what they are, but why they matter.

Speaker 2

And we're leaning heavily on a fantastic resource, Jennifer Nieders Robbins Learning Web Design, the fifth edition. It's really seen as a definitive guide.

Speaker 1

Yeah, and it comes highly recommended. Jen Simmons from Mozilla in the W THREECCSS working group. She praises it for getting you to the good stuff fast, even covering very advanced concepts, all assuming you know well nothing beforehand.

Speaker 2

So that's our goal too distill that core wisdom for you so you can really hit the ground running, no prior knowledge needed.

Speaker 1

Okay, let's jump in the absolute core of web design.

Speaker 2

It's really these three technologies, right, HTML, CSS and JavaScript the foundational trio.

Speaker 1

That's it. Think of them like the structure, the paint and the electricity in a house. You need all three.

Speaker 2

So starting with HTML, hypertext markup language, that's the structure, the bones exactly.

Speaker 1

It's job number one is giving content semantic meaning structure, not presentation. That's key.

Speaker 2

So defines like this is a heading, this is a paragraph, here's an image, here's a.

Speaker 1

Link, precisely, text links, images, tables for data forms, for input, even embedding video or audio. It's the what.

Speaker 2

Okay, So HTML is the what the structure. Then CSS must be the how it looks. You got it.

Speaker 1

CSS cascading style sheets, that's the presentation layer. It dictates everything.

Speaker 2

Visual like fonts, colors.

Speaker 1

Fonts, colors, spacing, margins, complex multi column layouts, even animations now and some interact activity. It takes that structured HTML and makes it look good, or at least look how you.

Speaker 2

Want it to. And that separation is important, right structure from style. Oh, fundamentally it makes its way more flexible, easier to update, and crucially adaptable to different devices and user needs huge advantage over the old ways.

Speaker 1

Okay, structure, HTML, style CSS. What's the third piece JavaScript bring to the party.

Speaker 2

JavaScript is the behavior engine. It adds interactivity, dynamic updates, custom behaviors. It makes the page do.

Speaker 1

Things, and it's client side, which means it.

Speaker 2

Means the code runs in your browser, on your computer or phone, not back on the server for every little thing.

Speaker 1

Ah. So that's why things can happen instantly without waiting for a whole new page to load.

Speaker 2

Exactly. Think about validating a form right as you type, or search suggestions appearing, or clicking a button to show or hide content. That's JavaScript making the page feel a live and responsive without constant server requests.

Speaker 1

Okay, that makes sense. Htmail for structure, CSS for looks, JavaScript for action. But how do these files actually get from some server somewhere onto my screen?

Speaker 2

Right? Let's peek under the hood. It's called the request response cycle.

Speaker 1

Okay. So I type in a website address like whatever dot com.

Speaker 2

Your browser then sends an HTTP request out across the Internet to the web server associated with that address. It's basically asking, hey, can I have the files for this page? And if it finds the files usually an HTML file. First, it packages them up and sends them back in an HTTP response.

Speaker 1

Then my browser gets that HTML file and starts reading it.

Speaker 2

Yep. It parses the HTML, figure out the structure, and as it reads it often finds tags that point to other files like CSS style sheets or images or JavaScript files.

Speaker 1

So it has to ask for those two exactly.

Speaker 2

It sends out more requests for each of those resources. The server sends them back, and the browser puts everything together, rendering the final page. You see. It's a constant little conversation.

Speaker 1

Until it's all loaded, or until something goes wrong, like that four oh four.

Speaker 2

Air Precisely, A four or four not found just means the sever looked but couldn't find this specific file the browser asked for. It's a very common response.

Speaker 1

Gotcha. And while we're talking files, you mentioned index dot html earlier. Is that just a naming thing or is there more to it?

Speaker 2

It's more than convention, it's actually a security and usability feature. Most web servers are configured to look for a default file, usually index dot html or index dot htm when you request a directory. Why well, if there's no index file, some servers might just show a listing of all the files in that directory, which you probably don't want people seeing. The index file acts as the default front page for that folder, hiding the underlying structure makes sense.

Speaker 1

Any quick tips for naming other files.

Speaker 2

Yeah, keep it simple, No spaces, use hyphens or underscores instead, avoid special characters, and stick to lowercase consistently. It avoids a lot of potential headaches with different server types being case sensitive or not.

Speaker 1

Okay, and one more under the hood thing. Character encoding sounds technical, but I guess it's important for to T.

Speaker 2

It's crucial, especially for the global web. Character encoding tells the browser how to interpret the bites of the file into readable.

Speaker 1

Characters, and for modern web design.

Speaker 2

The standard the default for HTML five is UTF eight. It's part of the Unicode standard, and the beauty of UTF eight is it can represent characters from basically any writing system in the world, all in the same document. English, Japanese, Arabic emojis. UTF eight handles it all seamlessly.

Speaker 1

Right, So that's essential for building sites for a global audience. Okay, so we have the blocks, we know how they travel. Let's shift to the designer's mindset. You mentioned a potential Aha, moment here.

Speaker 2

Yes, this is often a big one, especially for people coming from print design or other fixed media. It's embracing what Jennifer Robbins calls the inescapable element of the unknown.

Speaker 1

The unknown. What does that mean? In practice?

Speaker 2

It means you, as the designer, fundamentally don't know the exact environment where your web page will be viewed. You can't control it. Oh, so think about it. Dozen different web browsers, all rendering things slightly differently, screen sizes ranging from tiny smart watches to huge TVs and everything in between. Gaming systems, different operating systems with different default fonts installed.

Speaker 1

Wow.

Speaker 2

Yeah, plus varying Internet connection speeds. Users might have JavaScript turned off, or they might be using assistive technologies like screen readers.

Speaker 1

So you can't design for one perfect view exactly.

Speaker 2

You have to let go of that pixel perfect control. Instead, you design for flexibility, for robustness. Your design needs to adapt and work reasonably well across this huge, unpredictable range of possibilities. It's a shift from control to guidance.

Speaker 1

That sounds challenging but also kind of liberating.

Speaker 2

It is it forces you to focus on the core structure and meaning and build resilient layouts. And a big part of that unknown is accessibility.

Speaker 1

Right designing for everyone. You mentioned screen readers for users with visual impairments. What else falls under accessibility?

Speaker 2

It covers a wide range. People with limited mobility might use keyboards only or or voice commands. Users might need larger text sizes or specific color contrasts. Cognitive disabilities also play a role in designing clear navigation and interactions, so.

Speaker 1

It's not just an afterthought. It needs to be baked in from the start.

Speaker 2

Absolutely critical. The W three CZ, the Worldwide Web Consortium, has the Web Accessibility Initiative or WAI. They published the Web Content Accessibility Guidelines WACAG WKG.

Speaker 1

I've heard of that.

Speaker 2

Yeah. WKG provides internationally recognized guidelines on how to make web content accessible to everyone. It covers principles like perceivability, operability, understandability, and robustness. Following WKG is essential.

Speaker 1

And there's something called ARIA two.

Speaker 2

How does that fit in AARI stands for Accessible Rich Internet Applications. It's a set of attributes you can add to your HTML to provide more semantic information, especially for dynamic content and custom controls built with JavaScript, like telling a screen reader, that a fancy custom widget you built is actually functioning as a slider, or that a specific

section updates dynamically. It helps bridge the gap when standard HTML elements aren't quite enough to convey the meaning or function to assistive tech.

Speaker 1

Okay, so dealing with the unknown viewing environment naturally leads to responsive web design, right RWD Exactly.

Speaker 2

Ethan Marcotte famously coined the term back in twenty ten. RWD is really a collection of techniques to make websites adapt gracefully to different screen sizes and devices.

Speaker 1

How does it work?

Speaker 2

Fundamentally, the core idea is usually one HTML code based one URL for everyone, but you use CSS specifically things called media queries to apply different styles based on the characteristics of the device, especially the width of the viewport or browser window.

Speaker 1

So the same page might look like a single column on a phone, but three columns on a desktop.

Speaker 2

Precisely the layout responds to the environment.

Speaker 1

I remember older sites sometimes had separate mobile versions like m dot something dot com. Why is RWD generally preferred now?

Speaker 2

Those dedicated m dot sites meant maintaining two separate sites U codebases potentially different content. RWD with Its single URL and codebase is generally much easier to manage and maintain. Plus it's way better for SEO. Search engines prefer a single canonical ur for content.

Speaker 1

Makes sense. What are the key ingredients for making OURWD happen?

Speaker 2

There are a few core components. First, flexible grid based layouts, usually using percentages or newer layout methods like flexbox or grid instead of fixed pixel widths. Second, flexible images and media that can scale. Third, CSS media queries to apply different styles at different screen sizes. And fourth the viewport metatag in your HTML, which tells mobile browsers how to scale the page initially.

Speaker 1

Got it and across all these devices. Fast loading speed is crucial, isn't it?

Speaker 2

Non negotiable? Site performance is huge. Users expect pages to load quickly, and slow sites lead to high bounce rates people just leave. Plus, search engines like Google actually use site speed as a ranking factor.

Speaker 1

So how do you measure and improve speed?

Speaker 2

There are great tools out there. Google offers page speed insights and the Make the Web Faster Initiative resources. Webpagetest dot org is another fantastic tool for detailed performance analysis. They help you identify bottlenecks like large images or slow scripts, so you can optimize them.

Speaker 1

Okay, great overview of the mindset and big concepts. Let's get practical. Now back to HTML elements and CSS properties, the actual tools you use day to day. Starting with EAHTML again, but more specifically semantic markup.

Speaker 2

Right, we said HTML's for meaning. Using heading elements like A one through H six properly is a prime example. It's not just about making text big or small.

Speaker 1

Why does using H one for the main title, H two for sections, etc. Matter so much?

Speaker 2

Two big reasons. First, accessibility screen readers use heading structure to create an outline of the page, allowing visually impaired users to quickly understand the content hierarchy and navigate. Second, SEO search engines use headings to figure out the main topics and structure of your content. Using them correctly helps your site get found.

Speaker 1

Okay, so always use headings for structure and not just styling text. What if you need to group things but no specific semantic tag fits.

Speaker 2

That's where the generic elements dive and span come in. Div is a block level container used for grouping larger sections of content for styling or layout purposes. Span is in line used for grouping smaller pieces of text within a line, maybe to apply a specific style or hook. For JavaScript, they don't carry inherent meaning, unlike say an article or navtag.

Speaker 1

Got it and links the tag anything special there besides the href attribute pointing to the ur well.

Speaker 2

The target blank attribute is common for opening links in a new browser tab or window. You should use it thoughtfully, maybe for external links or documents, but don't overuse it. Also, you can create links that initiate emails using mail toe or phone calls using tel in the h ref, which is super handy on mobile devices.

Speaker 1

Images in a tech we know src is the source file. You stress the alt attribute before? Can you reiterate why alt text is so vital?

Speaker 2

Absolutely odd text provides the alternative description for an image. It's read allowed by screen readers for users who can't see the image it's displayed if the image fails to load, and search engines use it to understand the image content, leaving it empty or omitting it is a major accessibility in SEO. Failure must be there and be descriptive.

Speaker 1

Okay, image formats there are quite a few jpeg, PNG, jiff SVG. When do you use which good question.

Speaker 2

JPEG is generally best for photographs images with lots of colors ingredients. He uses lossy compression, meaning it discards some data to achieve smaller file sizes, which is usually fine for.

Speaker 1

Photos and PNG. There's PNG eight and P ANDG twenty four right.

Speaker 2

PNG eight is good for graphics with flat colors like logos or illustrations, especially if you need simple on off binary transparency. PG twenty four also works for complex graphics or photos, especially when you need alpha transparency that's smooth variable transparency like drop shadows or fades. He uses lossless compression, so no data is lost, but file sizes can be larger than JPEGs.

Speaker 1

GIF Is that just for animations now?

Speaker 2

Mostly? Yes? Gift is great for simple animations. It also supports binary transparency like PNG eight, but it's limited to two hundred and fifty six tellers, so it's not ideal for complex.

Speaker 1

Images and SVG you mentioned it earlier.

Speaker 2

Scalable Vector Graphics SVEG is fantastic because it's vector based, defined by math not pixels. Its skills perfectly to any size without losing quality, looks sharp on any screen. File sizes are often smaller especially for illustrations or icons. Plus you can style svgs with CSS and animate them with CSS or JavaScript. It's incredibly versatile for logos, icons and illustrations.

Speaker 1

And dealing with different screen sizes. There's responsive image markup.

Speaker 2

Yes, Modern HTML provides ways to serve different image versions based on screen size or resolution. The CIRCUSIT and size is attributes on the mbutag let the browser choose the most efficient image.

Speaker 1

File to download, and the picture ELM.

Speaker 2

The picture element gives you even more control. You can use it for art direction, serving completely different crops or versions of an image for different layouts, or you can use it to offer alternative image formats like the newer web p format with fallbacks for older browsers. It's powerful stuff for performance and design flexibility. Moving onto forms, form tag they collect user input. What are the key parts?

Form element itself usually has an action attribute who specifies where the form data should be sent like a server script, and a method attribute typically post to send data securely in the request body or get t to append data to the URL often used for searches.

Speaker 1

And inside the form you have all the input fields exactly.

Speaker 2

The input element is the workhorse with different type attributes text, password, checkbox, radio, button, submit button, reset, file, upload and newer HTML five types like date, color, number, range, search, email and tell.

Speaker 1

What about multiline tax or dropdowns?

Speaker 2

For multiline text, use the text area element. For dropdown lists, you use select with multiple option elements inside it.

Speaker 1

Accessibility is important for forms too, right, how do labels help?

Speaker 2

Critically important? The label element is essential. You associate it with a specific input field using the asphour attribute link to the inputs in This tells screen readers what the input is for and clicking the label also focuses the input field, which helps everyone.

Speaker 1

And grouping form elements.

Speaker 2

The field set element groups related controls and the legend element provides a caption for that group. It really helps organize complex forms and makes them much clearer, especially for assiste of technology users. And don't forget the placeholder attribute on inputs. It provides a hint inside the field before the user types.

Speaker 1

Okay, last bit of HTML embedded media like videos.

Speaker 2

Or maps right. The iframe element is commonly used to embed content from other websites directly into your page. Think YouTube, videos, google maps, social media widgets.

Speaker 1

And for playing your own videos or audio.

Speaker 2

HTML five introduced the video and audio elements for native media playback without needing plugins like flash used to. They have built in browser controls, or you can create custom controls with JavaScript, and the track element lets you add captions, subtitles, or discript options for accessibility. One more element canvas uh canvas. This creates a blank rectangular area on the page where you can draw graphics, manipulate images, or create animations dynamically

using JavaScript. It's the foundation for many web based games, data visualizations, and interactive graphical applications.

Speaker 1

Hew okay, that's a lot of hmail power. Let's switch gears fully to CSS, bringing the visuals to life. You mentioned the cascade earlier. How does that actually work? When styles conflict?

Speaker 2

The cascade is CSS's system for resolving those conflicts. It follows a set of rules. Generally later rules overwrite earlier rules, more specific selectors like an ID selector hashtag my element override less pisfic ones like a tag selector P. And then there's the downportin declaration, which you can add to a style rule to make it overwrite almost anything else, though you should use it sparingly as it can make debugging harder. It's a hierarchy of origin specificity and source order.

Speaker 1

Got it units of measurement pixels PX versus relative units like M, REM, VITA, VH. You highlighted REM before.

Speaker 2

Yes, rem rude. M is often preferred for sizing things like text and layout components. It's relative to the font size set on the root HTML element. The big advantages If the user changes their browser's default font size for better readability, your entire layout based on rems can scale proportionally. It builds in accessibility and flexibility. Room is similar but relative to the parent elements font size, which can sometimes get complex. VW and VH are relative to the viewports within height.

Speaker 1

Colors and CSS seem to have many options.

Speaker 2

They do. You can use predefined color names like red, blue, hexodeesimal codes, hashtag f F zero zero, RGB values RGB two five five zero zero, and RGBA, which adds an alpha channel for transparency RGBA two five five zero zero point five. There's also HSL, HU saturation lightness, and HSLA, which some find more intuitive for adjusting colors.

Speaker 1

Lots of flexibility in backgrounds more than just colors.

Speaker 2

Oh yeah. Background image lets you use images back or peat controls tiling, background position sets where it starts, background size control scaling. You can create really rich background effects.

Speaker 1

Let's talk about the box model. You said every element is a box.

Speaker 2

Fundamentally yes, even inline text elements have box properties. The model consists of the content area itself, surrounded by padding space inside the border, then the border, and finally the margin space outside the border, separating it from other elements. Understanding how these four parts interact is crucial for layout.

Speaker 1

And you control the size with with and height. What about box sizing border box? Why is that a big deal?

Speaker 2

By default, with and height in CSS apply only to the content area, padding and border are added on top of that, which often makes calculating final dimensions tricky. Box sizing border box changes this behavior so that the width and height properties include the content, padding and border. It makes layouts much more predictable and intuitive. It's pretty much standard practice.

Speaker 1

Now, Okay, layout techniques we mentioned Float is older position gives precise control, but the modern powerhouses are flexbox and CSS grid right. Remind us of the difference.

Speaker 2

The key is dimensionality. Flexbox is primarily for one dimensional layouts, arranging items in a single row or a single column. And controlling their alignment and spacing along that axis. Think navigation bars, aligning items in a card and grid. CSS

grid is for two dimensional layouts. It lets you define both rows and columns simultaneously, creating a grid structure you can place items into, precisely perfect for overall page layouts, complex component arrangements, anything requiring control over both access at once. They often work really well together too.

Speaker 1

And finally, adding some motion with CSS.

Speaker 2

Yeah, CSS makes simple animations and transitions pretty straightforward. The transition property lets you smoothly animate changes between states like on, hover or focus. Just define the property you want to animate, the duration and maybe a timing function, and transform transform allows you to visually manipulate elements without affecting the layout flow around them. You can rotate, scale, resize, translate, move,

or skew elements. Combined transforms with transitions and you get smooth animated effects.

Speaker 1

What about more complex animations?

Speaker 2

For multi step complex animations you use at keyframes. You define named animation sequences with different styles at various points like zero percent, fifty percent, hundred percent, and then apply that named animation to an element using the animation property. It gives you much finer control.

Speaker 1

Okay, we've covered the building blocks and styling extensively. Now the professional toolkit things that go beyond the basics of writing code. The command line interface CLI seu's intimidating.

Speaker 2

It can seem that way at first, but the CLI or terminal is a really fundamental tool for modern web development. It's a tech spas way to interact with your computer and run various development tools and processes.

Speaker 1

Why use it instead of graphical.

Speaker 2

Tools efficiency and power. Many essential tools version control like GET, package managers like NPM, build tools, server management are primarily run through the command line. Mastering the basics unlocks a huge amount of capability.

Speaker 1

Speaking of tools, CSS processors preprocessors like SAS or LSS right.

Speaker 2

Preprocessors extend CSS, adding features that make writing styles much more efficient and maintainable. Things like variables so you can define a color once and reuse it, mix ins reusable blocks of styles, nesting rules to mirror HQML structure and functions. You write in the preprocessor syntax and it compiles down to standard CSS that browsers understand, and postprocessor post processors

take your standard CSS and transform it. A common example is auto prefixer, which automatically adds vendor prefixes Dash webcit, dash malls, etc. To CSS rules that need them for broader browser compatibility. It saves a ton of tedious work.

Speaker 1

Then there are build tools and task runners Grunt, Gulp.

Speaker 2

These automate common development tasks. You can configure them to watch your files and automatically say, compile your SaaS to CSS, optimize your images, check your JavaScript for errors, linting, bundle your files, and even reload your browser whenever you save a change. They streamline the whole workflow.

Speaker 1

And finally, version control GIT seems to be the standard. Why is it so crucial?

Speaker 2

Git is indispensable. It tracks every single change made to your project files over time. This means you can easily revert to previous versions if something breaks. It's like an unlimited undo for your entire project.

Speaker 1

But it's more than just backups right, Oh much more.

Speaker 2

It's built for collaboration. Features like branching allow developers to work on new features or fixes in isolation without affecting the main codebase. Merging allows combining those changes back together. Platforms like getthub or get lab, build and get to facilitate team workflows with things like pull requests for code review. It's essential for any project bigger than just yourself, and honestly even for solo projects.

Speaker 1

Wow. Okay, that was quite the journey. We went from the feeling of being overwhelmed through the foundational trio of HTMLCSS and JavaScript.

Speaker 2

Dived under the hood to see how the web actually delivers content, talked about the crucial mindset shift needed for the unknown environment, emphasizing accessibility and responsive design.

Speaker 1

Thing got really practical with specific HTML elements and CSS properties, covering everything from semantics and images to forms, layout and animation, and.

Speaker 2

Finally touched on that essential professional toolkit, the command line, CSS processors, build tools, and the absolute necessity of.

Speaker 1

Get you the listener have just received a really comprehensive overview, and like we said at the start, don't feel you need to have memorized every single detail.

Speaker 2

Right now, not at all. The goal was to give you that solid foundation, that mental map of how all these pieces fit together. Understanding the why behind these concepts is often more important initially than knowing every specific tag or property off the top of your head. That comes with practice.

Speaker 1

So thinking about all this, here's something to consider. The web is never truly finished. It's constantly evolving. New standards, new tools, new user expectations are always emerging.

Speaker 2

It really is a living medium.

Speaker 1

So now that you have this deeper understanding of its foundations and principles, the question becomes, how will you not just adapt to the Web's constant evolution, but maybe even help shape its future.

Speaker 2

That's the exciting part. We really encourage you to take this knowledge and start playing, keep exploring, build small things, test ideas, break stuff, fix it. That hands on experience is where the learning truly solidifies. Good luck,

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android