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 skal vi snakke om CSS eller Cascading Style Sheets. 5 00:00:11,430 --> 00:00:14,330 >> Så hva er egentlig CSS? 6 00:00:14,330 --> 00:00:17,120 Vel, la oss bryte begrepet CSS ned i to deler: 7 00:00:17,120 --> 00:00:19,510 Cascading og Style Sheets. 8 00:00:19,510 --> 00:00:23,900 Gjennomgripende er litt mer komplisert, og det er noe vi vil dekke i en annen video. 9 00:00:23,900 --> 00:00:27,930 Men for det første, Style Sheets veldig mye hint på hva CSS gjør. 10 00:00:27,930 --> 00:00:30,880 Den legger stiler til HTML av en webside, 11 00:00:30,880 --> 00:00:33,720 endre hvordan nettsiden estetisk utseende. 12 00:00:33,720 --> 00:00:38,310 Det betyr alt fra skriften av teksten til plassering av innholdet på siden 13 00:00:38,310 --> 00:00:43,800 til andre kule ting som å lage hjørnene av en boks avrundet eller legge skygger til tekst. 14 00:00:43,800 --> 00:00:48,230 Du kan selv gjøre sprø ting som gjør ting animere på skjermen. 15 00:00:48,230 --> 00:00:51,700 >> Så hvordan bruker vi CSS med HTML? 16 00:00:51,700 --> 00:00:53,620 Ta denne stakkars utseende nettsted jeg nettopp skrev. 17 00:00:53,620 --> 00:00:57,290 Hvis Rob var å se på dette området akkurat nå, ville han sannsynligvis si noe sånt, 18 00:00:57,290 --> 00:01:01,730 "Wow! Min introduksjon ser forferdelig. Joseph, du er en forferdelig designer." 19 00:01:01,730 --> 00:01:05,110 "Bruke standard Times-skriften? Helvetica er så mye bedre." 20 00:01:05,110 --> 00:01:09,600 >> Så hva kan være den enkleste måten å bruke styling Rob ønsker? 21 00:01:09,600 --> 00:01:13,530 Den mest opplagte måten mange mennesker i utgangspunktet skrev CSS 22 00:01:13,530 --> 00:01:17,470 var å sette det vi kaller stil erklæringer midt i selve elementet 23 00:01:17,470 --> 00:01:20,560 hjelp av HTML stil attributt. 24 00:01:20,560 --> 00:01:26,420 En stil erklæringen består ganske enkelt av HTML-element CSS egenskapen vi ønsker å endre 25 00:01:26,420 --> 00:01:32,140 etterfulgt av et kolon etterfulgt av den nye verdien av eiendommen og et semikolon på slutten. 26 00:01:32,140 --> 00:01:36,600 For eksempel, la oss si Rob ønsker en svart ramme rundt sin innledning. 27 00:01:36,600 --> 00:01:40,040 Vi først sette stilen attributtet på Rob div her 28 00:01:40,040 --> 00:01:43,830 deretter inne anførselstegn sette 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 en piksel henviser til bredden av grensen, viser solid til stilen av grensen, 31 00:01:52,480 --> 00:01:56,640 og fargen på slutten bestemmer hva rammens farge er. 32 00:01:56,640 --> 00:02:01,220 >> Hvis vi ønsker flere stiler på et element, skrive disse erklæringene i rekkefølge. 33 00:02:01,220 --> 00:02:05,650 For eksempel, hvis Rob ønsker hans header tekst i Helvetica med en blå bakgrunn 34 00:02:05,650 --> 00:02:09,270 og mer plass rundt teksten, kan vi gjøre dette: 35 00:02:09,270 --> 00:02:19,800 style = "font-family: Helvetica; background-color: blue; padding: 5px;" 36 00:02:22,150 --> 00:02:28,010 Den siste semikolon er faktisk valgfritt, men folk vanligvis holder det i for konsistens skyld. 37 00:02:28,010 --> 00:02:32,180 >> Vi vil spare forklare noen av de kjøligere og mer komplekse CSS egenskaper 38 00:02:32,180 --> 00:02:34,140 for en annen video. 39 00:02:34,140 --> 00:02:38,780 Hvis du har noe i tankene, bare Googling den effekten du ønsker etterfulgt av CSS 40 00:02:38,780 --> 00:02:41,590 vil trolig gi deg ganske gode resultater. 41 00:02:41,590 --> 00:02:44,530 Det kule er at CSS er ganske bred, 42 00:02:44,530 --> 00:02:48,470 så oddsen er hvis det er noe du ønsker å gjøre - innenfor rimelighetens grenser - 43 00:02:48,470 --> 00:02:51,350 CSS kan sikkert gjøre det. 44 00:02:51,350 --> 00:02:54,750 Vi kaller denne typen styling inline styling. 45 00:02:54,750 --> 00:02:59,030 Elementet stil er, vel, i tråd med start tag. 46 00:02:59,030 --> 00:03:01,770 >> For folk som virkelig liker å være organisert, 47 00:03:01,770 --> 00:03:05,800 du kan begynne å få litt irritert på hvor rotete alt dette ser ut. 48 00:03:05,800 --> 00:03:09,810 Tenk om du måtte gjøre dette for hvert element på siden, 49 00:03:09,810 --> 00:03:13,690 pluss nå HTML og CSS er alle blandede og rotete. 50 00:03:13,690 --> 00:03:15,500 Gross, ikke sant? 51 00:03:15,500 --> 00:03:21,110 For å fikse dette, folk etter hvert begynte fanger på å skille sine HTML markup 52 00:03:21,110 --> 00:03:26,370 fra deres CSS styling ved å bruke noe som kalles CSS velgere. 53 00:03:26,370 --> 00:03:31,780 CSS velgere brukes til å velge elementer som erklæringer er anvendt. 54 00:03:31,780 --> 00:03:38,600 En velgeren kombinert med en liste over CSS erklæringer er ofte referert til som en CSS-regel. 55 00:03:38,600 --> 00:03:43,260 Disse reglene vil bli satt mellom åpne og lukke HTML stilmerkene, 56 00:03:43,260 --> 00:03:46,120 ofte i hodet av dokumentet. 57 00:03:46,120 --> 00:03:49,000 >> Det er mye lettere å se med et eksempel, 58 00:03:49,000 --> 00:03:53,000 så la oss begynne med å lage en enkel CSS-regel. 59 00:03:53,000 --> 00:03:58,180 Først, la oss sette stilmerkene i hodet delen av HTML vår. 60 00:03:58,180 --> 00:04:00,020 Deretter velgeren. 61 00:04:00,020 --> 00:04:03,490 Vi vil starte med å bruke en av de enkleste velgere, hash symbol, 62 00:04:03,490 --> 00:04:08,080 som velger et HTML-element ved sin ID-attributt. 63 00:04:08,080 --> 00:04:11,850 I dette tilfellet vil vi velge div som representerer Rob innledning 64 00:04:11,850 --> 00:04:16,740 ved å skrive hash symbol etterfulgt av div ID, Rob. 65 00:04:16,740 --> 00:04:18,579 Nå erklæringene. 66 00:04:18,579 --> 00:04:24,090 Vi legger til åpne og lukke bukseseler og skifte våre tidligere inline erklæringer på Rob div 67 00:04:24,090 --> 00:04:26,880 innsiden av disse bukseseler, refresh, 68 00:04:26,880 --> 00:04:34,160 og, kult, har Rob intro fortsatt en svart ramme rundt det minus rotete inline stygghet. 69 00:04:34,160 --> 00:04:39,380 >> Nå, hva om vi ønsket å velge h1 innsiden av Rob intro? 70 00:04:39,380 --> 00:04:44,400 Du tenker kanskje: "La oss sette en ID på den og deretter flytte våre tidligere stilarter." 71 00:04:44,400 --> 00:04:48,760 Det fungerer, men CSS har andre måter å la deg velge elementer 72 00:04:48,760 --> 00:04:53,490 ved hjelp av det vi kaller combinators å blande enkle velgere. 73 00:04:53,490 --> 00:04:57,740 For eksempel kan et mellomrom tegn brukes som en combinator 74 00:04:57,740 --> 00:05:03,510 å spesifisere alle forekomster av en velgeren som lever inne i en annen velgeren. 75 00:05:03,510 --> 00:05:06,630 Det høres mye mer komplisert enn 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 # rane, legge til et mellomrom, og følger det med en h1, 78 00:05:13,900 --> 00:05:18,840 en annen enkel velgeren kalt en tag velgeren som velger typer elementer 79 00:05:18,840 --> 00:05:21,200 som divs eller avsnitt. 80 00:05:21,200 --> 00:05:26,140 Plassen kombinerer våre to enkle velgere, bruke alle CSS-erklæringer 81 00:05:26,140 --> 00:05:32,560 og klammeparentes til h1 koder som lever inne i elementet med id = "rane". 82 00:05:32,560 --> 00:05:38,290 Bare for å overbevise deg om at det fungerer, vil jeg endre font farge til hvit, refresh, 83 00:05:38,290 --> 00:05:42,090 og se, Rob header er nå hvit. 84 00:05:42,090 --> 00:05:47,510 >> Alt dette arbeidet går for å vise at ved å bruke regler i stedet for inline stiler 85 00:05:47,510 --> 00:05:50,510 vi kan få mye renere kode. 86 00:05:50,510 --> 00:05:53,900 Faktisk, hvis denne stil blokken begynner å bli litt stor, 87 00:05:53,900 --> 00:05:58,340 Jeg kan selv trekke disse stilene ut i en annen fil helt. 88 00:05:58,340 --> 00:06:05,120 >> Å inkludere denne nye filen som CSS i dette dokumentet vil jeg bare bruke HTML link tag. 89 00:06:05,120 --> 00:06:10,320 Her Jeg sier det som jeg kobler i et eksternt stilark, rel-attributtet, 90 00:06:10,320 --> 00:06:14,840 og angi banen til filen med min href attributt. 91 00:06:14,840 --> 00:06:20,290 Nå er min HTML markup og CSS er organisert pent i helt separate filer, 92 00:06:20,290 --> 00:06:26,090 som er nesten alltid måten designere foretrekker å arbeide med HTML og CSS. 93 00:06:26,090 --> 00:06:30,180 >> I tilfelle du lurer, de enkle velgere inkluderer ID-velgere 94 00:06:30,180 --> 00:06:33,100 og tag velgere som de vi nettopp så 95 00:06:33,100 --> 00:06:38,610 samt klasse velgere for valg av elementer med en bestemt klasse, 96 00:06:38,610 --> 00:06:44,000 attributt velgere for å velge elementer av andre attributter som type = "radio" 97 00:06:44,000 --> 00:06:49,180 for radio button innganger, og pseudoselectors som svever og fokusere 98 00:06:49,180 --> 00:06:55,260 for å spesifisere styling når interaksjoner liker å bevege musen over et element oppstår. 99 00:06:55,260 --> 00:06:58,950 >> De vanligste combinators inkluderer mellomrom for alle barn 100 00:06:58,950 --> 00:07:02,080 og komma til å skille velgere. 101 00:07:02,080 --> 00:07:06,370 Andre kan oppstå inkluderer pilen for direkte barn bare, 102 00:07:06,370 --> 00:07:10,440 tilde for alle søsken som oppstår etter elementet, 103 00:07:10,440 --> 00:07:16,010 og plusstegnet for en søsken som kommer umiddelbart etter element. 104 00:07:16,010 --> 00:07:18,540 >> Ved å kombinere disse velgere og combinators, 105 00:07:18,540 --> 00:07:22,910 du kan utvide utvalget av styling du kan oppnå på en gitt nettside 106 00:07:22,910 --> 00:07:25,050 og skrive CSS mer effektivt. 107 00:07:25,050 --> 00:07:28,370 Med bare et par linjer med CSS du ser meg å skrive her, 108 00:07:28,370 --> 00:07:34,460 Jeg kan raskt gjøre noe sånt som dette ut som noe sånt 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 begynne? 112 00:07:40,780 --> 00:07:44,140 La meg gjøre det uten - [ler] Okay. 113 00:07:44,140 --> 00:07:47,300 Legg til en - La meg endre det ordlyden. 114 00:07:50,580 --> 00:07:52,470 Ooh. Unnskyld.