historical WWW logo (Robert Cailliau, 1990)
08 Jun '26, maschinenraum
(pls click somewhere on the slide, then you can scroll through them with the mouse wheel or the arrow keys)
if u need anything hmu on fediverse,
via email (BUW, jakob dot bela dot ruckel) or at
maschinenraum open space (every
wednesday 17:00–19:00)
webdev
image source: https://redd.it/1fpgddo
⟷
image source: https://redd.it/1fpgddo
⟷
image source: https://redd.it/1fpgddo
⟷
⤢

“what if we, like, organized our science information, but better?”
– Tim Berners-Lee (1989)
(paraphrased)
![]()
Photograph by Mike Peel (www.mikepeel.net), CC-BY-SA-4.0

first ever web server (CERN, 1990) second vr lab domain controller (BUW, 2025)
Photograph by Mike Peel (www.mikepeel.net), CC-BY-SA-4.0


you’ll need:
npm i -g live-server, run: live-server
index.html in therelive-server, …)
<!DOCTYPE html>
<html>
<head>
<title>My site</title>
</head>
<body>
<h1>Hello!</h1>
<p>this is so cool!</p>
<img src="https://http.cat/200"/>
</body>
</html>
this is so cool!
<p> Paragraph with <b>bold</b>, <i>italic</i>, and <u>underlined</u> text </p>
<ul>
</ul>
<a href="https://example.com">Link</a><img src="https://http.cat/200"/><br/><span>hello!</span><hr><code>code</code><!-- i am a comment -->
<div> is a container<div style="padding: 0.5em; background-color: lightblue">
<div style="padding: 0.5em; background-color: pink">
<div style="padding: 0.25em; background-color: white">
<marquee>hello!</marquee>
</div>
</div>
</div>
p { background-color: red; }
p is the selector, selecting all <p> elements, andbackground-color is a property…red<img style="width: 20%;" src="https://http.cat/404"/>
specific to the element → high priority
within your HTML: <style> * { font-family: "Comic Sans MS"; } </style>
foo.css) next to your html.
include like this:<head>
<link rel="stylesheet" href="foo.css"/>
</head>
<p class="my-cool-class">hi</p>
<p id="my-cool-id">hi</p>
p { background-color: red; }
.my-cool-class { background-color: green; }
#my-cool-id { background-color: blue; }
span.rainbow selects <span> with the rainbow classp img selects all <img> that are (somewhere) inside a <p>
p > img only selects ones that are direct childrena:hover selects all #foo that the user is hovering over
#link-pseudo-classes:hover {background-color: black; color: white}#bar:hover::before { content: "i am a link to " }this is some crazy stuff, all w/o javascript!
If you really need to override something you can mark it as
!important.
<style>
.x3 { font-size: 2em; }
.x3:hover { background: pink; }
.rawr a:hover { background: orange; }
</style>
<div class="rawr">
<a class="x3" href="#">hewwo :3</a>
</div>
If you really need to override something you can mark it as
!important.
<style>
.xD { font-size: 2em; }
.xD:hover { background: pink !important; }
.rawr a:hover { background: orange; }
</style>
<div class="rawr">
<a class="xD" href="#">hewwo :3</a>
</div>
(might be considered sinful, but might also come in handy)
font-size, width, height, padding, margin, …
1 em = size of the font (relative to parent)1 rem = size of the font1 px = 1 pixel1 vh (1 vw) = height (width) of the viewport0 (nothing)% (relative to parent)this concludes the overview!
for more HTML/CSS stuff:
Legal disclaimer for when u put a website on the internet:
Options (a very much non-exhaustive list):
abcd1234
~ became synonymous with home~abcd1234/ = /home/abcd1234/~abcd1234/public_html/Apache 1.3 Documentation, 2001
webuser.uni-weimar.deabcd1234*******there’s also some more detailed documentation from SCC

<your-name-here>.neocities.org<your-name-here>.github.ioenough of that.

slides online at: http://jakob.ruckel.de/slides/www-i/