I denna laboration ska du skapa en tabell i HTML och stilsätta den med CSS. Du ska också skriva en media query, för att ändra presentationen vid en smal skärm.
Följande är förslag på övningar. Experimentera gärna med egna förändringar, så att du lär dig hur egenskaperna fungerar.
Förberedelser
- Öppna mappen L7a i Visual Studio Code (VSC).
- Öppna filen index.html och style.css i VSC samt öppna sidan i Live Server.
- Studera den kod som finns i HTML- och CSS-filerna, så att du blir insatt i den.
Uppbyggnad av tabellen
HTML – Grunden för tabellen
- Skriv start- och sluttaggen för
table. - Lägg in ett
thead-element och därefter etttbody-element i tabellen.theadinnehåller tabellens rubrikrader ochtbodyraderna med data. Det gör strukturen tydlig, både för webbläsare och skärmläsare, och gör det enkelt att välja ut rubrikerna eller datan i CSS.
- I
theadlägger du in etttr-element med fyrath-element. I dem skriver du Titel, Genre, Land och År. - Lägg in attributet
scope="col"i allath-taggar.- Det talar om att rubriken gäller för kolumnen under den, vilket hjälper bl.a. skärmläsare att koppla ihop data med rätt rubrik.
- I
tbodylägger du in etttr-element med fyratd-element och skriver in uppgifter om en film, t.ex. Fest i byn, Komedi, Frankrike, 1949
CSS – Färger och kantlinjer
- Skriv en regel för
tablemedbackground-color: #FFF; - Skriv en regel för
th, tdmed kantlinje och inre marginal, t.ex.border: 2px solid #CCC;ochpadding: 6px;Lägg också intext-align: left; - Lägg in
border-collapse: collapse;i regeln förtable. - Lägg till en regel för
thmed en annan bakgrundsfärg och textfärg, t.ex.#960respektive#FFF.
HTML – Fler rader och beskrivning
- Lägg till
tr- ochtd-element för några fler filmer itbody, så att du har fem rader med filmer.- Skriv svensk titel på filmerna. Du ska sedan längre ner i denna lab lägga till ytterligare en kolumn med originaltitel.
- Lägg också in ett
caption-element med lämplig beskrivning av dina filmer, t.ex. Klassiska filmer.- Observera att caption måste ligga först i table.
CSS – Piffa upp tabellen
- Lägg in
caption-side: bottom;i regeln förtable. - Skriv en regel för
captionmedmargin-top: 1em;ochfont-style: italic; - Lägg en skugga på tabellen, genom att i regeln för
tablelägga inbox-shadow: 10px 10px 15px #666; - Lägg till en regel för
tbody tr:nth-of-type(even)medbackground-color: #EDC;- Detta specificerar varannan rad i
tbody, de med jämna ordningsnummer. Rubrikraderna itheadpåverkas alltså inte.
- Detta specificerar varannan rad i
Slå ihop rader och kolumner
HTML – Två kolumner för titel
- Lägg till ett
tr-element ithead, under det första med rubrikerna. Det nyatr-elementet ska alltså bli den andra rubrikraden och i det lägger du in tvåth-element medscope="col"och texterna Original och Svensk. - I början av varje rad för filmerna lägger du in ytterligare ett
td-element med originaltiteln. - I
th-elementet med texten Titel lägger du in attributetcolspan="2". - I
th-elementen för Genre, Land och År lägger du in attributetrowspan="2".
CSS – Jämna till rubrikerna
- I regeln för
th, tdlägger du invertical-align: bottom;- Det behövs egentligen endast för
th, men eftersom vi nu har en gemensam regel förthochtd, kan det läggas där. Innehållet itd-elementen upptar endast en rad, så det spelar ingen roll om vi harvertical-aligndär.
- Det behövs egentligen endast för
Validera koden
- Validera både HTML- och CSS-filen och rätta eventuella fel.
- HTML-validator: https://validator.w3.org/nu/
- CSS-validator: https://jigsaw.w3.org/css-validator/#validate_by_upload