All language subtitles for 003 Attributes, Classes and IDs

af Afrikaans
sq Albanian
am Amharic
ar Arabic Download
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
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 00:00:00,990 --> 00:00:04,300 Let's not learn about HTML attributes, 2 00:00:04,300 --> 00:00:06,470 classes and ids. 3 00:00:06,470 --> 00:00:07,430 And then also learn 4 00:00:07,430 --> 00:00:10,543 about a couple more different HTML elements. 5 00:00:11,910 --> 00:00:13,840 So what are attributes? 6 00:00:13,840 --> 00:00:17,680 Well in HTML some elements can have attributes 7 00:00:17,680 --> 00:00:21,200 and these attributes basically describe elements. 8 00:00:21,200 --> 00:00:23,590 So that's for example create a link 9 00:00:23,590 --> 00:00:27,570 and this link will be inside of this paragraph, okay. 10 00:00:27,570 --> 00:00:30,210 So as you already saw we can nest elements 11 00:00:30,210 --> 00:00:35,140 inside one another, for example this h1 is inside the body 12 00:00:35,140 --> 00:00:37,970 and this p element is also inside the body. 13 00:00:37,970 --> 00:00:41,940 So the child elements of the body element okay. 14 00:00:41,940 --> 00:00:45,320 So I forgot to mention that in the last lecture. 15 00:00:45,320 --> 00:00:48,550 Anyway so let's not add this link element 16 00:00:48,550 --> 00:00:50,730 inside of the paragraph. 17 00:00:50,730 --> 00:00:53,760 And for that, we use the anchor element. 18 00:00:53,760 --> 00:00:56,930 So there's an a, and then in here 19 00:00:56,930 --> 00:00:59,890 we put a text that we want to be displayed on the page. 20 00:00:59,890 --> 00:01:03,380 So just like before and the paragraph, for example 21 00:01:03,380 --> 00:01:07,120 so here I want to place a link to my profile on Udemy. 22 00:01:07,120 --> 00:01:10,990 So let's say Jonas on Udemy 23 00:01:10,990 --> 00:01:13,740 but now how do we tell the browser where this link 24 00:01:13,740 --> 00:01:15,500 should actually point to? 25 00:01:15,500 --> 00:01:17,930 And that's where the attributes come in. 26 00:01:17,930 --> 00:01:21,380 So, as I said, we used attributes to describe elements. 27 00:01:21,380 --> 00:01:24,440 And in this case, we described this anchor element 28 00:01:24,440 --> 00:01:26,403 using the href attributes. 29 00:01:27,640 --> 00:01:30,920 And so href stands for hypertext reference. 30 00:01:30,920 --> 00:01:34,543 And so here you put the URL where this link should point to. 31 00:01:35,980 --> 00:01:39,543 So let's actually get my profile page on Udemy. 32 00:01:41,510 --> 00:01:46,510 So Jonas Udemy that's actually a link, 33 00:01:47,160 --> 00:01:51,283 I think yes, so let's copy this and put it here. 34 00:01:52,790 --> 00:01:55,450 Okay, give it a safe. 35 00:01:55,450 --> 00:01:58,310 And now well here we have to reload it. 36 00:01:58,310 --> 00:01:59,550 Sometimes it doesn't work. 37 00:01:59,550 --> 00:02:02,460 Sometimes we have to reload okay, 38 00:02:02,460 --> 00:02:05,730 so when you don't see it changing right away 39 00:02:05,730 --> 00:02:08,603 just reload and then it will work. 40 00:02:09,580 --> 00:02:13,120 So here we have this now blue link. 41 00:02:13,120 --> 00:02:16,750 And so that's the standard format of any HTML link. 42 00:02:16,750 --> 00:02:19,110 And when we now click this indeed, 43 00:02:19,110 --> 00:02:22,720 it goes to my user page here on Udemy. 44 00:02:22,720 --> 00:02:24,380 And of course you can use your own link 45 00:02:24,380 --> 00:02:26,663 or whatever link you want to use. 46 00:02:29,030 --> 00:02:32,320 And then we can go back and we're back on this page. 47 00:02:32,320 --> 00:02:36,880 Okay, so that's what we used this href attribute for. 48 00:02:36,880 --> 00:02:39,590 We described the anchor element by telling it 49 00:02:39,590 --> 00:02:41,680 which URL it should go to, 50 00:02:41,680 --> 00:02:44,020 whenever we click on the link. 51 00:02:44,020 --> 00:02:44,900 Now here on the page, 52 00:02:44,900 --> 00:02:47,860 you can actually see that there's text here. 53 00:02:47,860 --> 00:02:51,130 So this link is right in line with the previous text. 54 00:02:51,130 --> 00:02:53,800 So the text here in this paragraph 55 00:02:53,800 --> 00:02:57,233 that's why we call the anchor element an inline element. 56 00:02:58,260 --> 00:03:01,700 So it flows in line with the rest of the text. 57 00:03:01,700 --> 00:03:03,600 Now on the other hand, for example 58 00:03:03,600 --> 00:03:07,710 this h2 element here is a so-called block element. 59 00:03:07,710 --> 00:03:11,490 Because as we see here, this heading is not in line 60 00:03:11,490 --> 00:03:13,530 with the text of the previous element. 61 00:03:13,530 --> 00:03:14,860 It created a new line 62 00:03:14,860 --> 00:03:19,390 which only contains this content of this heading right? 63 00:03:19,390 --> 00:03:21,640 So all of this year is this huge block. 64 00:03:21,640 --> 00:03:26,540 And so it's a block element not an inline element, okay. 65 00:03:26,540 --> 00:03:30,770 So we can actually include this link here in a sentence. 66 00:03:30,770 --> 00:03:35,460 So let's say you can learn more about it 67 00:03:37,310 --> 00:03:40,243 and then let's say on Udemy. 68 00:03:43,740 --> 00:03:48,240 All right here, we need a space, okay. 69 00:03:48,240 --> 00:03:50,380 And so now this looks like a normal sentence 70 00:03:50,380 --> 00:03:52,820 and then with a link in it, 71 00:03:52,820 --> 00:03:57,370 and we can even put a period after it ,great. 72 00:03:57,370 --> 00:04:00,770 So let's check out another element which needs attributes 73 00:04:00,770 --> 00:04:03,490 which is the image element. 74 00:04:03,490 --> 00:04:08,490 So let's do that after this somehow space here 75 00:04:09,090 --> 00:04:11,630 and for the image we use the img tag 76 00:04:12,920 --> 00:04:15,740 and then this source attribute. 77 00:04:15,740 --> 00:04:18,040 And then in here we can specify any image 78 00:04:18,040 --> 00:04:19,810 from the current working folder 79 00:04:19,810 --> 00:04:21,793 or we can also set an image URL. 80 00:04:22,760 --> 00:04:23,963 So let's do that. 81 00:04:25,270 --> 00:04:27,430 So what I'm doing here is, 82 00:04:27,430 --> 00:04:30,670 since we're talking about HTML and CSS on this page, 83 00:04:30,670 --> 00:04:34,520 I want to copy this image here, okay. 84 00:04:34,520 --> 00:04:38,560 So the image address, so I'm getting the image address here 85 00:04:38,560 --> 00:04:40,800 and now I'm pasting it here. 86 00:04:40,800 --> 00:04:45,130 And so this jpg image is now the source of this image. 87 00:04:45,130 --> 00:04:47,630 Okay, and now you see here that 88 00:04:47,630 --> 00:04:51,070 with the auto save and edit this closing slash 89 00:04:51,070 --> 00:04:53,150 and that's because the image element 90 00:04:53,150 --> 00:04:55,490 does not have a closing tag. 91 00:04:55,490 --> 00:04:59,880 It only has an opening tag which is a img of course 92 00:04:59,880 --> 00:05:02,720 but then we don't have a closing tag. 93 00:05:02,720 --> 00:05:05,040 And so we can close this opening tab 94 00:05:05,040 --> 00:05:08,730 by the end using this slash here at the end of the tag. 95 00:05:08,730 --> 00:05:10,150 But it's actually not mandatory, 96 00:05:10,150 --> 00:05:13,050 it works just the same without this one here. 97 00:05:13,050 --> 00:05:16,460 Okay, so image doesn't have a closing tag 98 00:05:16,460 --> 00:05:18,670 because we don't really put any 99 00:05:18,670 --> 00:05:20,423 like written content in here. 100 00:05:21,610 --> 00:05:25,680 It's not like we say now a course image 101 00:05:25,680 --> 00:05:28,360 or something and then close the image, right. 102 00:05:28,360 --> 00:05:29,793 That would make no sense. 103 00:05:30,900 --> 00:05:34,510 And so that's why images don't need the closing tag. 104 00:05:34,510 --> 00:05:38,040 Now if we check it indeed here now is the image. 105 00:05:38,040 --> 00:05:41,330 Okay, so that's the source attribute. 106 00:05:41,330 --> 00:05:42,260 And as you see, 107 00:05:42,260 --> 00:05:45,110 different elements have different attributes. 108 00:05:45,110 --> 00:05:46,250 So for example 109 00:05:46,250 --> 00:05:50,410 the href attribute is not going to do anything on an image 110 00:05:50,410 --> 00:05:54,120 and the opposite is true for the source attribute. 111 00:05:54,120 --> 00:05:56,840 So if we use source here on the anchor element, 112 00:05:56,840 --> 00:05:59,200 it's not gonna have any effect. 113 00:05:59,200 --> 00:06:01,920 And so when you really learn HTML properly 114 00:06:01,920 --> 00:06:04,080 you gonna learn exactly which attributes 115 00:06:04,080 --> 00:06:06,470 you can use on which elements. 116 00:06:06,470 --> 00:06:08,690 But it's actually pretty straight forward, 117 00:06:08,690 --> 00:06:11,140 and you get used to it pretty quick. 118 00:06:11,140 --> 00:06:14,020 Now there are two very important attributes that 119 00:06:14,020 --> 00:06:16,220 we can actually use on all elements 120 00:06:16,220 --> 00:06:18,960 and which we can use to identify them. 121 00:06:18,960 --> 00:06:21,970 And these are classes and ids. 122 00:06:21,970 --> 00:06:26,130 So we use classes and ids to essentially name elements 123 00:06:26,130 --> 00:06:29,120 so that we can then select them in CSS 124 00:06:29,120 --> 00:06:31,120 in order to style them. 125 00:06:31,120 --> 00:06:35,430 And actually we also use ids and classes to select elements 126 00:06:35,430 --> 00:06:38,980 from JavaScript when we do dumb manipulation. 127 00:06:38,980 --> 00:06:43,980 So classes and ids are crucial to identifying elements 128 00:06:44,020 --> 00:06:46,180 and especially classes. 129 00:06:46,180 --> 00:06:47,493 And here's how that works. 130 00:06:48,550 --> 00:06:51,000 And again we can add them on any element. 131 00:06:51,000 --> 00:06:54,130 So let's add one here to this paragraph. 132 00:06:54,130 --> 00:06:55,640 So all we have to do is class 133 00:06:57,530 --> 00:07:00,080 and let's call this one the first okay. 134 00:07:00,080 --> 00:07:02,940 Because it's the first of these two paragraphs 135 00:07:02,940 --> 00:07:07,940 and then here class again and you guessed it. 136 00:07:08,630 --> 00:07:10,900 This one is gonna be called second. 137 00:07:10,900 --> 00:07:12,940 And we gonna use this in the next lecture 138 00:07:12,940 --> 00:07:14,940 to then select the two paragraphs 139 00:07:14,940 --> 00:07:16,870 and style them differently. 140 00:07:16,870 --> 00:07:19,590 So then according to these classes, 141 00:07:19,590 --> 00:07:21,610 now as I said beside classes, 142 00:07:21,610 --> 00:07:25,360 we also have ids and they work like this. 143 00:07:25,360 --> 00:07:27,337 So let's add it here to the image 144 00:07:27,337 --> 00:07:32,337 and let's call it course image just like this. 145 00:07:32,500 --> 00:07:35,100 Now the difference between classes and ids 146 00:07:35,100 --> 00:07:38,570 is that ids have to be unique, okay? 147 00:07:38,570 --> 00:07:42,200 So each id can only be used once on the page 148 00:07:42,200 --> 00:07:45,290 while classes can be used over and over again. 149 00:07:45,290 --> 00:07:49,360 So I could have more paragraphs called second 150 00:07:49,360 --> 00:07:53,190 but I could not have another element called course image. 151 00:07:53,190 --> 00:07:57,800 All right, in practice we actually almost never used ids 152 00:07:57,800 --> 00:08:01,440 to style elements or to select them from JavaScript. 153 00:08:01,440 --> 00:08:04,670 It's just a better practice to use classes. 154 00:08:04,670 --> 00:08:08,560 Okay, and now to finish let's create an HTML form 155 00:08:08,560 --> 00:08:11,870 so that we can use some more attributes. 156 00:08:11,870 --> 00:08:15,780 Okay, so let's do that here after the image. 157 00:08:15,780 --> 00:08:17,290 And now I'll also introduce you 158 00:08:17,290 --> 00:08:20,590 to the idea of basically creating boxes. 159 00:08:20,590 --> 00:08:24,330 So we want the contents of this forum to be in a box. 160 00:08:24,330 --> 00:08:28,080 And so there are many ways of creating boxes in HTML. 161 00:08:28,080 --> 00:08:31,330 The most generic box is a div. 162 00:08:31,330 --> 00:08:32,890 So let's say div 163 00:08:32,890 --> 00:08:35,660 and let's give it a name here using an id again, 164 00:08:35,660 --> 00:08:39,900 does that so we use classes and ids in different places 165 00:08:39,900 --> 00:08:42,483 so that you can learn how to use both. 166 00:08:43,410 --> 00:08:46,360 So I'm calling this box here your name 167 00:08:46,360 --> 00:08:49,020 because that's what we gonna do in this form. 168 00:08:49,020 --> 00:08:52,783 So just an input asking for the user's name basically. 169 00:08:53,730 --> 00:08:56,920 Okay, and here it already close the element for me. 170 00:08:56,920 --> 00:09:01,320 Or and maybe you're also noticing that for the names here. 171 00:09:01,320 --> 00:09:04,930 So the id name but also for class names in CSS, 172 00:09:04,930 --> 00:09:08,940 we use the dash to separate two different words. 173 00:09:08,940 --> 00:09:11,530 So in JavaScript we would use camel case. 174 00:09:11,530 --> 00:09:15,250 So course, and then like this, right. 175 00:09:15,250 --> 00:09:16,410 But the convention is yes 176 00:09:16,410 --> 00:09:19,010 as is to write it like this. 177 00:09:19,010 --> 00:09:21,440 Of course it will also work the other way 178 00:09:21,440 --> 00:09:25,198 but this is just a convention, okay. 179 00:09:25,198 --> 00:09:28,363 And let's create just a heading for this form, 180 00:09:29,560 --> 00:09:32,180 your name here, okay. 181 00:09:32,180 --> 00:09:34,800 And you can see that of course we can have multiple 182 00:09:34,800 --> 00:09:37,730 h2 elements here on the same page. 183 00:09:37,730 --> 00:09:41,670 So we have here a secondary heading and here another one. 184 00:09:41,670 --> 00:09:46,090 Okay, so we of course you already have the h2 here now 185 00:09:46,090 --> 00:09:48,800 and there's also this box around it, 186 00:09:48,800 --> 00:09:50,870 but you cannot really see it 187 00:09:50,870 --> 00:09:52,660 but we will see it in the next lecture 188 00:09:52,660 --> 00:09:56,973 when we actually style all of these elements using CSS. 189 00:09:59,760 --> 00:10:02,280 Anyway let's not add another paragraph here 190 00:10:04,330 --> 00:10:07,350 please fill in this form. 191 00:10:10,950 --> 00:10:14,390 And now let's actually use an input element. 192 00:10:14,390 --> 00:10:18,253 And so like that we are then basically creating a form. 193 00:10:19,580 --> 00:10:23,460 So input and then we use the type attribute 194 00:10:23,460 --> 00:10:26,680 to specify the type of data that should be inputted 195 00:10:26,680 --> 00:10:28,520 into this element. 196 00:10:28,520 --> 00:10:29,353 So once again 197 00:10:29,353 --> 00:10:32,490 we're using an attribute to describe this element. 198 00:10:32,490 --> 00:10:34,680 So here we could use a text 199 00:10:34,680 --> 00:10:38,660 or as you can see it we could use button checkbox, 200 00:10:38,660 --> 00:10:42,530 email, file and so on and so forth. 201 00:10:42,530 --> 00:10:45,080 But here we just gonna use text 202 00:10:46,142 --> 00:10:48,900 not then we can even specify a placeholder. 203 00:10:48,900 --> 00:10:52,703 Now we'll just use the auto complete functionality here. 204 00:10:56,170 --> 00:10:58,480 Okay, and we close it. 205 00:10:58,480 --> 00:11:00,800 And once more this is one of the elements 206 00:11:00,800 --> 00:11:04,480 which does not have a closing tag because, well again 207 00:11:04,480 --> 00:11:07,113 it doesn't make much sense to have that here. 208 00:11:07,991 --> 00:11:10,840 And then usually a form also has a button. 209 00:11:10,840 --> 00:11:12,993 And so for that we have to button element. 210 00:11:14,340 --> 00:11:18,180 And in this case it actually makes sense to have content. 211 00:11:18,180 --> 00:11:20,270 And so that's why there is a closing tag 212 00:11:20,270 --> 00:11:23,640 which the S code automatically placed there for us. 213 00:11:23,640 --> 00:11:28,640 Let's give it a safe and here we go, nice. 214 00:11:28,670 --> 00:11:31,360 So we have a nice input and a button, 215 00:11:31,360 --> 00:11:32,970 of course nothing will happen 216 00:11:32,970 --> 00:11:36,250 because for that we would need some JavaScript 217 00:11:36,250 --> 00:11:39,750 but that's not the point of this lecture or of the sector, 218 00:11:39,750 --> 00:11:43,110 but now you know how to create a form like this. 219 00:11:43,110 --> 00:11:44,590 And now just to finish this form 220 00:11:44,590 --> 00:11:46,490 we should actually change the name 221 00:11:46,490 --> 00:11:50,300 or the type of the element of this box here. 222 00:11:50,300 --> 00:11:52,820 Okay, because this is now a form 223 00:11:52,820 --> 00:11:56,090 because it has this input and this button elements. 224 00:11:56,090 --> 00:11:59,390 And so in HTML we have a special element for that, 225 00:11:59,390 --> 00:12:02,700 which is instead of div we use form, 226 00:12:02,700 --> 00:12:04,210 okay give it a safe. 227 00:12:04,210 --> 00:12:08,260 And it looks exactly the same but this is more semantic. 228 00:12:08,260 --> 00:12:10,370 What this means is that the form element 229 00:12:10,370 --> 00:12:13,350 better describes the content that is inside of the box 230 00:12:13,350 --> 00:12:17,670 than just the generic box that is the div okay. 231 00:12:17,670 --> 00:12:20,480 So the div element is really just a generic box 232 00:12:20,480 --> 00:12:22,650 which has no meaning at all. 233 00:12:22,650 --> 00:12:24,570 And so that's usually not a good idea 234 00:12:24,570 --> 00:12:28,090 for many reasons for example for SEO, 235 00:12:28,090 --> 00:12:29,950 when Google searches your page, 236 00:12:29,950 --> 00:12:33,260 it's better if it knows exactly what each element means 237 00:12:33,260 --> 00:12:37,070 than just having generic boxes without any meaning at all. 238 00:12:37,070 --> 00:12:40,100 Okay, so using the appropriate element, 239 00:12:40,100 --> 00:12:42,190 according to the content that's in it 240 00:12:42,190 --> 00:12:45,430 is the idea of semantic HTML. 241 00:12:45,430 --> 00:12:47,550 In this case we are creating a forum here 242 00:12:47,550 --> 00:12:49,400 because we have an input and a button. 243 00:12:49,400 --> 00:12:52,620 And so we use the form element that HTML gives us 244 00:12:52,620 --> 00:12:54,440 just for this purpose. 245 00:12:54,440 --> 00:12:57,330 Okay, it looks exactly the same as a div element, 246 00:12:57,330 --> 00:13:00,610 but it has meaning and so it's semantic. 247 00:13:00,610 --> 00:13:02,660 Okay, and that's it for this video 248 00:13:02,660 --> 00:13:05,900 in the next one we're finally gonna style all this, 249 00:13:05,900 --> 00:13:07,423 using some HTML. 19905

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