Markup:
CSS en HTML5
Hoorcollege Webdesign 5
16 mei 2014
Christof van Nimwegen
1
CSS: Waarom ook alweer….
HTML
was bedoeld voor documentstructuur
(text met verschillende levels in
headings en body text)
Plaatjes
Tabellen (ook gebruikt voor positioneren)
HTML 3.2
mogelijkheid om lettertypen, kleuren en vele andere visuale
aspecten te definieren.
De eigenlijke geboorte van web DESIGN (nu was de content niet
meer het belangrijkste, ook de presentatie)
2
Style sheets en style sheet talen
De plek van descriptive markup is helder
Maar waar komt de presentatie dan terecht?
Style sheets, geschreven in een style sheet
taal
Diverse style sheet talen
DSSSL, voor SGML
XSL, voor XML (XSL-FO, XSLT, XPath)
CSS, voor (X)HTML en XML
Voordelen CSS
Minder data download, kortere laadtijd
Schonere code is beter voor zoekmachines
Hoeft maar 1x iets te veranderen, dus:
Efficiëntie en tijdswinst in het ontwikkelproces
Makkelijker onderhoud
Meer vormgevingsmogelijkheden dan HTML
Cooler design
Responsivenses !
4
Cascading?
Diverse plekken voor style specificatie
Voorrangsregels bepalen welke style "wint"
Prioriteit (in afnemende volgorde)
Inline style (in een HTML element
Embedded style (in the <head> tag)
Extern style sheet
Browser standaardwaarden (default)
Cascading?
6
Locatie style sheet
Externe style sheet
<head>
<link rel="stylesheet" type="text/css"
href="mystyle.css"/>
</head>
<h1>Head!</h1>
<p>My text.</p>
Externe style sheetS
<head>
<link rel="stylesheet" type="text/css"
href="defaults.css"/>
<link rel="stylesheet" type="text/css"
href="specifics.css"/>
</head>
CSS Selectors
Selector: WAT krijgt een style?
x (elementen van een bepaald type, bv. lijst)
# (zaken die een ID hebben adresseren)
.error {color: red;}
* (alles)
#container {width: 960px;}
. (zaken die een CLASS hebben adresseren)
ul { color: red; }
* {margin: 0;}
…….heel veel meer
8
Gecombineerde Selectors
a.b
*.b
a#b
a, b
a met class attribute b
alle elementen met class attribute b
a met id attribute b
a of b
pseudo-classes, bij voorbeeld
A:active
A:visited
A:visited:active
…….
en nog veel meer in CSS3
9
CSS Property: welk eigenschap stylen?
color
red, yellow, rgb(212,120,20)
font-style
normal, italics, oblique
font-size
12pt, larger, 150%, 1.5em
text-align
left, right, center, justify
line-height
normal, 1.2em, 120%
display
block, inline, list-item, none
http://www.w3schools.com/cssref/
vaardigheid, oefening en opzoeken
onze practicumoefeningen (basics)
http://www.w3.org/Style/Examples/011/firstcss
www.w3schools.com (maar zie ook
www.w3fools.com)
10
Dus…
Inline styles
<h1 style="font-family: 'Times New
Roman';">Head!</h1>
<p style="color: red; margin-left: 20px;">My
text.</p>
Interne style sheet
<head>
<style type="text/css">
h1 {font-family: 'Times New Roman';}
p {color: red; margin-left: 20px;}
</style>
</head>
[…]
<h1>Head!</h1>
<p>My text.</p>
Eenheden, lengtematen
Absolute eenheden
in, cm, mm
pt (point, 1pt=1/72in), pc (pica, 1pc=12pt)
px
Relatieve eenheden
body {font-size: 10pt;}
p
{border: 3px solid red;}
h1
{font-size: 1.8em;}
vw, vh, vm: viewport (CSS3) img {max-height: 95vh;}
em: huidige font size
ex: huidige hoogte van de kleine letter x
….
Centraal in CSS: Box model
algemeen model voor block elementen
vier zones
voor padding, border en margin 1 of 4 waarden
eenheden: px, em, pt, cm (gooi ze niet door elkaar)
tools als Firebug laten box-eigenschappen duidelijk
zien
boxen kun je positioneren
13
Bijvoorbeeld de vaksite
div.head {
background-image: url(titel.gif);
height: 70px;
background-repeat: no-repeat;
}
div.body {
position: absolute;
left: 190px;
margin: 0 1em 0 0;
}
div.menu {
font-size: 13px;
line-height: 19px;
position: absolute;
width: 190px;
background-image: url(menu.gif);
height: 953px;
background-repeat: no-repeat;
}
<body>
<div class="head"> </div>
<div class="menu">
<!-- ul voor menu -->
</div>
<div class="body">
<h1>Webdesign</h1>
<h2>Laatste Nieuws</h2>
</div>
</body>
14
http://www.barelyfitz.com/screencast/html-training/css/positioning/
15
Specificiteit in actie
span {color: red;}
span span {color: blue;}
span.foo {color: green;}
span span.foo {color: turquoise;}
span.bar {color: maroon;}
<span class="foo">Hey!</span>
<span>Wow!
<span>Amazing!</span>
<span class="foo">Impressive!</span>
<span class="bar">k00l!</span>
<i>Fantastic!</i>
</span>
CSS 3
17
CSS 3 (sommigen waren er al in CSS2)
Animations / transities
Visuele effecten (border-radius, rgbacolor, boxshadow, text-shadow, gradient)
Ronde hoeken
Vrijheid fonts (ook Webfonts)
Border images
Aural style sheets?
Media queries
….en nog veel meer
En overal zijn tools voor!
18
Bijvoorbeeld: Web fonts
http://www.fontsquirrel.com/fonts/list/find_fonts
19
Fonts als icons
Waarom?
Afbeeldingen zorgen (meestal) voor meer
laadtijd)
Afbeeldingen zijn niet altijd even scherp
Fonts wel, ook bij inzoomen, of op een
Retina scherm
20
Fonts als icons!
Afbeelding-icon
Font-icon
Normaal
Zoom
Retina,
HiDPI
21
Fonts als icons
22
En andere effecten….
23
En ……
24
Google fonts
25
Bijvoorbeeld: Animaties (simpel)
26
Bijvoorbeeld: Animaties (iets fancier)
27
Maar…we zijn er nog niet (vanaf)….
Browser specifieke prefixed
properties
-webkit voor Chrome, Safari
-moz voor Firefox
-o voor Opera
-ms voor Internet Explorer).
Worden gebruikt om nieuwe, of
experimentele CSS te testen,
voordat ze officieel geaccepteerd
zijn door W3C.
28
Dus:
background: -webkit-linear-gradient(#ff0000, #000000);
background: -moz-linear-gradient(#ff0000, #000000);
background: -ms-linear-gradient(#ff0000, #000000);
background: -o-linear-gradient(#ff0000, #000000);
background: linear-gradient(#ff0000, #000000);
29
30
Vele tools!
http://css3generator.com/
http://www.css3maker.com/
http://westciv.com/tools/gradients/
http://font-combinator.com/
http://css3.mikeplate.com/
http://www.css3.me/
…..
31
Responsiveness
32
Responsiveness
Responsive webdesign: een einde aan de
mobiele versies?
Eigenlijk….conditioneel CSS
Ontwikkeltools zoals Gridset, Bootstrap!
Test tools zoals
http://mattkersley.com/responsive/
http://www.jamus.co.uk/demos/rwddemonstrations/
http://responsivetest.net/
33
HTML5
HTML5
35
HTML5
waarom was XHTML niet goed genoeg meer?
documentgericht
weinig interactie
gebrekkige ondersteuning multimedia
een paar highlights
minder scripting, minder code
minder overhead, meer vrijheid
living standard, klaar in 2022?
Cross-platform ( tablet ,smartphone, a netbook, notebook or a
Smart TV).
Webapplications that still work when you are not online.
Audio en video
in HTML5 geen externe plugins meer nodig
<audio controls="controls">
<source src="song.mp3" type="audio/mpeg"/>
Your browser does not support the audio tag.
</audio>
<video controls="controls" autoplay="autoplay">
<source src="movie.mp4" type="video/mp4"/>
<source src="movie.ogg" type="video/ogg"/>
Your browser does not support the video tag.
</video>
<video controls>
<source src="movie.mp4">
</video>
Nieuwe elementen, zoals
<header>, <nav>, <article>, <section>,
<aside>, <footer>, <canvas>
<progress>, <mark>, <summary>, <detail>
Dus….div? HTML5 Semantically
richer!!
39
HTML5: het einde van Flash?
<canvas>: Tekenen en animatie (wel met JS)
Interactief, flexibel, browser/platform, is een
web standaard (part of HTML5), develop once,
run everywhere, gratis, toegankelijke tools
40
Meer over HTML5?
All over the web
Colleges vak Webtechnologie
gebruik van HTML 5 wat handig is
Gebruik “gewone browsers (=Firefox 20.0)”
41
Hoofdpunten
CSS
rules, selectors, properties
overerving eigenschappen
box model, positionering, eenheden
HTML5
living standard
nieuwe elementen
multimedia
compatibiliteit
42
Vragen?
43
© Copyright 2026 ExpyDoc