Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduktion till Webbutveckling - F11

Introduktion till Webbutveckling - F11

Anton Tibblin

October 15, 2013
Tweet

More Decks by Anton Tibblin

Other Decks in Education

Transcript

  1. Dagens föreläsning • Nyheter i HTML 5 • Nyheter i

    CSS 3 • Inlämningsuppgift 2 • När, var hur ska man använda dessa nyheter?
  2. HTML 5 • Vi kommer titta på nyheter inom olika

    områden • Nya taggar för att öka semantiken • Nya taggar/attribut vid formulär • Nya taggar/attribut för video/ljud
  3. Fördelar med HTML 5 • Ny funktionalitet som tidigare inte

    funnits • Smartare lösning på problem som tidigare krävt JavaScript • Tydligare struktur på HTML-koden • ”Som HTML 4, fast lite bättre”
  4. Nackdelar med HTML 5 • Fortfarande under utveckling, vilket innebär:

    • Stöds inte av alla webbläsare • Kommer (med största sannolikhet) inte stödjas av äldre webbläsare • Standard ej fastställd, så den kan ändras • Lösningar finns dock! (tittar vi på senare)
  5. HTML 5 – Doctype/JS/Link • Doctype för ett HTML-dokument •

    <!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0 Transitional//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd”> • <!DOCTYPE html> • Smidigare inkludering av JavaScript • <script type="text/javascript" src="path/to/script.js"></script> • <script src="path/to/script.js"></script> • Smidigare inkludering av CSS • <link rel="stylesheet" href="path/to/stylesheet.css" type="text/css" /> • <link rel="stylesheet" href="path/to/stylesheet.css" />
  6. Nya taggar för bättre struktur • Header • Footer •

    Article • Section • Aside • Nav • Menu
  7. Bättre struktur för bilder/bildtexter • Innan kunde vi inte koppla

    en text till en bild/figur, t.ex. • <img src="path/to/image" alt="About image"> <p>Image of Mars. </p> • Nu kan vi ange att texten tillhör bilden, t.ex. • <figure> <img src="path/to/image" alt="About image"> <figcaption> <p>This is an image of something interesting. </p> </figcaption> </figure>
  8. Gör ditt innehåll editerbart • Man kan i HTML 5

    välja om delar av sidans innehåll ska vara editerbart för användaren. • Detta görs genom attributet contenteditable=”true” • <ul contenteditable=”true”>
  9. Nya typer för input (i formulär) • color • date

    • datetime • datetime-local • email • month • number • range • search • tel • time • url • Week • http://www.w3schools.com/html/html5_form_input_types.asp
  10. Nya attribut för formulär • New attributes for <form>: •

    autocomplete • novalidate • New attributes for <input>: • autocomplete • autofocus • form • formaction • formenctype • formmethod • formnovalidate • formtarget • height and width • list • min and max • multiple • pattern (regexp) • placeholder • required • step • http://www.w3schools.com/html/html5_form_attributes.asp
  11. Autocomplete i formulär • <input list="browsers"> <datalist id="browsers"> <option value="Internet

    Explorer"> <option value="Firefox"> <option value="Chrome"> <option value="Opera"> <option value="Safari"> </datalist> • http://www.w3schools.com/html/tryit.asp?filename=tryhtml 5_datalist
  12. Web storage • Spara något lokalt i användarens webbläsare •

    Ersätter på ett sätt cookies • Snabbare • Säkrare • Kan spara mer data • Styrs genom JavaScript
  13. HTML 5 Cache • Fördel med att cacha sidor: •

    Man kommer åt sidorna offline • Sidorna laddar fortare • Minskad belastning på servern (mindre data skickas) • http://www.w3schools.com/html/html5_app_cache.asp
  14. Video • Inkludera videos smidigt på en webbplats • Kunna

    starta/stoppa video • Kunna visa video i fullskärm • Kunna ändra volymen för video <video width="320" height="240" controls autoplay> <source src="movie.ogg" type="video/ogg"> <source src="movie.mp4" type="video/mp4"> <object data="movie.mp4" width="320" height="240"> <embed width="320" height="240" src="movie.swf"> </object> </video>
  15. Ljud • Inkludera ljud smidigt på en webbplats • Kunna

    starta/pausa/stoppa ljudet • Kunna söka i ljudet • Kunna ändra volymen för ljudet <audio controls> <source src="audio.mp3" type="audio/mpeg"> Your browser does not support the audio tag. </audio>
  16. Några andra saker • Geo location • Ta del av

    besökarens plats • Canvas • Rita ut saker på skärmen • SQL-databas i klienten • Mer avancerat sätt att spara data hos klienten
  17. Problem med HTML 5 • Är under utveckling • Tänk

    på att: • Utveckla för bakåtkompabilitet • Lägg inte kritiska funktioner i nya HTML 5-element • Tänk på att form-validering m.m. inte fungerar i webbläsare som ej stödjer HTML 5 • Vem ska använda webbplatsen, vilka webbläsare använder er målgrupp?
  18. Problem med nya HTML-element • Element som: • Header •

    Section • Footer • M.fl. finns inte i t.ex. Internet Explorer 8 • Lösning: ”HTML5shiv” • https://code.google.com/p/html5shiv/ • ”HTML5shiv” skapar via JavaScript de element som inte finns inbyggda i webbläsaren.
  19. Demo av HTML 5 • Förhindra problem i IE8 genom

    HTML5shiv • Bygga ett kontaktformulär i HTML 5 • Inkludera video och ljud i en webbplats
  20. CSS 3 • CSS 3-standarden jobbar vidare på CSS 2-standarden

    och är bakåtkompatibel , precis som HTML 5. • Vi kommer titta på områden som: • Nya möjligheter till visuellt utseende • Animation • Nya selektorer (vad vill vi styla?)
  21. Vad kan man göra med CSS 3? • http://codepen.io/juliangarnier/pen/idhuG •

    http://mrdoob.github.io/three.js/examples/css3d_periodict able.html • http://bennettfeely.com/csscreatures/ • http://tympanus.net/Tutorials/AnimatedButtons/index.html • http://tympanus.net/Tutorials/OriginalHoverEffects/index1 0.html • http://www.romancortes.com/ficheros/css-coke.html
  22. Även CSS 3 är under utveckling • Olika webbläsare stödjer

    olika mycket av de nya CSS 3 egenskaperna • Här kan man se vilka webbläsare som stöder vad: http://fmbip.com/litmus • Vad innebär: -webkit- -moz- -ms- -opera-
  23. Ny möjligheter till nytt utseende • Några nya egenskaper som

    vi kommer titta på är: • Rundade hörn • Skuggor för element • Skuggor för text • Bakgrundsfärg genom RGBA • Font-face (typsnitt) • Kolumner • Box resizing • Content box/Border box • Gradients
  24. Rundade hörn • På senare tid har det varit populärt

    att göra rundade hörn på boxar. • Tidigare gjordes det antingen av bilder eller genom massor av <div>-element (t.ex. 15st per hörn) • Syntaxen för att göra rundade hörn är: border-radius:10px 10px 25px 25px; De fyra värdena är för varje hörna och börjar uppe till vänster och går sedan medsols.
  25. Skuggor för element • Att ge skuggor för element har

    man gjort tidigare genom bilder • Nu kan man göra det genom CSS – vilket är mycket smidigare! (och snabbare) • Syntax för skugga: box-shadow: 2px 2px 10px 0px #333; box-shadow: ”horisontal skjutning” ”vertikal skjutning” ”längd på skuggning” ”spridning” ”färg”;
  26. Skuggor för text • Nu kan man skapa skuggor för

    text utan bilder eller krångliga css/html kombinationer • Syntax: text-shadow: 2px 2px 5px #aaa; text-shadow: ”horisontell skjutning” ” skjutning längd” ”längd på skuggning” ”färg”;
  27. Ange färg genom RGBA • Om man föredrar det före

    hexadecimal • Har en stor fördel, man kan ange ”opacity” d.v.s. ”genomskinlinghet” mellan 0 - 1. • Syntax color: rgba(75, 123, 213, 0.5); color: rgba(”röd”, ”grön”, ”blå”, ”genomskinlighet”);
  28. Font face • Innan har man varit tvungen att förlita

    sig på de typsnitt som användaren har förinstallerat på sin dator • Nu kan man ”bifoga” det typsnitt man vill ska visas! • Syntax @font-face { font-family: 'myfont'; src: url('font1.eot?') format('eot'), url('font1.woff') format('woff'), url('font1.ttf') format('truetype'); } - Google fonts: http://www.google.com/fonts
  29. Kolumner • Nu kan man dela upp sin text i

    kolumner genom CSS – utan att man behöver ändra i sin HTML-kod • Syntax column-count: 2; column-gap: 10px;
  30. Box resize • Om man vill att sina besökare ska

    kunna ändra storleken på elementen på sidan. • Syntax resize: both; resize: horizontal; resize: vertical;
  31. Content box / border box • Vill vi att ram

    för ett element ska ligga ”i” boxen eller ”utanför” (utanför är standard i CSS 2 som vi lärt oss hittills) • För att ramen ska ligga ”i” boxen: box-sizing: border-box; • För att ramen ska ligga ”utanför” boxen: box-sizing: content-box;
  32. Gradients • Nu kan man göra toningar i färger genom

    CSS (vilket man fick göra i bildbenhandlingsprogram tidigare) • Syntax background: linear-gradient(to bottom, #7d7e7d 0%,#0e0e0e 100%);
  33. Oj vad mycket ny kod det var… • Hur ska

    jag kunna komma ihåg det? - Det finns sidor som hjälper dig! http://css3generator.com/
  34. Animationer • En annan nyhet i CSS 3 är animationer.

    • Tidigare så gjordes animationer nästan alltid genom JavaScript – vilket man nu inte längre behöver! • Det finns två olika sätt att animera i CSS 3 - Via ”transistions” (rörliga animeringar) - Via ”transform” (förvränga element)
  35. Transitions • Många men inte alla egenskaper kan animeras, se

    lista: http://oli.jp/2010/css-animatable-properties/ • Syntax transition: all 1s ease-in; transition: ”egenskap” ”tid” ”metod”; • OBS – Sker när ett element byter skepnad, t.ex. genom ”hover”, ”focus” osv. a:hover{egenskaper}
  36. Transform • Att förvränga boxar kan både vara roligt/snyggt/funktionellt. •

    Syntax transform: scale(0.5) rotate(-20deg) translateX(20px) translateY(20px) skewX(10deg) skewY(10deg); • Scale: Hur stor boxen ska vara (1 är orginalstorlek) • Rotate: Hur många grader ska boxen vara vriden • Translate: Hur ska boxen vara placerad • Skew: Hur ska den vara förvrängd?
  37. Nya selektorer • Som påbyggnad på de gamla selektorerna (element,

    .class, #id) finns det ny sätt att hitta det man vill styla. • Genom mönster (t.ex. alla element som har ett idsom innehåller ”val”: E[id*=”val”] • Nya pseudoklasser (t.ex. om ett element bara har ett enda barn: E:only-child) • http://www.456bereastreet.com/archive/200601/css_3_sel ectors_explained/