<<Provuppgifter>>

Gemensamma instruktioner för alla uppgifter

Följande uppgifter är examinerande uppgifter för kursen Webbutveckling 1. Varje uppgift ska presenteras på sin egen webbsida (En uppgift kan dock bestå av flera sidor, men då ska det finnas en sida som fungerar som uppgiftens startsida).

Följande gäller för alla provuppgifter:

  • Varje uppgift ska presenteras med en unik layout. (Skapa den själv, repetera inte samma för nästa uppgift)
  • Välj bilder och färger som matchar varandra och gör det lätt att läsa informationen som finns på varje sida. Ta gärna hjälp av till exempel Adobe Color för att hitta matchande färgteman.
  • Bara kod skriven i HTML och CSS får användas i dessa uppgifter. Se till att anpassa funktionaliteten utefter denna restriktion.
  • Kodexempel omges av <code>-taggen och ni kan också använda <pre>-taggen för att formatera kodexempel på ett bra sätt.
  • Alla sidor ska innehålla ditt namn, klass och datum (år och månad räcker).
  • Målpubliken på förklarande text som ni skriver i uppgifterna ska vara anpassade så att era klasskamrater ska kunna förstå dem.
  • Läs uppgiften noga innan ni börjar med uppgiften och en gång till när ni tror att ni är färdiga för att säkerhetställa att ni inte missat något.

1. Flexbox tutorial

Det finns otaliga tutorials om olika saker på internet. Nu är det din tur att göra en sida som förklarar något, i det här fallet flexbox. För att göra detta måste du ju sävklart först lära dig själv om flexbox, detta kan du med fördel göra på olika sidor på internet.

Du ska skriva en tutorial som tar upp allt man kan tänkas vilja veta om flexbox och visa exempel på hur de olika inställningarna man kan göra påverkar utseendet.

Skapa egna exempel som visar vad olika attribut ger för effekt. Dessa exempel ska vara skrivna i HTML och CSS ej som bilder.

Förklara styrkor och svagheter och när man bör använda flexbox och när man kan använda sig av någon annan metod.

OBS! Du SKA ange källor på eventuella böcker, hemsidor och videor du använt dig av! (länka till källor på internet). Du ska även använda dig av allt du lärt dig tidigare för att göra en snygg och läsbar sida som gör att man vill lära sig mer om CSS genom att följa just din sida. <-- Det visuella är viktigt!

2. Youtuber kunden

Ibland händer det att man får uppdraget att skapa en hemsida åt någon annan person eller en kund där denna har en egen idé om hur utseendet eller funktionaliteten ska fungera. Då gäller det att anpassa sig till dessa önskemål. I den här uppgiften så har ni just en sådan kund som har lite egna önskemål. Detta innebär att du som utvecklare måste anpassa dig till kundens önskemål så gott du kan och inte enbart förlita dig på dina egna önskemål vad gäller sidornas utformning.

Du har blivit kontaktad av en kund (Valfritt namn, du bestämmer) som vill ha en professionellt utformad webbsida för att visa upp sina leksaker/hobbysaker/husdjur/mjukisdjur/fortnight-skins/k-pop-stjärnor/seriefigurer (välj tema själv). De har bifogat en skiss på ungefär vad de vill ha och har tagit inspiration från en efterlysningssida som någon polismyndighet har använt. Följ exempelbilden så gott du kan, men eftersom just du är en expert inom formgivning på webben så är den exakta utformningen upp till dig.

Din kund är en yngre youtuber (rik som ett troll och väldigt inflytelserik inom sitt område) som vill ha ett passande tema (färg och form) för utseendet på sin sida. Det är viktigt att sidan ska vara scrollbar för kunden vill gärna kunna visa fler objekt i framtiden.

Rutorna där sakerna visas upp ska ha lite olika information om objekten (Du bestämmer vad, men förutom en bild bör det finnas minst tre olika text-taggar för t.ex. sakens namn, en beskrivning och hennes personliga känslor om saken).

Det ska finnas en funktion att visa eller inte visa någon typ av "splash" på objektet för att ge extra uppmärksamhet (se exempel i bilden).

Det ska finnas en beskrivning av din kund som beskriver namn och dennes intresse.

Sidan ska rikta sig till killar i åldern 8 - 14 år ungefär. Tänk igenom ditt färg- och formspråk på sidan så att det matchar målgruppen. Använd gärna någon sida på nätet för att hitta ett passande färgschema innan du börjar.

Sidan ska vara responsiv och ändra layout beroende på hur smal skärm som används (minst två lägen).

Strukturera upp HTML- och CSS-kod på ett tydligt sätt och undvik attribut som inte används. Kommentera gärna koden vid behov (jag kommer att titta igenom den).

3. Webbplats

I den här uppgiften så ska du skapa en komplett webbplats som består av flera sidor. Vad webbplatsen ska handla om väljer du själv, det kan vara en sida om dig själv, om en förening, någon aktivitet du är intresserad av, en superhjälte, filmer eller din stora samling porslinskatter. Tanken är att du ska välja något du motiveras av.

Läs noga igenom instruktionerna på vad som måste finnas på din sida enligt uppgiften nedan innan du börjar, sedan gör du en enkel skiss på hur du planerar göra din webbplats. Du ska kunna redovisa planen under projektets gång.

Följande övergripande villkor skall uppfyllas för din webbplats:

  • Skapa en mapp som innehåller alla filer som behövs för webbplatsen, detta blir webbplatsens rotkatalog.
  • Webbplatsen skall omfatta minst tre html-sidor samt ett externt CSS-dokument.
  • En av html-sidorna skall fungera som startsida och ha namnet "index.html".
  • html-koden skall vara semantiskt korrekt. Detta innebär exempelvis att en rubrik alltid skall utgöras av ett h-element, ett stycke text av ett p-element, och så vidare.
  • All formatering av element skall ske i ett externt CSS-dokumentet.
  • OBS! Samtliga av dina HTML-sidor skall klara validering utan fel. (W3C validator)

För Godkänd-nivå krävs även att:

  • Webbplatsens layout skall baseras på semantiska element (footer, header etc) samt div-element (med tillhörande stilregler i ditt CSS-dokument). Du får således inte använda dig av tabeller för att skapa webbplatsens layout.
  • Webbplatsens huvudsakliga innehåll skall vara centrerat i webbläsaren (observera dock att textblocken (ex. <p>) i din layout inte skall vara centrerade).
  • Webbplatsen ska innehålla minst två kolumner formaterade i CSS med antingen flex eller grid
  • Använd minst en bild direkt i din html-kod.
  • Det skall finnas en bakgrundsbild definierad i css på valfritt HTML-element.
  • Det skall finnas en fungerande meny genom vilken en användare kan navigera mellan webbplatsens olika sidor.
  • Inom den här provuppgiften får alla CSS selektorer användas, men dessa måste finnas med:
    • ID-selektor
    • Klass-selektor
    • Descendant combinator - selektor (välj ättlingar till element)

För högre bedömningsnivå krävs att samtliga ovanstående villkor är uppfyllda samt:

  • På minst en av de tre html-sidorna skall ankarlänkar användas. Detta innebär länkar inom det aktuella dokumentet (exempelvis en länk från den övre delen av dokumentet till en specifik sektion i den nedre delen av det aktuella dokumentet).
  • Minst en av dina sidor ska innehålla en lista (ul eller ol) som presenteras horisontellt (men under inflytande utav en media query så ändras det till vertikalt, se kommande punkt)
  • All text på sidorna ska han en angiven textstorlek i ditt CSS. Alla textstorlekar ska anges med relativa värden i enheten em.
  • Använd dig utav följande tekniker i CSS någonstans på din webbplats
    • CSS Transitions
    • CSS Rounded Corners
    • CSS Animations
    • CSS Shadow Effects
    • CSS Opacity / Transparency
  • Utöver ovanstående specifikation så ska din CSS-fil innehålla en ”media query” för anpassning till mindre skärmar som genomför följande ändringar när webbläsarens bredd understiger 650 pixlar (du får ändra detta värde godtyckligt utifrån din layout):
  • Sidorna ska vara utformade så att layoutens totala bredd fyller webbläsarfönstrets bredd
  • Din horisontella lista ska nu presenteras vertikalt istället för horisontellt
  • Dina kolumner ska inte längre ligga bredvid varandra utan presenteras löpande efter varandra.

4. Sammansatt logotyp

Som ni sett tidigare så kan man göra ganska mycket för att formatera ett blockelement i CSS. Det är möjligt att använda flera bakgrundsbilder och övertoningar (gradients) i samma element och detta förklaras närmare på den här sidan. Läs igenom informationen på den sidan och se på exempelkoden hur man kan lägga flera effekter ovanpå varandra i ett element om man behöver det.

Skapa en snygg logotyp för din startsida med hjälp av sammansatta bakgrunder enligt länken till mitt exempel. Logotypen ska du använda på din egen startsida, men du ska göra en sida som förklarar hur du formaterat/skapat/satt-ihop den. Du ska visa upp relevant kod för logotypen (HTML och CSS) på instruktionssidan och även visa vilka bilder (om några) du använt för att sätta ihop den.

Du får använda dig av ::before och ::after om du vill, men hela logotypen ska annars bestå av ett blockelement.

Om du väljer att ha en hover-effekt så ska du också beskriva vad som händer/förändras när du hovrar.

Tillbaka till startsidan.
© Andreas Bergsten
Malgomajskolan 2023-24