Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,310 --> 00:00:05,490
Let's now learn about the very basics of CSS,
2
00:00:05,490 --> 00:00:08,223
and make our webpage look a little bit nicer.
3
00:00:10,020 --> 00:00:12,080
So as you probably already know,
4
00:00:12,080 --> 00:00:14,890
we use CSS to style elements,
5
00:00:14,890 --> 00:00:18,270
and to create a layout for the overall page.
6
00:00:18,270 --> 00:00:20,500
And we can write CSS right here
7
00:00:20,500 --> 00:00:24,510
in the HTML file using the style element.
8
00:00:24,510 --> 00:00:28,400
Okay, and that style element is not for visible content,
9
00:00:28,400 --> 00:00:29,830
here on the page,
10
00:00:29,830 --> 00:00:33,860
and so it would go right here into the head.
11
00:00:33,860 --> 00:00:36,940
Okay, because remember the head is basically,
12
00:00:36,940 --> 00:00:39,650
like for settings of the page.
13
00:00:39,650 --> 00:00:43,253
And the style definitely counts as a setting.
14
00:00:45,640 --> 00:00:46,763
So style,
15
00:00:48,000 --> 00:00:49,520
and now to style elements,
16
00:00:49,520 --> 00:00:51,580
we need to first select them.
17
00:00:51,580 --> 00:00:54,540
And there are different types of selectors in CSS.
18
00:00:54,540 --> 00:00:56,750
And we're gonna learn about a couple of them,
19
00:00:56,750 --> 00:00:58,540
in this video and the next one.
20
00:00:58,540 --> 00:00:59,870
But the most basic one,
21
00:00:59,870 --> 00:01:02,020
is the element selector.
22
00:01:02,020 --> 00:01:03,340
And with the element selector,
23
00:01:03,340 --> 00:01:06,760
we can simply select all elements of a certain type.
24
00:01:06,760 --> 00:01:08,573
For example, the body.
25
00:01:10,110 --> 00:01:11,350
So we write body,
26
00:01:11,350 --> 00:01:13,330
and then curly braces,
27
00:01:13,330 --> 00:01:17,390
and then in here we can write or CSS declarations.
28
00:01:17,390 --> 00:01:20,800
So each CSS declaration has a property name,
29
00:01:20,800 --> 00:01:22,170
and then a value.
30
00:01:22,170 --> 00:01:25,270
For example, we can style the background color.
31
00:01:25,270 --> 00:01:27,370
So background color,
32
00:01:27,370 --> 00:01:29,940
and let me actually autocomplete it here.
33
00:01:29,940 --> 00:01:32,200
So background color is the property,
34
00:01:32,200 --> 00:01:34,343
and then let's say, green.
35
00:01:35,180 --> 00:01:38,450
So in CSS there are a couple of predefined color names,
36
00:01:38,450 --> 00:01:39,700
and we can then use this.
37
00:01:41,923 --> 00:01:44,320
Give it a safe, and bam.
38
00:01:44,320 --> 00:01:46,780
Our page is green now.
39
00:01:46,780 --> 00:01:48,353
So that's CSS for you.
40
00:01:49,500 --> 00:01:52,053
So, we have the body element selector,
41
00:01:52,940 --> 00:01:55,670
then all of this here is our declaration block,
42
00:01:55,670 --> 00:01:58,030
and this here is a simple declaration,
43
00:01:58,030 --> 00:02:01,670
where background color is the property in green,
44
00:02:01,670 --> 00:02:04,010
is the specified value.
45
00:02:04,010 --> 00:02:08,380
Now usually we write or CSS in an external CSS file.
46
00:02:08,380 --> 00:02:10,440
So just like we write JavaScript,
47
00:02:10,440 --> 00:02:12,150
in an external script,
48
00:02:12,150 --> 00:02:15,620
we do the same basically with CSS.
49
00:02:15,620 --> 00:02:18,423
So let's create that separate CSS file.
50
00:02:19,430 --> 00:02:22,690
So I'm bringing back the sidebar here,
51
00:02:22,690 --> 00:02:25,490
using Command or Control B,
52
00:02:25,490 --> 00:02:29,857
and then, let's call this one the style dot CSS.
53
00:02:32,070 --> 00:02:33,323
Close the sidebar,
54
00:02:34,190 --> 00:02:36,690
and now we need to connect these two.
55
00:02:36,690 --> 00:02:39,230
So again, just like we had to connect
56
00:02:39,230 --> 00:02:41,280
the JavaScript file to the HTML,
57
00:02:41,280 --> 00:02:43,430
we also have to select the CSS.
58
00:02:43,430 --> 00:02:45,603
But it works a bit differently.
59
00:02:47,700 --> 00:02:48,693
So let's get,
60
00:02:49,810 --> 00:02:52,310
we'll actually let's copy this here,
61
00:02:52,310 --> 00:02:54,713
or cut it here.
62
00:02:55,690 --> 00:02:58,830
So when I save it now, of course it's gone,
63
00:02:58,830 --> 00:02:59,740
Okay.
64
00:02:59,740 --> 00:03:02,420
And that's because the style file,
65
00:03:02,420 --> 00:03:05,053
is not yet linked to the HTML.
66
00:03:05,890 --> 00:03:10,090
So, we link it by using the link element.
67
00:03:10,090 --> 00:03:11,783
So that's not very creative,
68
00:03:12,920 --> 00:03:15,390
so here we use href again,
69
00:03:15,390 --> 00:03:18,140
which remember is the same attribute,
70
00:03:18,140 --> 00:03:19,763
as in the anchor element here.
71
00:03:20,760 --> 00:03:24,780
Okay, but don't confuse anchor with link.
72
00:03:24,780 --> 00:03:27,220
So link does not create a clickable link,
73
00:03:27,220 --> 00:03:28,720
so like this,
74
00:03:28,720 --> 00:03:31,690
instead we use it only to basically
75
00:03:31,690 --> 00:03:34,203
link CSS files to HTML files.
76
00:03:35,110 --> 00:03:37,840
So here, we say style dot CSS,
77
00:03:37,840 --> 00:03:40,930
because that's the name that we gave to the file.
78
00:03:40,930 --> 00:03:41,763
Okay.
79
00:03:41,763 --> 00:03:43,610
And then we also need to specify
80
00:03:43,610 --> 00:03:46,793
the rel attribute and set it to Stylesheet.
81
00:03:48,800 --> 00:03:51,610
Give it a safe and here we go.
82
00:03:51,610 --> 00:03:53,950
The green color is back.
83
00:03:53,950 --> 00:03:54,783
Okay.
84
00:03:54,783 --> 00:03:57,100
And so now we can write all our styles,
85
00:03:57,100 --> 00:03:59,600
in the separate file here,
86
00:03:59,600 --> 00:04:03,253
and so we separated the presentation from the content.
87
00:04:06,150 --> 00:04:08,513
So let's actually make this like yellow,
88
00:04:10,110 --> 00:04:14,890
and we should probably give it a little bit a nicer color,
89
00:04:14,890 --> 00:04:17,760
and then VS code when you hover a color like this,
90
00:04:17,760 --> 00:04:21,180
you see this pop up which then allows you to select a color.
91
00:04:21,180 --> 00:04:22,330
And this is very handy.
92
00:04:23,430 --> 00:04:25,603
So let's do this,
93
00:04:25,603 --> 00:04:29,493
and then maybe just very subtle color like this.
94
00:04:30,380 --> 00:04:32,773
All right, this looks a lot better already.
95
00:04:33,670 --> 00:04:38,670
Okay, so let's now explore some more CSS properties.
96
00:04:39,140 --> 00:04:42,083
For example, we can set the font family.
97
00:04:42,940 --> 00:04:44,510
And here we can start by setting it
98
00:04:44,510 --> 00:04:47,910
to a font that you probably have on your computer,
99
00:04:47,910 --> 00:04:50,620
and so Arial is probably one that you have,
100
00:04:50,620 --> 00:04:52,900
now in practice we use web fonts,
101
00:04:52,900 --> 00:04:56,360
for example from a service like Google fonts,
102
00:04:56,360 --> 00:04:57,193
okay?
103
00:04:57,193 --> 00:04:59,200
But in this case it doesn't really matter.
104
00:04:59,200 --> 00:05:01,180
So let's just give it a save,
105
00:05:01,180 --> 00:05:04,750
and so, saw this font here changing.
106
00:05:04,750 --> 00:05:07,100
And on your system, that should work too,
107
00:05:07,100 --> 00:05:08,751
and if you don't have Arial,
108
00:05:08,751 --> 00:05:13,240
then just use some other fonts that you have available.
109
00:05:13,240 --> 00:05:14,890
But now you might ask,
110
00:05:14,890 --> 00:05:18,740
we set the font family on the body, right?
111
00:05:18,740 --> 00:05:22,310
So why did all these elements like this h1 here
112
00:05:22,310 --> 00:05:24,200
and this P element,
113
00:05:24,200 --> 00:05:26,080
and this h2 element,
114
00:05:26,080 --> 00:05:29,840
why did all of them get the Aria font as well?
115
00:05:29,840 --> 00:05:32,910
Well, that's because the font family property
116
00:05:32,910 --> 00:05:35,331
is a property that gets inherited.
117
00:05:35,331 --> 00:05:38,603
Okay. So all the Child Elements of the body element,
118
00:05:38,603 --> 00:05:43,230
will automatically get this font family assigned to them.
119
00:05:43,230 --> 00:05:44,840
And that makes it very handy,
120
00:05:44,840 --> 00:05:46,730
So that we don't have to go ahead,
121
00:05:46,730 --> 00:05:50,380
and set the font families separately on all these elements.
122
00:05:50,380 --> 00:05:52,330
So just setting this on the body,
123
00:05:52,330 --> 00:05:55,290
will then set it on all the Child Elements.
124
00:05:55,290 --> 00:05:58,460
Now, most properties to actually not inherit.
125
00:05:58,460 --> 00:06:00,030
But generally, all the properties
126
00:06:00,030 --> 00:06:03,130
that are related to funds will inherit.
127
00:06:03,130 --> 00:06:08,130
So let's check out another one, font size,
128
00:06:08,830 --> 00:06:10,603
and let's set it to 20 pixels.
129
00:06:13,180 --> 00:06:14,240
Give it a save,
130
00:06:14,240 --> 00:06:17,210
and you'll see that everything got a little bit bigger now.
131
00:06:17,210 --> 00:06:19,440
However, not all the elements
132
00:06:19,440 --> 00:06:21,970
have a font size of 20 pixels now.
133
00:06:21,970 --> 00:06:24,940
And that's because the elements like this h1,
134
00:06:24,940 --> 00:06:28,300
and this h2 have predefined font sizes
135
00:06:28,300 --> 00:06:31,210
that automatically are applied from the browser,
136
00:06:31,210 --> 00:06:33,900
if we do not specify them on our own.
137
00:06:33,900 --> 00:06:34,733
Okay.
138
00:06:34,733 --> 00:06:36,110
But of course we can overwrite them
139
00:06:36,110 --> 00:06:38,180
with our own selectors.
140
00:06:38,180 --> 00:06:40,260
So let's say h1,
141
00:06:40,260 --> 00:06:42,760
and so this is another element selector,
142
00:06:42,760 --> 00:06:46,053
and in this case of course it selects the h1 element.
143
00:06:47,790 --> 00:06:50,800
So let's say font size 50 pixels.
144
00:06:50,800 --> 00:06:53,123
And so take a look at this now,
145
00:06:54,110 --> 00:06:56,214
and well that's huge.
146
00:06:56,214 --> 00:06:59,253
Let's make it a little bit smaller maybe 40,
147
00:07:00,130 --> 00:07:02,200
now that looks about right.
148
00:07:02,200 --> 00:07:03,033
All right.
149
00:07:03,033 --> 00:07:04,547
And now let's actually use the class names
150
00:07:04,547 --> 00:07:07,650
and DIDs that we set in the previous lecture
151
00:07:07,650 --> 00:07:11,750
to now select elements based on these classes.
152
00:07:11,750 --> 00:07:15,410
So, remember that here we set this paragraph
153
00:07:15,410 --> 00:07:19,100
to first and this one to second.
154
00:07:19,100 --> 00:07:21,830
So we basically named them like this.
155
00:07:21,830 --> 00:07:23,790
And in fact, let's go ahead,
156
00:07:23,790 --> 00:07:27,303
and add another class here to this other paragraph.
157
00:07:28,370 --> 00:07:33,370
So class, and I will call this one first two.
158
00:07:34,000 --> 00:07:34,833
Okay.
159
00:07:34,833 --> 00:07:37,660
So remember, IDs have to be unique,
160
00:07:37,660 --> 00:07:39,320
so we can only use them once.
161
00:07:39,320 --> 00:07:41,820
But classes can be used multiple times.
162
00:07:41,820 --> 00:07:43,850
And so that's what we did here.
163
00:07:43,850 --> 00:07:45,280
And so now I can go ahead
164
00:07:45,280 --> 00:07:46,920
and select all the elements,
165
00:07:46,920 --> 00:07:48,700
which have the first class,
166
00:07:48,700 --> 00:07:51,360
so this paragraph and this paragraph,
167
00:07:51,360 --> 00:07:53,410
and then style them however I want.
168
00:07:53,410 --> 00:07:56,200
And this will then only affect these two paragraphs,
169
00:07:56,200 --> 00:07:57,563
but not this one.
170
00:07:58,810 --> 00:08:01,820
Okay, because this one has the second class.
171
00:08:01,820 --> 00:08:03,170
So let me show that to you.
172
00:08:04,210 --> 00:08:07,770
And so the class selector is using the dot.
173
00:08:07,770 --> 00:08:10,083
So dot first.
174
00:08:11,380 --> 00:08:14,180
Okay, and so this is our selector.
175
00:08:14,180 --> 00:08:15,900
Dot is for the class.
176
00:08:15,900 --> 00:08:18,540
And then first is the class name.
177
00:08:18,540 --> 00:08:20,850
And so we set the text color,
178
00:08:20,850 --> 00:08:22,940
using the color property.
179
00:08:22,940 --> 00:08:24,900
And let's set it to red.
180
00:08:24,900 --> 00:08:26,160
Give it a safe,
181
00:08:26,160 --> 00:08:28,770
and what do you think will happen now?
182
00:08:28,770 --> 00:08:30,260
That's right.
183
00:08:30,260 --> 00:08:32,210
This paragraph and this one,
184
00:08:32,210 --> 00:08:33,520
which are the two paragraphs,
185
00:08:33,520 --> 00:08:37,190
which have the first class are now red.
186
00:08:37,190 --> 00:08:40,360
But this other paragraph, is of course not read,
187
00:08:40,360 --> 00:08:42,510
because we didn't select it here.
188
00:08:42,510 --> 00:08:43,343
Okay.
189
00:08:43,343 --> 00:08:46,283
And so this CSS rule here does not apply to it.
190
00:08:48,950 --> 00:08:51,603
Finally, that's also format or form.
191
00:08:52,800 --> 00:08:56,800
So, let's check that out,
192
00:08:56,800 --> 00:09:01,170
and so here we have this your name ID, right?
193
00:09:01,170 --> 00:09:04,990
So we already know how to select based on the class name,
194
00:09:04,990 --> 00:09:08,533
and so let's now learn how to select based on ID.
195
00:09:10,130 --> 00:09:12,450
And it's very similar but instead of the dot,
196
00:09:12,450 --> 00:09:14,040
we use the hash.
197
00:09:14,040 --> 00:09:17,040
So hash, your name,
198
00:09:17,040 --> 00:09:20,360
I think that was the ID, right?
199
00:09:20,360 --> 00:09:21,803
Yes, your name.
200
00:09:25,410 --> 00:09:27,893
So let's set a different background color here,
201
00:09:31,690 --> 00:09:33,130
and I will again use this trick
202
00:09:33,130 --> 00:09:34,720
where I can now set the color
203
00:09:35,560 --> 00:09:38,280
using this pop up window,
204
00:09:38,280 --> 00:09:39,980
so that's the trick I like to use.
205
00:09:41,570 --> 00:09:44,570
Let's make it similar but a little bit darker.
206
00:09:44,570 --> 00:09:47,180
Yes, that looks nice.
207
00:09:47,180 --> 00:09:49,890
And we will make it even nicer in the next lecture,
208
00:09:49,890 --> 00:09:52,020
after we learned about the box model,
209
00:09:52,020 --> 00:09:53,823
but for now this looks good already.
210
00:09:55,450 --> 00:09:57,000
So another one that we can use here
211
00:09:57,000 --> 00:09:59,230
is the border property,
212
00:09:59,230 --> 00:10:00,830
and the border property,
213
00:10:00,830 --> 00:10:03,940
is so called shorthand property.
214
00:10:03,940 --> 00:10:06,360
Because here we can set multiple values
215
00:10:06,360 --> 00:10:08,230
for just one property.
216
00:10:08,230 --> 00:10:10,950
So for the border we can set the width,
217
00:10:10,950 --> 00:10:13,380
so basically the thickness of the border,
218
00:10:13,380 --> 00:10:15,200
so let's say five pixels,
219
00:10:15,200 --> 00:10:17,803
then we can set the style of the border,
220
00:10:18,860 --> 00:10:20,480
and let's make it solid,
221
00:10:20,480 --> 00:10:23,572
but we could also make it dotted or dashed,
222
00:10:23,572 --> 00:10:26,750
but that would look a little bit like weird,
223
00:10:26,750 --> 00:10:28,490
and then the color.
224
00:10:28,490 --> 00:10:33,030
So until now, we have always used CSS color names,
225
00:10:33,030 --> 00:10:36,090
or this RGB format like this,
226
00:10:36,090 --> 00:10:40,023
But of course CSS also accepts RGB colors.
227
00:10:40,920 --> 00:10:42,460
So for that we use the hash,
228
00:10:42,460 --> 00:10:46,083
and then let's use 444 as this dark gray.
229
00:10:47,230 --> 00:10:49,163
So you see it as dark gray,
230
00:10:50,550 --> 00:10:52,340
but we could of course change it,
231
00:10:52,340 --> 00:10:55,123
again using this pop up.
232
00:10:56,500 --> 00:10:57,333
Okay.
233
00:10:57,333 --> 00:10:59,420
But let's leave it here with the RGB code,
234
00:10:59,420 --> 00:11:01,920
give it a save and here you see,
235
00:11:01,920 --> 00:11:04,540
this nice border around the form.
236
00:11:04,540 --> 00:11:05,570
Okay.
237
00:11:05,570 --> 00:11:09,350
So again, this border is a shorthand property,
238
00:11:09,350 --> 00:11:10,900
because it allows us to specify
239
00:11:10,900 --> 00:11:13,560
multiple values here like this.
240
00:11:13,560 --> 00:11:15,490
You can also notice that this property
241
00:11:15,490 --> 00:11:18,170
is not inherited, right?
242
00:11:18,170 --> 00:11:22,487
So unlike the font family or the font size.
243
00:11:22,487 --> 00:11:24,450
'Cause if it was inherited,
244
00:11:24,450 --> 00:11:26,670
then now all these Child Elements here
245
00:11:26,670 --> 00:11:30,020
would have a five pixel border around them as well.
246
00:11:30,020 --> 00:11:30,980
Right?
247
00:11:30,980 --> 00:11:32,380
So this one and this one,
248
00:11:32,380 --> 00:11:33,790
but they do not.
249
00:11:33,790 --> 00:11:36,550
And while in this case it wouldn't make sense.
250
00:11:36,550 --> 00:11:39,510
And so that's why border is not inherited.
251
00:11:39,510 --> 00:11:42,840
Okay, and this would be enough for one lecture.
252
00:11:42,840 --> 00:11:45,270
In the next one, we will learn about the box model,
253
00:11:45,270 --> 00:11:47,620
so that we can then add some spacing here.
254
00:11:47,620 --> 00:11:50,830
For example some spacing here inside of this box,
255
00:11:50,830 --> 00:11:52,590
to give it some space here,
256
00:11:52,590 --> 00:11:55,270
and also some space between these elements.
257
00:11:55,270 --> 00:11:57,080
So stay tuned for that,
258
00:11:57,080 --> 00:11:58,803
and see you in the next lecture.
18959
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.