HTML & CSS: Building Responsive Websites For Beginners
Jonathan Grover, Developer / Designer / Creative Technologist
Watch this class and thousands more
Watch this class and thousands more
Lessons in This Class
-
-
1.
Trailer
1:03
-
2.
Web Fundamentals
10:30
-
3.
Getting Started
2:17
-
4.
Document Structure
16:35
-
5.
Text Formatting
24:13
-
6.
Images
12:37
-
7.
Links
22:00
-
8.
Validating HTML
6:29
-
9.
Site Publishing
14:01
-
10.
Introducing Tables, Forms, & Iframes
19:27
-
11.
Tables
10:14
-
12.
Iframes
4:47
-
13.
Forms
8:31
-
14.
Video
11:01
-
15.
Prep for HTML5
10:40
-
16.
HTML5 Semantic Elements
13:19
-
17.
Metadata
4:14
-
18.
Styling the Front-end
10:05
-
19.
Setting up an External Style Sheet
4:23
-
20.
Type Selector
14:28
-
21.
Color Systems
15:11
-
22.
Font Shorthand
2:46
-
23.
Web Fonts
6:36
-
24.
Class Selector
7:52
-
25.
ID Selector
8:47
-
26.
Descendant Selector
6:58
-
27.
Psuedo Selector
14:54
-
28.
Developer Tools (part 1)
11:51
-
29.
Element Display
9:39
-
30.
Box Model
38:08
-
31.
Box Aesthetics
17:51
-
32.
Floating
37:08
-
33.
Prep Layout
8:26
-
34.
Applying Box Properties
6:43
-
35.
Styling Tables
6:44
-
36.
Styling Forms
6:29
-
37.
Styling Iframe
1:43
-
38.
Centering Content
4:30
-
39.
Applying Box Shadow
3:28
-
40.
Applying Gradients
4:07
-
41.
Styling the Logo
3:27
-
42.
Styling Main Sections
6:32
-
43.
Styling Details Section
1:45
-
44.
Creating Column Structure
26:48
-
45.
Developer Tools (part 2)
6:49
-
46.
Positioning Techniques
11:01
-
47.
Z-Index Layering
4:51
-
48.
Sprite Rollovers
4:51
-
49.
Styling Navigation
16:17
-
50.
Styling the Social Media Bar
16:55
-
51.
Responsive Layout Techniques
12:31
-
52.
Setting Up Local Responsive Testing
11:47
-
53.
Prep HTML for Responsive Layout
8:48
-
54.
Applying CSS3 Media Queries
40:31
-
55.
Adding PHP Mailer Script
16:16
-
56.
Resets, Grid Systems, & Templates
10:11
-
-
- --
- Beginner level
- Intermediate level
- Advanced level
- All levels
Community Generated
The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.
8,909
Students
603
Projects
About This Class
There is a new updated version of this class located here: https://www.skillshare.com/classes/HTML-CSS-Building-Responsive-Websites-For-Beginners-version-2.0/1481065028
This class is perfect for anyone with a great website idea or just an interest in learning how to code. This is a beginner-level class so if you have basic computer literacy and an internet connection, you're all set. Learn at your own pace.
You'll leave this class with the skills to create your very own stylish, professional, and responsive website.
What You Will Learn
- HTML and Web Fundamentals. You'll start with text editing basics, headings, images and linking between pages.
- Tables, Forms, and Iframes. After learning the essentials you'll learn how to add more elements like tables, forms, and Iframes to your pages.
- HTML5 Elements. You'll add HTML 5 semantic containers, metadata, and media to your pages.
- CSS Fundamentals. You'll use CSS to create a style sheet that will allow you to fluidly change your pages contents.
- Building Page Layouts. You'll build with columns and utilize the box model.
- Positioning and Sprites. You'll use z-index and sprites to creat advanced layout features.
- Responsive Layout. You'll create responsive site design that allows your site to alter its style and content positioning based on the size of the device it is being viewed on.
What You'll Make
Spread throughout the course are Code Challenges. Code Challenges are opportunities for you to put what you've learned to practice by coding on your own. A continuous project will be built out of the code challenges adding more to your site project with each challenge.
Handouts and Resources
You will be provided with extensive handouts and suggested reference materials to continue your learning even after the course.
More courses from this instructor at:
Meet Your Teacher
I'm a web designer & nationally recognized digital artist with over five years of teaching experience in creative programming, interactivity, web development, circuitry & DIY electronics. I received a BFA in Graphic Design from the University of Akron and an MFA in Design & Technology from the San Francisco Art Institute. I've held instructing positions at the San Francisco Art Institute, Pittsburgh Art Institute, 3rd Ward, and General Assembly. Currently, I serve as a faculty member at Flatiron School, a NYC based immersive style web development program. My interests include creating interactive artwork, programming, building things, animals, travel, and scuba diving.
@jongrover
Hands-on Class Project
There is a new updated version of this class located here: https://www.skillshare.com/classes/HTML-CSS-Building-Responsive-Websites-For-Beginners-version-2.0/1481065028
Build your own website using HTML and CSS
HTML and Web Fundamentals
- Welcome students
Thank you for signing up for my class. Today you are all making personal history. I think you will find that learning a creative and highly practical skill such as this can be quite empowering! Learning to build webpages will open doors to greater possibilities in your life and increase the limits of your communication with the world.
Motivation
I would like to encourage everyone to enjoy the class and have fun learning and also to think of yourself a confident captain of your ship sailing the seas of code. Never allow yourself to become to discouraged because we all have days the code breaks and eventually you will get it! The students in my classes who have gone the farthest were always the ones with the most confidence.
Here is an example of the continuous exercise website I will teach you to build by the end of the class:
https://jonathangrover.com/teaching/students/sksh-html-css/site-mobile/
Paced Learning
There are over 11 hours of learning videos! Whaaaat? I suggest learning in small sections like doing Syllabus lesson 2. HTML & Web Fundamentals one day and then lesson 3. Tables, Forms, & Iframes on another day. Doing about 2 lessons each week will get your site up and running in just 4 weeks. If your busy schedule does not allow for this pace, no problem, you will have access to the course material indefinitely. So you can learn at your own pace!
Did you know that our brain actually keeps learning things after we stop thinking... It's called associative memory. It is important to give your brain some down time to absorb the material and so it can make connections between topics from one day to the next. If you feel burnt out, take breaks. I also suggest each day you review a few things from previous days. Typing our code we learned from day 1 on day 5 will help you store it in long-term memory.
Viewing Tips
If you find the code is hard to read when watching the videos you can change the quality setting at the bottom menu in Youtube to HD. I shot everything high resolution so you should get excellent clarity even at fullscreen.
Comfort
The suggested clothing for this class is your pajamas. Think loose, warm, and cozy. Make sure to have your favorite drink on hand and try to pick a time when you do not feel rushed. Try stretching in between videos also.
Office Hours
Live stream Office Hours has been removed from this course for the time being as it is now a self study course. You can still watch recordings of over 16 hours worth of pre-recorded office hours from this Youtube Playlist: http://www.youtube.com/playlist?list=PLj148bJp5wizBZyx7XDmCstdcD-cWtvDY
I will still be monitoring and answering questions in the Q & A discussion area from time to time however. Other students will also be able to help answer questions there as well.
Code Challenges
Code Challenges will walk you step by step to building a website project. Feel free to upload your code (see video 1.1.7 Site Publishing) and provide the domain (ex: yoursite.com) as a link at your project page to receive feedback from your peers. Make sure to visit others projects as well to give feedback and see what your fellow classmates are building.
Troubleshooting
Along the way your code may not work right the first time. The following are some suggestions to make solving these issues as quick and easy as possible:
-
Make sure you validate your HTML and CSS code to check for typos and improper language use.
-
Try comparing your code to the completed code for my examples found in the resource area below each lesson.
-
Check the Q&A area to see if anyone posted a similar issue to see how it was resolved.
-
If the issue does not already exist in the Q&A area, then post your issue using a title that clearly defines the issue you're having. Include a descriptive paragraph about the issue and what you have already tried. Most importantly, upload the code your site and post a link to your code in your question post, so myself and others can see the actual code and help troubleshoot. Without a link to the code to see the actual code, I can only make guesses instead of solving your issue. This link to the code could be from your personal domain or you can copy and paste your code into sites like: jsfiddle and save and paste the url given into the discussion area.
-
To solve issues on your own outside of this class community, repeat process 4 on stackoverflow a global discussion site for code questions. Also try to google the error message or issue. Be patient you'll figure it out eventually.
Now let's begin!
-
- Setup your computer
Download and install the following free applications on your computer:
Code Editor:
In this course I used Sublime Text 2 however in practice I now use and recommend VS code which. you can download here: https://code.visualstudio.com/downloadSublime Text 2 (consider using VS code linked above)
If for some reason Sublime Text is not compatible with your system, feel free to download another code editor such as Aptana Studio (only if sublime text doesn't work for you), other editors that should work fine include: TextMate, Text Wrangler, VIM, Notepad++, Coda, and Komodo Edit.
Browser:
Newest Version of Google Chrome (suggested)
It is also suggested to download other browsers such as IE, FireFox, Opera, and Safari for cross browser testing. I will be using Chrome in my examples for this course.
FTP Client:
FileZilla (required)
Other acceptable FTP applications include: Cyber Duck, Transmit, WinSCP. I will be using Filezilla for all course examples.
Local Server:
MAMP for Mac (optional) or WAMP for Windows (optional) or LAMP for Linux (optional)
I use this for just one example at the end of the course to test a PHP mailer script and some responsive design testing. It is not essential for most front-end development.
Image Editor/Compression:
Photoshop CS6 Paid & Trial Versions (suggested) or *GIMP & GIMP Save for Web Plugin (suggested) *Most GIMP builds already include the Save for Web Plugin.
Video Converter:
Miro Video Converter (optional)
Video Editor:
Avidemux (optional) or MPEG Streamclip (optional)
Audio Editor/Converter:
Audacity (optional)
Domain & Site Hosting:
If you wish to have your very own website online at the end of the class and you do not already have a domain and web hosting, you can sign up for some at one of these reccomended providers below and compare pricing:
1and1.com or dreamhost.com or bluehost.com (suggested)
Make sure to write down your FTP details such as FTP host url, user login, and password for use later on.
Recommended books to supplement this course:
HTML and CSS: Design and Build Websites (optional)
Implementing Responsive Design (optional)
- Watch video lessons
- Download the starter code (also located in the Additional Resources area)
- Then watch the videos in the Video Lessons area. You may follow along using the provided starter code if you wish.
- Download the starter code (also located in the Additional Resources area)
- Start your website
It was fun building site pages in the lesson videos, but now it's time to put what you have learned to the test.
Build a personal website project
- Proper file and folder structure
- At least 3 different html pages.
- Text formatted to different sizes and headings
- At least 1 image
- Links between the pages
- Validate your project
Use the following website to validate your project:
and fix any errors that the validator might catch until the validation passes.
- Share your progress
Upload your site and post the url to your project page where others can view it to provide feedback.
Leave a message on your project page that you completed this challenge. Discuss any issues you may have had and how you resolved them.
Sandra Barkevich shares their early project success:
Tables, Forms, and Iframes
- Watch video lessons
- Download the starter code (also located in the Additional Resources area)
- Then watch the videos in the Video Lessons area. You may follow along using the provided starter code if you wish.
- Download the starter code (also located in the Additional Resources area)
- Add a table, form, and iframe to your project
Lets jump back to your personal website project and add the following:
- Table
- Form
- Iframe (from Google maps or Youtube)
- Validate your project
Make sure the pages still validate* at:
*You may get validation errors on the Google Map Iframe, or from any Iframe embed code for third party websites. This is common and not a cause for concern at this point in the class. If you wish to correct this you can remove the invalid html attributes ( frameborder="0" scrolling="no" marginheight="0" marginwidth="0" ) and replace their effect with this additon to your CSS code ( iframe { border: 0; margin:0; overflow: hidden; } ). Since we have not yet learned CSS, this will make more sense after you complete the next few exercises and challenges.
- Share your progress
After uploading the files leave a message on your project page that you completed this challenge. Note your progress and discuss any issues that you had to resolve.
HTML5 Elements
- Watch video lessons
- Download the starter code (also located in the Additional Resources area)
- Then watch the videos in the Video Lessons area. You may follow along using the provided starter code if you wish.
- Download the starter code (also located in the Additional Resources area)
- Add semantic formatting and media
Add the following elements to your current project:
- 1 HTML5 video or audio element embed
- Meta keywords and descriptions to all your pages.
- Validate your project
Make sure the pages still validate at:
- Share your progress
Leave a message on your project page that you completed this step. Note your progress and discuss any issues you had that you resolved.
Ben Schorzman adds a snowboarding video to their page:
CSS Fundamentals
- Watch video lessons
- Download the starter code (also located in the Additional Resources area)
- Then watch the videos in the Video Lessons area. You may follow along using the provided starter code if you wish.
- Download the starter code (also located in the Additional Resources area)
- Style your site
Using an external style sheet, style your pages using the following selectors:
- Type (element) Selector
- Class Selector
- ID Selector
- Descendent Selector
- Psuedo-class Selector (style links)
- Validate your project
Make sure the pages still validate.
Check HTML at: http://validator.w3.org/
Check CSS at: http://jigsaw.w3.org/css-validator/
- Share your progress
Leave a message on your project page that you completed this challenge. Note your progress and discuss any issues you had that you resolved.
Building Page Layouts
- Watch video lessons
- Download the starter code (also located in the Additional Resources area)
- Then watch the videos in the Video Lessons area. You may follow along using the provided starter code if you wish.
- Download the starter code (also located in the Additional Resources area)
- Position your page content
Adjust the spacing of elements in your pages and position your page content using float positioning to create column structure.
Make use of clear:both and clearfix class to solve any formatting issues you come across. Most of all be patient, applying float positioning the first time can be frustrating, but you will get it!
- Validate your project
Make sure the pages still validate.
Check HTML at: http://validator.w3.org/
Check CSS at: http://jigsaw.w3.org/css-validator/
- Share your progress
Leave a message on your project page that you completed this step. Note your progress and discuss any issues you had that you resolved.
Positioning and Sprites
- Watch video lessons
- Download the starter code (also located in the Additional Resources area)
- Then watch the videos in the Video Lessons area. You may follow along using the provided starter code if you wish.
- Download the starter code (also located in the Additional Resources area)
- Use advanced positioning
Add at least one of the following positioning styles to your layout:
- absolute
- relative
- fixed
Optionally, add some sprite rollover images.
- Validate your project
Make sure the pages still validate.
Check HTML at: http://validator.w3.org/
Check CSS at: http://jigsaw.w3.org/css-validator/
- Share your progress
Leave a message on your project page that you completed this challenge. Note your progress and discuss any issues you had that you resolved.
Responsive Layout
- Watch video lessons
- Download the starter code (also located in the Additional Resources area)
- Then watch the videos in the Video Lessons area. You may follow along using the provided starter code if you wish.
- Download the starter code (also located in the Additional Resources area)
- Build responsive layout design
Use media queries to set styles for the following device sizes:
- Desktop
- Tablet
- Mobile
While styling you can check your results and modify as you go using:
http://quirktools.com/screenfly/
Or better yet the modern way of testing your media queries is to use Chrome's Developer Tools. Watch this video: https://www.youtube.com/watch?v=M482RhQ8i1Q
Which is NOT included in the playlist of videos for this course. - Validate your project
Make sure the pages still validate.
Check HTML at: http://validator.w3.org/
Check CSS at: http://jigsaw.w3.org/css-validator/
- Share your progress
Leave a message on your project page that you completed this challenge. Note your progress and discuss any issues you had that you resolved.
Finishing Touches and Onward
- Watch video lessons
- Watch all of the video lessons first. There are no starting vode files for this unit.
- Afterwards you can look over the final completed code if you wish.
- Watch all of the video lessons first. There are no starting vode files for this unit.
- Add finishing touches
Make any finishing touches and upload your sites using FTP to your desired host server domain.
- Share your progress
Link to your project on your project page so others can critique your work and provide feedback. Check out your fellow classmates sites and leave feedback on at least three other students' sites.
- Celebrate
Great job! Let's celebrate. Pop the top of your favorite drink and pat yourself on the back! You have offically become a front-end web developer! Congratulations!
What to do now?
Additional Resources
-
Video Lesson Resources
http://computer.howstuffworks.com/internet/basics/internet.htm
How to unzip Windows: http://windows.microsoft.com/en-us/windows-vista/compress-and-uncompress-files-zip-files
How to unzip Mac: http://support.topspinmedia.com/entries/20822646-How-to-extract-a-zip-file-on-a-Mac
Save (in editor):
Mac: Cmd+s
Windows: Ctrl+sReload (in browser):
Mac: Cmd+r
Windows: Ctrl+r