All language subtitles for 5. Introduction to the CSS Box Model

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian Download
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 1 00:00:01,590 --> 00:00:02,960 The box model is one 2 2 00:00:02,960 --> 00:00:06,310 of the most fundamental parts of CSS. 3 3 00:00:06,310 --> 00:00:09,470 That's because it's the main factor that defines 4 4 00:00:09,470 --> 00:00:12,680 how elements are displayed on a webpage 5 5 00:00:12,680 --> 00:00:14,823 and also how they are sized. 6 6 00:00:16,340 --> 00:00:18,810 So according to the box model, 7 7 00:00:18,810 --> 00:00:21,980 each and every element on a webpage can be seen 8 8 00:00:21,980 --> 00:00:26,370 as a rectangular box and each box can have a width, 9 9 00:00:26,370 --> 00:00:30,560 a height, padding, margins and a border. 10 10 00:00:30,560 --> 00:00:34,750 And we can specify all these using CSS properties, 11 11 00:00:34,750 --> 00:00:37,080 but note that they are all optional. 12 12 00:00:37,080 --> 00:00:39,680 So there can be boxes with no margins 13 13 00:00:39,680 --> 00:00:43,470 or no paddings or no border at all. 14 14 00:00:43,470 --> 00:00:47,220 Now this image here shows us how the box model works. 15 15 00:00:47,220 --> 00:00:51,290 And so let's break it down, first the content of a box 16 16 00:00:51,290 --> 00:00:53,830 is where all the text images 17 17 00:00:53,830 --> 00:00:56,760 and other content that we specify goes. 18 18 00:00:56,760 --> 00:01:00,000 We can easily define its height and with using 19 19 00:01:00,000 --> 00:01:02,600 the corresponding CSS properties. 20 20 00:01:02,600 --> 00:01:05,600 Next, the padding is a transparent area 21 21 00:01:05,600 --> 00:01:10,010 around the content but still inside of the box. 22 22 00:01:10,010 --> 00:01:13,700 And we use paddings to create white space inside of a box. 23 23 00:01:13,700 --> 00:01:15,070 And we can define the padding 24 24 00:01:15,070 --> 00:01:19,250 by specifying the padding property in CSS. 25 25 00:01:19,250 --> 00:01:22,910 Next, we can specify a border for any box 26 26 00:01:22,910 --> 00:01:24,650 and that border then goes around 27 27 00:01:24,650 --> 00:01:26,830 the padding and the content. 28 28 00:01:26,830 --> 00:01:31,140 And this actually we already did in the last lecture, right? 29 29 00:01:31,140 --> 00:01:34,870 Then similar to the padding, we have the margin, 30 30 00:01:34,870 --> 00:01:37,550 but instead of being inside the box, 31 31 00:01:37,550 --> 00:01:39,540 the margin is white space 32 32 00:01:39,540 --> 00:01:43,150 that's actually outside of the box itself. 33 33 00:01:43,150 --> 00:01:47,440 So we can think of margin as the space between boxes. 34 34 00:01:47,440 --> 00:01:48,690 So for instance, 35 35 00:01:48,690 --> 00:01:51,980 if we want to create some space between two elements, 36 36 00:01:51,980 --> 00:01:55,950 we will simply use their margin properties and CSS. 37 37 00:01:55,950 --> 00:02:00,020 And finally, there is something called the fill area. 38 38 00:02:00,020 --> 00:02:02,150 So remember how the text content 39 39 00:02:02,150 --> 00:02:05,630 and images go inside the content box, 40 40 00:02:05,630 --> 00:02:09,030 well, the same does not apply for background images 41 41 00:02:09,030 --> 00:02:12,030 or the background color of a box. 42 42 00:02:12,030 --> 00:02:14,920 These properties will actually be applied not only 43 43 00:02:14,920 --> 00:02:18,830 to the content box, but to the entire fill area, 44 44 00:02:18,830 --> 00:02:21,920 which also includes the padding and the border, 45 45 00:02:21,920 --> 00:02:24,450 but not the margin, okay? 46 46 00:02:24,450 --> 00:02:27,050 Alright, so let's go back to our code 47 47 00:02:27,050 --> 00:02:29,333 and implement some of these properties. 48 48 00:02:30,600 --> 00:02:32,950 Now, if we take a look at our page here, 49 49 00:02:32,950 --> 00:02:35,210 we will see that actually there's already 50 50 00:02:35,210 --> 00:02:37,700 a lot of space here, right? 51 51 00:02:37,700 --> 00:02:41,890 For example, between this heading and this paragraph, 52 52 00:02:41,890 --> 00:02:44,650 and here is space and here, 53 53 00:02:44,650 --> 00:02:46,820 and there's also a lot of space 54 54 00:02:46,820 --> 00:02:49,250 around this h2 element here. 55 55 00:02:49,250 --> 00:02:50,940 And that's because by default, 56 56 00:02:50,940 --> 00:02:53,730 some elements get some margin automatically 57 57 00:02:53,730 --> 00:02:56,470 if we don't define them, okay. 58 58 00:02:56,470 --> 00:02:58,160 Now that can create some problems 59 59 00:02:58,160 --> 00:03:00,320 when we're trying to style our page. 60 60 00:03:00,320 --> 00:03:02,670 And so usually what we do is that 61 61 00:03:02,670 --> 00:03:05,960 we reset all of the margins and all of the paddings 62 62 00:03:05,960 --> 00:03:09,300 on all elements before doing anything else. 63 63 00:03:09,300 --> 00:03:12,460 So this is called a global reset. 64 64 00:03:12,460 --> 00:03:16,080 And so to do that, we need to select all the elements. 65 65 00:03:16,080 --> 00:03:18,700 And for that, we have a special selector 66 66 00:03:18,700 --> 00:03:23,640 and that is a star selector, okay? 67 67 00:03:23,640 --> 00:03:24,670 So again, with this, 68 68 00:03:24,670 --> 00:03:29,140 we can select all the elements on the page. 69 69 00:03:29,140 --> 00:03:33,723 So what we do then is to set the margin to zero pixels. 70 70 00:03:34,570 --> 00:03:35,720 And when we use zero, 71 71 00:03:35,720 --> 00:03:38,300 we don't even need to specify the unit. 72 72 00:03:38,300 --> 00:03:40,963 So just a zero like this, 73 73 00:03:43,040 --> 00:03:48,040 and the same for padding set to zero as well. 74 74 00:03:48,730 --> 00:03:52,950 If I give it a save now, it looks like this. 75 75 00:03:52,950 --> 00:03:55,630 So all the paddings and all the margins 76 76 00:03:55,630 --> 00:03:57,120 are effectively gone. 77 77 00:03:57,120 --> 00:03:59,810 And that's exactly what we wanted. 78 78 00:03:59,810 --> 00:04:03,013 Now, we also need to add another property here. 79 79 00:04:04,220 --> 00:04:07,750 I mean, we do not have to, but we usually always do, 80 80 00:04:07,750 --> 00:04:12,750 which is the box sizing property set to border box, okay. 81 81 00:04:13,530 --> 00:04:15,480 Now this will not change anything here, 82 82 00:04:15,480 --> 00:04:18,870 and I'm not gonna go into detail what this does. 83 83 00:04:18,870 --> 00:04:20,503 I'm just putting it here so that you know, 84 84 00:04:20,503 --> 00:04:23,650 that we always use it, okay. 85 85 00:04:23,650 --> 00:04:25,490 So essentially what this does is that 86 86 00:04:25,490 --> 00:04:28,870 it will include paddings and borders into the width 87 87 00:04:28,870 --> 00:04:32,270 or the height that we specify for an element. 88 88 00:04:32,270 --> 00:04:34,950 So for example, if we specify the width of an element 89 89 00:04:34,950 --> 00:04:38,870 to 100 pixels, and then add a padding of 20 pixels 90 90 00:04:38,870 --> 00:04:42,130 on each side, then 100 plus 20 plus 20 91 91 00:04:42,130 --> 00:04:45,710 would be a total width of 140 pixels, 92 92 00:04:45,710 --> 00:04:47,110 which could create problems, 93 93 00:04:47,110 --> 00:04:50,420 if all we wanted was a width of 100 pixels. 94 94 00:04:50,420 --> 00:04:54,460 And so to fix this, we use box sizing set to border box. 95 95 00:04:54,460 --> 00:04:58,260 And so in this case, if we specify the width to 100 pixels, 96 96 00:04:58,260 --> 00:05:00,430 it will always be 100 pixels, 97 97 00:05:00,430 --> 00:05:03,210 no matter how much the padding, okay. 98 98 00:05:03,210 --> 00:05:05,140 And if that doesn't make a lot of sense 99 99 00:05:05,140 --> 00:05:08,460 to you at this point, then you can always Google around 100 100 00:05:08,460 --> 00:05:11,250 how it works, if you want to go into more detail. 101 101 00:05:11,250 --> 00:05:13,580 But since this is just a crash course, 102 102 00:05:13,580 --> 00:05:16,540 I'm not gonna go into a lot more detail. 103 103 00:05:16,540 --> 00:05:19,310 So now what I want to do is to add back some margins 104 104 00:05:19,310 --> 00:05:23,650 and some paddings so that you can see how exactly they work. 105 105 00:05:23,650 --> 00:05:25,940 And let's actually add with the body 106 106 00:05:25,940 --> 00:05:29,060 and here we will set some padding, okay. 107 107 00:05:29,060 --> 00:05:30,533 And why do we use padding? 108 108 00:05:31,370 --> 00:05:34,390 Well, it's because we want to add some space 109 109 00:05:34,390 --> 00:05:37,270 inside of this body element. 110 110 00:05:37,270 --> 00:05:38,900 So basically to create some space 111 111 00:05:38,900 --> 00:05:41,280 between the border of the browser, 112 112 00:05:41,280 --> 00:05:43,853 so of this view part and the content. 113 113 00:05:44,910 --> 00:05:47,560 So let's set it to 75 pixels. 114 114 00:05:47,560 --> 00:05:50,780 And by the way, there are also other units in CSS. 115 115 00:05:50,780 --> 00:05:52,800 We don't always have to use pixels. 116 116 00:05:52,800 --> 00:05:57,480 We can use percentages or other more weird units like em 117 117 00:05:57,480 --> 00:06:01,150 or rem or points or anything like that. 118 118 00:06:01,150 --> 00:06:02,620 But to start out it's easier 119 119 00:06:02,620 --> 00:06:05,770 to just understand with pixels, okay. 120 120 00:06:05,770 --> 00:06:07,090 So give it a save. 121 121 00:06:07,090 --> 00:06:10,460 And so now you see that it added this nice space 122 122 00:06:10,460 --> 00:06:13,000 between the sides, okay. 123 123 00:06:13,000 --> 00:06:17,920 It's maybe a bit too much, put it back to a 50, okay. 124 124 00:06:17,920 --> 00:06:20,000 And now let's move on and add some space 125 125 00:06:20,000 --> 00:06:23,400 between this heading here and this paragraph. 126 126 00:06:23,400 --> 00:06:25,570 And to do that, we can simply add some margin 127 127 00:06:25,570 --> 00:06:29,630 to the bottom of this h1, okay. 128 128 00:06:29,630 --> 00:06:33,806 So we can specify paddings and margins like this. 129 129 00:06:33,806 --> 00:06:35,680 Or as we did here margin and padding 130 130 00:06:35,680 --> 00:06:37,240 and that will then apply them 131 131 00:06:37,240 --> 00:06:39,840 to the four sides of the element, 132 132 00:06:39,840 --> 00:06:42,090 but we can also do that selectively 133 133 00:06:42,090 --> 00:06:44,260 to only the left side or the right side 134 134 00:06:44,260 --> 00:06:47,800 or the top side or the bottom side. 135 135 00:06:47,800 --> 00:06:51,840 And so let's now add margin to the bottom of each one. 136 136 00:06:51,840 --> 00:06:56,840 So margin and then bottom, and I'd say 25 pixels, 137 137 00:06:57,150 --> 00:06:58,120 give it a save. 138 138 00:06:58,120 --> 00:07:00,930 And here we have, okay. 139 139 00:07:00,930 --> 00:07:02,690 Now, if we did padding here, 140 140 00:07:02,690 --> 00:07:05,053 it would actually look the exact same way. 141 141 00:07:06,110 --> 00:07:08,000 Let me show that to you. 142 142 00:07:08,000 --> 00:07:10,040 And indeed it works the same way, 143 143 00:07:10,040 --> 00:07:13,860 but now this space is inside of the h1. 144 144 00:07:13,860 --> 00:07:16,623 Let me show that to you using the inspector. 145 145 00:07:20,950 --> 00:07:24,343 So this is the h1 and two green part is the padding. 146 146 00:07:25,349 --> 00:07:27,360 You can also see that here. 147 147 00:07:27,360 --> 00:07:29,390 So this is the content, 148 148 00:07:29,390 --> 00:07:32,100 and then we have 25 of padding 149 149 00:07:32,100 --> 00:07:33,850 and here you also have to border 150 150 00:07:33,850 --> 00:07:36,480 and then the margin outside of the border. 151 151 00:07:36,480 --> 00:07:38,200 So outside of the element. 152 152 00:07:38,200 --> 00:07:39,600 And essentially this is what we learned 153 153 00:07:39,600 --> 00:07:42,600 at the beginning of this video, right? 154 154 00:07:42,600 --> 00:07:45,030 But it makes more sense for this space actually 155 155 00:07:45,030 --> 00:07:47,400 to be outside of the element. 156 156 00:07:47,400 --> 00:07:51,380 And so a margin in this case makes more sense. 157 157 00:07:51,380 --> 00:07:53,040 And so you see that now this 25 158 158 00:07:53,040 --> 00:07:56,430 is here painted in red, right? 159 159 00:07:56,430 --> 00:08:00,040 And so it's now outside of the element, okay. 160 160 00:08:00,040 --> 00:08:03,310 So this elements tab here in the developer tools 161 161 00:08:03,310 --> 00:08:07,530 is pretty useful to inspect the styles 162 162 00:08:07,530 --> 00:08:10,710 of all the elements and also to check out the markup. 163 163 00:08:10,710 --> 00:08:12,620 So the HTML in here. 164 164 00:08:12,620 --> 00:08:17,390 We can turn on and off these different properties. 165 165 00:08:17,390 --> 00:08:21,490 And in general, this is really helpful to work 166 166 00:08:21,490 --> 00:08:24,003 with HTML and CSS in the browser. 167 167 00:08:25,530 --> 00:08:28,280 Next up, we should probably also add some spacing 168 168 00:08:28,280 --> 00:08:30,163 after the h2 elements. 169 169 00:08:35,080 --> 00:08:39,553 So let's say margin bottom 20 pixel, okay. 170 170 00:08:40,530 --> 00:08:41,910 And we can also do another thing 171 171 00:08:41,910 --> 00:08:43,440 that I didn't show you before, 172 172 00:08:43,440 --> 00:08:46,440 which is to set the text-align property. 173 173 00:08:46,440 --> 00:08:48,140 So text-align, 174 174 00:08:48,140 --> 00:08:51,490 and now we can set it to a left right or center. 175 175 00:08:51,490 --> 00:08:53,193 And I wanna set it to center here. 176 176 00:08:54,367 --> 00:08:58,650 And then as you expect the text will get centered here. 177 177 00:08:58,650 --> 00:09:01,993 So basically centered inside this whole box. 178 178 00:09:03,280 --> 00:09:05,200 So the h2 box, and again, 179 179 00:09:05,200 --> 00:09:08,900 we can see the box using the inspector, okay. 180 180 00:09:08,900 --> 00:09:11,950 So the box itself is this whole blue space 181 181 00:09:11,950 --> 00:09:13,610 that we can see up there. 182 182 00:09:13,610 --> 00:09:16,550 And so the text of the h2 is then centered 183 183 00:09:16,550 --> 00:09:19,250 inside the h2 box, okay. 184 184 00:09:19,250 --> 00:09:21,480 And remember that this is a block element. 185 185 00:09:21,480 --> 00:09:24,490 And so that's why it creates a box basically. 186 186 00:09:24,490 --> 00:09:26,300 So block elements are the elements 187 187 00:09:26,300 --> 00:09:29,130 that create their own line and inline elements. 188 188 00:09:29,130 --> 00:09:31,303 Remember, it's like the link here. 189 189 00:09:32,240 --> 00:09:34,230 So if we inspect this one, 190 190 00:09:34,230 --> 00:09:37,110 you see that the box only occupies the space 191 191 00:09:37,110 --> 00:09:39,320 of the text itself, right? 192 192 00:09:39,320 --> 00:09:41,903 It doesn't create a whole box on a whole line. 193 193 00:09:42,940 --> 00:09:45,090 So that's the big difference between inline 194 194 00:09:45,090 --> 00:09:47,463 and block elements now, right? 195 195 00:09:49,090 --> 00:09:50,390 Okay. 196 196 00:09:50,390 --> 00:09:54,060 So this form here, of course is also a block element. 197 197 00:09:54,060 --> 00:09:57,590 And so let's make it a little bit more narrow. 198 198 00:09:57,590 --> 00:10:00,600 And so, as we learned, by the beginning of the lecture, 199 199 00:10:00,600 --> 00:10:03,003 we can do that using the width property. 200 200 00:10:04,670 --> 00:10:07,790 So let's set it to 400 pixels 201 201 00:10:08,700 --> 00:10:12,840 and that looks a lot nicer, okay. 202 202 00:10:12,840 --> 00:10:14,610 Now we also want to create some space 203 203 00:10:14,610 --> 00:10:17,310 between all this content and the border. 204 204 00:10:17,310 --> 00:10:19,610 And so how do we do that? 205 205 00:10:19,610 --> 00:10:21,200 Well, that's right. 206 206 00:10:21,200 --> 00:10:24,590 We have to use padding because padding creates space 207 207 00:10:24,590 --> 00:10:29,590 inside of the box and yes, indeed it does. 208 208 00:10:30,870 --> 00:10:33,720 And now let's also create some space between the image 209 209 00:10:33,720 --> 00:10:36,640 and this form here, okay. 210 210 00:10:36,640 --> 00:10:39,203 And so here we can add some margin to the top. 211 211 00:10:41,280 --> 00:10:46,280 So margin top, and let's say, well, 50 pixels. 212 212 00:10:47,870 --> 00:10:51,550 Might be a bit too much now let's just edit to a 30, 213 213 00:10:51,550 --> 00:10:53,300 so we can see it. 214 214 00:10:53,300 --> 00:10:55,770 And now let me actually just show you what happens 215 215 00:10:55,770 --> 00:11:00,310 if we take out this property here, okay. 216 216 00:11:00,310 --> 00:11:01,740 So we comment it out, 217 217 00:11:01,740 --> 00:11:04,630 just like we comment out code in JavaScript. 218 218 00:11:04,630 --> 00:11:06,910 So let's hit Comment slash. 219 219 00:11:06,910 --> 00:11:11,760 And so you see in CSS, the comments are like this. 220 220 00:11:11,760 --> 00:11:16,460 So slash star star slash and not slash slash, okay. 221 221 00:11:16,460 --> 00:11:17,390 And so as I save now, 222 222 00:11:17,390 --> 00:11:19,310 take a close look here at this form 223 223 00:11:20,710 --> 00:11:23,623 and you see that it now get wider. 224 224 00:11:24,970 --> 00:11:26,373 So let's inspected here. 225 225 00:11:29,270 --> 00:11:31,607 So the form, we need to select the form here 226 226 00:11:31,607 --> 00:11:32,943 and then scroll down. 227 227 00:11:34,020 --> 00:11:37,090 And so now you see what I explained earlier. 228 228 00:11:37,090 --> 00:11:39,830 So we define the width as 400, 229 229 00:11:39,830 --> 00:11:43,580 but then we have a padding of 25 here, right? 230 230 00:11:43,580 --> 00:11:45,820 And so that gets added 231 231 00:11:45,820 --> 00:11:48,170 to the total width of the element. 232 232 00:11:48,170 --> 00:11:51,800 So we have 400 plus 25 plus here 25 here, 233 233 00:11:51,800 --> 00:11:54,890 and then also five pixels border on each side. 234 234 00:11:54,890 --> 00:11:56,897 So five here and five here. 235 235 00:11:56,897 --> 00:11:59,830 And so that makes it then that the whole element, 236 236 00:11:59,830 --> 00:12:03,223 adds up to 460 pixels, I would guess. 237 237 00:12:04,230 --> 00:12:06,390 So you can see that here on the screen. 238 238 00:12:06,390 --> 00:12:09,600 So up here that it says that the width 239 239 00:12:09,600 --> 00:12:12,120 is actually 460, okay. 240 240 00:12:12,120 --> 00:12:14,740 And so again, that's because it adds up all the borders 241 241 00:12:14,740 --> 00:12:16,793 and the paddings to the width. 242 242 00:12:17,710 --> 00:12:20,700 And that's what happens without box sizing to border box. 243 243 00:12:20,700 --> 00:12:25,700 But as I put it back on, so again, comment slash. 244 244 00:12:25,870 --> 00:12:27,050 If I save it now, 245 245 00:12:27,050 --> 00:12:29,700 now we are back to what we expected. 246 246 00:12:29,700 --> 00:12:33,360 So 400, so we set it here to 400. 247 247 00:12:33,360 --> 00:12:35,903 And so we wanted it to be exactly 400 248 248 00:12:35,903 --> 00:12:39,090 and not for all the other stuff to be added. 249 249 00:12:39,090 --> 00:12:41,533 And so now, as you see here, it says 400. 250 250 00:12:42,410 --> 00:12:45,640 And so automatically CSS then changed the width 251 251 00:12:45,640 --> 00:12:48,830 of the content here to just 340 252 252 00:12:48,830 --> 00:12:52,290 to accommodate the rest of the width. 253 253 00:12:52,290 --> 00:12:54,310 Basically that's needed for the padding 254 254 00:12:54,310 --> 00:12:57,410 and the border, okay. 255 255 00:12:57,410 --> 00:12:59,793 So I said, I wouldn't go into a lot of detail, 256 256 00:12:59,793 --> 00:13:00,626 (instructor laughs) 257 257 00:13:00,626 --> 00:13:02,133 but I guess I just did anyway. 258 258 00:13:04,460 --> 00:13:07,200 But anyway, let's now also add some margin 259 259 00:13:07,200 --> 00:13:09,573 to these paragraphs here. 260 260 00:13:11,250 --> 00:13:15,070 So I used the first class to select 261 261 00:13:15,070 --> 00:13:17,860 this paragraph and this paragraph, 262 262 00:13:17,860 --> 00:13:20,450 but now we want to select all three paragraphs. 263 263 00:13:20,450 --> 00:13:23,780 And so for that, we can simply use the P selector 264 264 00:13:23,780 --> 00:13:26,220 and that will then select all of them, 265 265 00:13:26,220 --> 00:13:30,800 regardless of any class names, okay. 266 266 00:13:30,800 --> 00:13:35,750 So margin bottom, and let's set it to 10 pixels or 20, 267 267 00:13:35,750 --> 00:13:37,653 so we can see it a little bit better. 268 268 00:13:38,620 --> 00:13:40,340 And so you'll see that, in fact, 269 269 00:13:40,340 --> 00:13:41,910 the margin now got applied 270 270 00:13:41,910 --> 00:13:45,393 to all three of these paragraphs, just as we wanted. 271 271 00:13:46,380 --> 00:13:50,063 Next up, we can also select the input and the button. 272 272 00:13:51,350 --> 00:13:53,730 So here we have to input and button elements 273 273 00:13:53,730 --> 00:13:56,850 and we can also style them a little bit too. 274 274 00:13:56,850 --> 00:13:59,653 So let me actually show you another cool thing. 275 275 00:14:00,700 --> 00:14:02,393 So we have the input selector, 276 276 00:14:03,280 --> 00:14:06,210 but now we want these rules that we're gonna write here 277 277 00:14:06,210 --> 00:14:09,020 to apply to both the input and the button. 278 278 00:14:09,020 --> 00:14:13,310 And so we can write input, comma, button. 279 279 00:14:13,310 --> 00:14:15,160 And so this rule here will then apply 280 280 00:14:15,160 --> 00:14:17,493 to both of these selectors. 281 281 00:14:19,150 --> 00:14:22,070 So let's add a padding of 10 pixels 282 282 00:14:22,070 --> 00:14:24,190 and increase the font size. 283 283 00:14:24,190 --> 00:14:26,690 Let's say two 16 pixels. 284 284 00:14:26,690 --> 00:14:28,173 So look at them now. 285 285 00:14:29,460 --> 00:14:31,080 And indeed they got bigger 286 286 00:14:31,080 --> 00:14:33,803 and they got this nice padding in there now. 287 287 00:14:34,780 --> 00:14:38,320 And once more, you can see it that these two elements, 288 288 00:14:38,320 --> 00:14:41,450 so input and button are inline elements. 289 289 00:14:41,450 --> 00:14:43,070 So this one and this one, 290 290 00:14:43,070 --> 00:14:46,900 they both don't create a box that occupies the whole line. 291 291 00:14:46,900 --> 00:14:49,010 So again, just like the link 292 292 00:14:49,010 --> 00:14:52,040 and I can actually show that to you 293 293 00:14:52,040 --> 00:14:55,340 by styling just this link. 294 294 00:14:55,340 --> 00:15:00,083 So let's say, a background color, 295 295 00:15:01,970 --> 00:15:04,063 and set it to yellow. 296 296 00:15:04,960 --> 00:15:08,193 And then here you see, and at least I hope you can see it. 297 297 00:15:09,539 --> 00:15:10,950 Or let's actually set it to yellow green, 298 298 00:15:10,950 --> 00:15:12,163 I think that's another. 299 299 00:15:13,480 --> 00:15:14,680 Yes. 300 300 00:15:14,680 --> 00:15:16,210 And so now you can see it. 301 301 00:15:16,210 --> 00:15:19,860 And so the box now is only this element itself, 302 302 00:15:19,860 --> 00:15:22,703 but not the whole width of the screen, okay. 303 303 00:15:24,040 --> 00:15:26,780 So actually, yeah, let's leave it like this. 304 304 00:15:26,780 --> 00:15:30,250 So you can have this as a reference and now to finish, 305 305 00:15:30,250 --> 00:15:32,210 I just want to show you one final, 306 306 00:15:32,210 --> 00:15:34,830 but very important selector. 307 307 00:15:34,830 --> 00:15:37,420 And this one is actually pretty important for you to know, 308 308 00:15:37,420 --> 00:15:40,210 because we're also gonna use this all the time 309 309 00:15:40,210 --> 00:15:42,430 in JavaScript to select elements 310 310 00:15:42,430 --> 00:15:44,460 when we do DOM manipulation, 311 311 00:15:44,460 --> 00:15:46,490 because in fact, all the selectors, 312 312 00:15:46,490 --> 00:15:48,920 the way they work in CSS, for example, 313 313 00:15:48,920 --> 00:15:52,250 the dot first or here, the ID selector, 314 314 00:15:52,250 --> 00:15:53,550 they're gonna work just the same 315 315 00:15:53,550 --> 00:15:55,820 to select elements in JavaScript. 316 316 00:15:55,820 --> 00:15:58,830 And so that's one of the reasons why it's very important 317 317 00:15:58,830 --> 00:16:00,913 to learn how these selectors work. 318 318 00:16:02,100 --> 00:16:04,500 So anyway, the selector that I wanted to show you 319 319 00:16:04,500 --> 00:16:06,470 is the child selector. 320 320 00:16:06,470 --> 00:16:08,770 So the example I have here 321 321 00:16:08,770 --> 00:16:12,120 is that we have these two h2 headings. 322 322 00:16:12,120 --> 00:16:14,820 So this one and this one. 323 323 00:16:14,820 --> 00:16:18,310 But let's say I only wanted to select the h2 elements 324 324 00:16:18,310 --> 00:16:22,960 that are inside of this form here, okay. 325 325 00:16:22,960 --> 00:16:25,790 So of course I could go ahead and add an ID 326 326 00:16:25,790 --> 00:16:27,363 or a class to this one. 327 327 00:16:28,290 --> 00:16:31,860 So here I could add an ID or a class, 328 328 00:16:31,860 --> 00:16:36,050 but I could also tell CSS to simply select this h1 329 329 00:16:36,050 --> 00:16:40,133 that is inside of the element with the ID of your name. 330 330 00:16:41,160 --> 00:16:42,723 And so this is how it works. 331 331 00:16:43,560 --> 00:16:46,043 So again, we use the ID, your name, 332 332 00:16:47,380 --> 00:16:51,053 so in just what we have here, and then a simple space, 333 333 00:16:51,950 --> 00:16:54,090 and then another selector. 334 334 00:16:54,090 --> 00:16:57,210 So in this case, that's simply the h2 selector, 335 335 00:16:57,210 --> 00:16:59,540 but it could be any other selector. 336 336 00:16:59,540 --> 00:17:01,880 So this here could also be a class selector 337 337 00:17:01,880 --> 00:17:04,720 or another ID selector, alright? 338 338 00:17:04,720 --> 00:17:07,910 But in this case, I just want to select the h2. 339 339 00:17:07,910 --> 00:17:10,250 And so let's change the color of this one 340 340 00:17:10,250 --> 00:17:14,420 and let's change it to, I think there's one called olive 341 341 00:17:15,260 --> 00:17:17,420 or let's use this one, olive drab 342 342 00:17:18,440 --> 00:17:20,840 and yeah, indeed. 343 343 00:17:20,840 --> 00:17:23,830 Now this one is green and this one is not 344 344 00:17:23,830 --> 00:17:26,550 because this one is not inside the element 345 345 00:17:26,550 --> 00:17:29,497 with the ID of your name, right? 346 346 00:17:29,497 --> 00:17:32,580 And so this one here is very useful 347 347 00:17:32,580 --> 00:17:35,770 and we use it all the time in CSS. 348 348 00:17:35,770 --> 00:17:37,640 And so that's why I wanted to show you 349 349 00:17:37,640 --> 00:17:39,390 this one here as well. 350 350 00:17:39,390 --> 00:17:44,390 Finally, just to make this a little bit smaller, 351 351 00:17:44,530 --> 00:17:46,720 let's also change the size of the image 352 352 00:17:46,720 --> 00:17:49,420 because that's also something very important. 353 353 00:17:49,420 --> 00:17:52,910 So if we do not specify any sizes on the image, 354 354 00:17:52,910 --> 00:17:56,780 it will simply be as large as it can, okay. 355 355 00:17:56,780 --> 00:18:00,200 Or as large as the source image really is. 356 356 00:18:00,200 --> 00:18:01,690 But usually we don't want that. 357 357 00:18:01,690 --> 00:18:04,750 So on the image, it's pretty common to always set 358 358 00:18:04,750 --> 00:18:07,610 either a height or a width attribute. 359 359 00:18:07,610 --> 00:18:09,203 So let's do that here. 360 360 00:18:11,356 --> 00:18:15,130 So this one doesn't have, or maybe it does have a class. 361 361 00:18:15,130 --> 00:18:18,630 So, or actually, it has an ID, okay. 362 362 00:18:18,630 --> 00:18:21,680 So we can of course use the image selector, 363 363 00:18:21,680 --> 00:18:24,980 like I was just writing, but we can also use the ID. 364 364 00:18:24,980 --> 00:18:27,490 So the difference is that with the ID, 365 365 00:18:27,490 --> 00:18:28,930 if we add multiple images 366 366 00:18:28,930 --> 00:18:31,240 then we would only select this one. 367 367 00:18:31,240 --> 00:18:33,823 So let's actually copy this one and use this. 368 368 00:18:35,600 --> 00:18:39,380 So ID, and then the name of the ID. 369 369 00:18:39,380 --> 00:18:43,723 And let's set the width here to 200 pixels. 370 370 00:18:44,690 --> 00:18:47,800 So what do you think will happen then to the height? 371 371 00:18:47,800 --> 00:18:52,060 Well, it scaled proportionally, okay. 372 372 00:18:52,060 --> 00:18:53,500 So that's very nice. 373 373 00:18:53,500 --> 00:18:56,760 Let's make it a bit bigger 300 pixels. 374 374 00:18:56,760 --> 00:18:59,090 And so we don't have to worry about the height. 375 375 00:18:59,090 --> 00:19:01,680 We can still set it, but with that, 376 376 00:19:01,680 --> 00:19:04,520 we will then change the aspect ratio. 377 377 00:19:04,520 --> 00:19:07,590 So if we set the height to also 300 pixels, 378 378 00:19:07,590 --> 00:19:09,320 it would then become a square (laughs). 379 379 00:19:09,320 --> 00:19:10,333 Yeah, that's right. 380 380 00:19:11,610 --> 00:19:12,550 Okay? 381 381 00:19:12,550 --> 00:19:15,200 And if we now turned off the width, 382 382 00:19:15,200 --> 00:19:16,820 so let's comment it out 383 383 00:19:16,820 --> 00:19:19,880 then it will again scale proportionately. 384 384 00:19:19,880 --> 00:19:21,610 So the height is now 300 385 385 00:19:21,610 --> 00:19:24,273 and then the width is calculated automatically. 386 386 00:19:25,470 --> 00:19:26,620 Let's set it back. 387 387 00:19:26,620 --> 00:19:30,563 And usually it's easier to simply specify the width, okay. 388 388 00:19:32,520 --> 00:19:33,440 That looks nice. 389 389 00:19:33,440 --> 00:19:36,640 Let's change the h1 a little bit to 35 390 390 00:19:38,540 --> 00:19:40,473 to make it fit all in one line. 391 391 00:19:43,440 --> 00:19:47,490 And yeah, we have a nice little page here. 392 392 00:19:47,490 --> 00:19:49,260 It's not the best looking, 393 393 00:19:49,260 --> 00:19:53,170 but I think it taught you some things about HTML and CSS, 394 394 00:19:53,170 --> 00:19:55,230 at least to the very fundamentals. 395 395 00:19:55,230 --> 00:19:58,210 So of course we only scratched the surface here. 396 396 00:19:58,210 --> 00:20:02,030 So probably this is less than like 5% 397 397 00:20:02,030 --> 00:20:05,830 of everything that there is to learn about CSS. 398 398 00:20:05,830 --> 00:20:08,800 So we didn't really talk about positioning. 399 399 00:20:08,800 --> 00:20:11,850 We didn't talk about flexbox or CSS grid 400 400 00:20:11,850 --> 00:20:14,210 or many other important topics, 401 401 00:20:14,210 --> 00:20:16,250 but it wasn't also really the goal here. 402 402 00:20:16,250 --> 00:20:17,910 I just wanted to get you up to speed 403 403 00:20:17,910 --> 00:20:20,730 with the fundamentals of HTML and CSS 404 404 00:20:20,730 --> 00:20:23,510 so that you can understand a little bit of the code 405 405 00:20:23,510 --> 00:20:25,707 of projects that are included here in the course, 406 406 00:20:25,707 --> 00:20:29,370 and also so that you can learn how these selectors work, 407 407 00:20:29,370 --> 00:20:30,720 because as I mentioned, 408 408 00:20:30,720 --> 00:20:35,070 we will use them in JavaScript to select elements as well. 409 409 00:20:35,070 --> 00:20:37,710 So I hope you liked this small crash course. 410 410 00:20:37,710 --> 00:20:41,750 And I also hope I got you interested in HTML and CSS 411 411 00:20:41,750 --> 00:20:43,780 so that you now go ahead and research 412 412 00:20:43,780 --> 00:20:46,160 maybe a little bit more about it. 413 413 00:20:46,160 --> 00:20:48,050 Anyway, and with that being said, 414 414 00:20:48,050 --> 00:20:50,820 let's now go straight into DOM manipulation 415 415 00:20:50,820 --> 00:20:52,240 in the next section, 416 416 00:20:52,240 --> 00:20:55,253 because that's really exciting and really cool. 36062

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.