1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [CSS] 2 00:00:02,000 --> 00:00:04,810 [Joseph Ong - Harvard University] 3 00:00:04,810 --> 00:00:07,160 [Dette er CS50. - CS50.TV] 4 00:00:07,160 --> 00:00:11,430 >> I dag vil vi tale om CSS eller Cascading Style Sheets. 5 00:00:11,430 --> 00:00:14,330 >> Så hvad der præcist er CSS? 6 00:00:14,330 --> 00:00:17,120 Nå, lad os bryde udtrykket CSS ned i 2 dele: 7 00:00:17,120 --> 00:00:19,510 Cascading og Style Sheets. 8 00:00:19,510 --> 00:00:23,900 Cascading er en lille smule mere kompliceret, og det er noget, vi vil dække i en anden video. 9 00:00:23,900 --> 00:00:27,930 Men for startere. Style Sheets meget meget hints på, hvad CSS gør 10 00:00:27,930 --> 00:00:30,880 Det tilføjer stilarter til HTML af en webside, 11 00:00:30,880 --> 00:00:33,720 ændre, hvordan websiden æstetisk udseende. 12 00:00:33,720 --> 00:00:38,310 Det betyder alt fra skrifttypen på teksten til placeringen af ​​indholdet på siden 13 00:00:38,310 --> 00:00:43,800 til andre seje ting som at gøre hjørnerne af en rund boks eller føje skygger til tekst. 14 00:00:43,800 --> 00:00:48,230 Du kan endda gøre skøre ting som at gøre tingene animere på skærmen. 15 00:00:48,230 --> 00:00:51,700 >> Så hvordan bruger vi CSS med HTML? 16 00:00:51,700 --> 00:00:53,620 Tag denne fattige udseende websted, jeg lige har skrevet. 17 00:00:53,620 --> 00:00:57,290 Hvis Rob var at se på dette site lige nu, ville han nok sige noget lignende, 18 00:00:57,290 --> 00:01:01,730 "Wow! Min introduktion ser forfærdeligt. Joseph, du er en frygtelig designer." 19 00:01:01,730 --> 00:01:05,110 "Brug standard Times skrifttype? Helvetica er så meget bedre." 20 00:01:05,110 --> 00:01:09,600 >> Så hvad kunne være den enkleste måde at anvende styling Rob vil? 21 00:01:09,600 --> 00:01:13,530 Den mest oplagte måde masser af mennesker oprindeligt skrev CSS 22 00:01:13,530 --> 00:01:17,470 var at sætte det, vi kalder stil erklæringer til højre i selve elementet 23 00:01:17,470 --> 00:01:20,560 hjælp af HTML stil attribut. 24 00:01:20,560 --> 00:01:26,420 En stil erklæring blot består af HTML elementets CSS ejendom, vi ønsker at ændre 25 00:01:26,420 --> 00:01:32,140 efterfulgt af et kolon efterfulgt af den nye værdi af ejendommen og et semikolon i slutningen. 26 00:01:32,140 --> 00:01:36,600 For eksempel sige, lad os Rob ønsker en sort ramme omkring sin indledning. 27 00:01:36,600 --> 00:01:40,040 Vi først sætte den stil attribut på Robs div her 28 00:01:40,040 --> 00:01:43,830 så inde anførselstegn sætte en CSS erklæring: 29 00:01:43,830 --> 00:01:47,880 "Border: 1px solid black;" 30 00:01:47,880 --> 00:01:52,480 Den 1 pixel refererer til bredden af ​​grænsen, det faste stof refererer til den stil af grænsen, 31 00:01:52,480 --> 00:01:56,640 og farven ved afslutningen bestemmer, hvad kantens farve er. 32 00:01:56,640 --> 00:02:01,220 >> Hvis vi ønsker flere stilarter på et element, skal du skrive disse erklæringer i rækkefølge. 33 00:02:01,220 --> 00:02:05,650 For eksempel, hvis Rob ønsker hans headerteksten i Helvetica med en blå baggrund 34 00:02:05,650 --> 00:02:09,270 og mere plads omkring teksten, kan vi gøre dette: 35 00:02:09,270 --> 00:02:19,800 style = "font-family: Helvetica, background-farve: blå, padding: 5px;" 36 00:02:22,150 --> 00:02:28,010 Det sidste semikolon er faktisk frivilligt, men folk normalt holde det i hensyn til sammenhængen. 37 00:02:28,010 --> 00:02:32,180 >> Vi gemmer forklare nogle af de køligere og mere komplekse CSS egenskaber 38 00:02:32,180 --> 00:02:34,140 for en anden video. 39 00:02:34,140 --> 00:02:38,780 Hvis du har noget i tankerne, bare google den ønskede effekt efterfulgt af CSS 40 00:02:38,780 --> 00:02:41,590 vil sandsynligvis give dig ret gode resultater. 41 00:02:41,590 --> 00:02:44,530 Det fede er, at CSS er temmelig bred, 42 00:02:44,530 --> 00:02:48,470 så odds er, hvis der er noget du ønsker at gøre - inden for rimelighedens grænser - 43 00:02:48,470 --> 00:02:51,350 CSS kan sandsynligvis gøre det. 44 00:02:51,350 --> 00:02:54,750 Vi kalder denne form for styling inline styling. 45 00:02:54,750 --> 00:02:59,030 Elementet stil er, ja, i tråd med start-tag. 46 00:02:59,030 --> 00:03:01,770 >> For folk, der virkelig gerne skal organiseres, 47 00:03:01,770 --> 00:03:05,800 du kan begynde at få lidt irriteret over, hvor rodet det hele ser ud. 48 00:03:05,800 --> 00:03:09,810 Tænk, hvis du var nødt til at gøre dette for hvert element på siden, 49 00:03:09,810 --> 00:03:13,690 plus nu din HTML og CSS er alle sammenblandet og rodet. 50 00:03:13,690 --> 00:03:15,500 Gross, right? 51 00:03:15,500 --> 00:03:21,110 For at løse dette, mennesker i sidste ende begyndte at fange på at adskille deres HTML markup 52 00:03:21,110 --> 00:03:26,370 fra deres CSS styling ved hjælp af noget, der hedder CSS selectors. 53 00:03:26,370 --> 00:03:31,780 CSS selectors bruges til at vælge elementer, som erklæringer anvendes. 54 00:03:31,780 --> 00:03:38,600 En vælger kombineret med en liste over CSS erklæringer omtales ofte som en CSS regel. 55 00:03:38,600 --> 00:03:43,260 Disse regler ville blive sat mellem åbne og lukke HTML typografi-tags, 56 00:03:43,260 --> 00:03:46,120 ofte i hovedet af dokumentet. 57 00:03:46,120 --> 00:03:49,000 >> Det er meget nemmere at se med et eksempel, 58 00:03:49,000 --> 00:03:53,000 så lad os starte med at oprette en simpel CSS regel. 59 00:03:53,000 --> 00:03:58,180 Først, lad os sætte typografi-tags i hovedet del af vores HTML. 60 00:03:58,180 --> 00:04:00,020 Dernæst vælgeren. 61 00:04:00,020 --> 00:04:03,490 Vi vil starte med en af ​​de enkleste selektorer, hash symbol, 62 00:04:03,490 --> 00:04:08,080 der vælger et HTML-element ved sin ID attribut. 63 00:04:08,080 --> 00:04:11,850 I dette tilfælde vil vi vælge den div, der repræsenterer Rob indledning 64 00:04:11,850 --> 00:04:16,740 ved at skrive hash symbol efterfulgt af div id, røve. 65 00:04:16,740 --> 00:04:18,579 Nu erklæringerne. 66 00:04:18,579 --> 00:04:24,090 Vi tilføjer åbne og lukke seler og rykke vores tidligere inline erklæringer om Robs div 67 00:04:24,090 --> 00:04:26,880 indersiden af ​​disse seler, refresh, 68 00:04:26,880 --> 00:04:34,160 og, cool, Robs intro stadig har en sort ramme omkring det minus rodet inline grimhed. 69 00:04:34,160 --> 00:04:39,380 >> Hvad nu, hvis vi ønskede at vælge h1 indersiden af ​​Robs intro? 70 00:04:39,380 --> 00:04:44,400 Du vil måske tænke, "Lad os sætte en id på det og derefter flytte vores tidligere stilarter." 71 00:04:44,400 --> 00:04:48,760 Det virker, men CSS har andre muligheder for at lade dig vælge elementer 72 00:04:48,760 --> 00:04:53,490 ved hjælp af det, vi kalder combinators at blande simple vælgere. 73 00:04:53,490 --> 00:04:57,740 For eksempel kan et hvidt tegn anvendes som Combinator 74 00:04:57,740 --> 00:05:03,510 at specificere alle forekomster af 1 selector at bo inde i en anden selector. 75 00:05:03,510 --> 00:05:06,630 Det lyder af meget mere kompliceret, end det faktisk er. 76 00:05:06,630 --> 00:05:08,830 Her er et eksempel. 77 00:05:08,830 --> 00:05:13,900 Vi vil skrive # røve, tilføje et mellemrum, og følge den med en h1, 78 00:05:13,900 --> 00:05:18,840 En anden simpel selector kaldet en tag-vælger, som vælger typer elementer 79 00:05:18,840 --> 00:05:21,200 ligesom divs eller afsnit. 80 00:05:21,200 --> 00:05:26,140 Rummet kombinerer vores 2 simple selektorer, anvender alle CSS erklæringer 81 00:05:26,140 --> 00:05:32,560 og de krøllede parenteser til H1 tags, der lever inde i elementet med id = "røve". 82 00:05:32,560 --> 00:05:38,290 Blot for at overbevise dig om, at det virker, vil jeg ændre skriftfarven til hvid, opdatere 83 00:05:38,290 --> 00:05:42,090 og, se, Robs header er nu hvid. 84 00:05:42,090 --> 00:05:47,510 >> Alt dette arbejde går at vise, at ved hjælp af regler i stedet for inline stilarter 85 00:05:47,510 --> 00:05:50,510 vi kan få meget renere kode. 86 00:05:50,510 --> 00:05:53,900 I virkeligheden få, hvis denne stil blok starter lidt stor, 87 00:05:53,900 --> 00:05:58,340 Jeg kan endda trække disse stilarter ud i en anden fil helt. 88 00:05:58,340 --> 00:06:05,120 >> Hvis du vil medtage denne nye fil som CSS i dette dokument vil jeg bare bruge HTML s link tag. 89 00:06:05,120 --> 00:06:10,320 Her jeg fortæller det, at jeg forbinder med et eksternt typografiark, rel attribut, 90 00:06:10,320 --> 00:06:14,840 og angive stien til filen med min href attribut. 91 00:06:14,840 --> 00:06:20,290 Nu er min HTML markup og CSS er organiseret pænt i helt separate filer, 92 00:06:20,290 --> 00:06:26,090 der er næsten altid den måde, designere foretrækker at arbejde med HTML og CSS. 93 00:06:26,090 --> 00:06:30,180 >> Hvis du undrer dig over, de simple selectors omfatter ID-selectors 94 00:06:30,180 --> 00:06:33,100 og mærke vælgere som dem, vi lige har set 95 00:06:33,100 --> 00:06:38,610 samt klasse selektorer til at vælge elementer med en vis klasse, 96 00:06:38,610 --> 00:06:44,000 attribut vælgere til valg elementer af andre egenskaber som type = "radio" 97 00:06:44,000 --> 00:06:49,180 for alternativknapper indgange og pseudoselectors som svæve og fokusere 98 00:06:49,180 --> 00:06:55,260 for at specificere styling når interaktioner gerne musen over et element forekomme. 99 00:06:55,260 --> 00:06:58,950 >> De fælles combinators omfatter mellemrum for alle børn 100 00:06:58,950 --> 00:07:02,080 og kommaer til at adskille selectors. 101 00:07:02,080 --> 00:07:06,370 Andre du kan støde omfatte pilen for direkte børn kun, 102 00:07:06,370 --> 00:07:10,440 tilde for alle søskende, der opstår efter elementet, 103 00:07:10,440 --> 00:07:16,010 og på plus-tegnet for 1 søskende, der kommer umiddelbart efter elementet. 104 00:07:16,010 --> 00:07:18,540 >> Ved at kombinere disse selektorer og combinators, 105 00:07:18,540 --> 00:07:22,910 du kan udvide spektret af styling du kan opnå på en given webside 106 00:07:22,910 --> 00:07:25,050 og skrive CSS mere effektivt. 107 00:07:25,050 --> 00:07:28,370 Med blot et par linjer af CSS du ser mig skrive her, 108 00:07:28,370 --> 00:07:34,460 Jeg kan hurtigt lave noget som dette ligne noget som dette. 109 00:07:34,460 --> 00:07:37,080 >> Jeg er Josef, og dette er CS50. 110 00:07:37,080 --> 00:07:39,260 >> [CS50.TV] 111 00:07:39,260 --> 00:07:40,780 >> Uh, hvor skal jeg begynde? 112 00:07:40,780 --> 00:07:44,140 Lad mig gøre det uden - [griner] Okay. 113 00:07:44,140 --> 00:07:47,300 Tilføj en - Lad mig ændre denne ordlyd. 114 00:07:50,580 --> 00:07:52,470 Ooh. Undskyld.