HTML & CSS für Einsteiger

HTML & CSS für Einsteiger (Teil 09): Grafiken fürs Web (01)

Alle Videos des Tutorials HTML & CSS für Einsteiger

Wenn ihr Bilder in einem Grafikprogramm abspeichert, werden ganz verschiedene Grafikformate angeboten. Welches davon soll man aber wählen, wenn es um darum geht, das Bild in eine Webseite einzubinden?

HTML & CSS für Einsteiger (Teil 09): Grafiken fürs Web (01)

Will man auf seiner Webseite ein Bild präsentieren, hat man die Wahl zwischen drei Formaten.

• GIF

• JPEG

• PNG

Welches Format wählt man aber für welchen Einsatzzweck? Nimmt man für Fotos lieber GIF oder PNG? Zunächst ein kurzer Überblick über die Fähigkeiten der einzelnen Formate.

Eigenschaft JPEG GIF PNG
Verlustfreie Speicherung Nein Ja Ja
Farben 24 Bit indiziert bis 256 indiziert (bis 256), 24 bit oder 48 bit
Transparenz Nein Ja, eine Farbe Ja
Progressives Laden bzw. Interlacing Ja Ja Ja
Animationen Nein Ja Nein



Diese kleine Übersicht zeigt bereits die unterschiedlichen Eigenschaften der Formate. Da verwundert es natürlich wenig, dass sich bestimmte Formate für einzelne Einsatzzwecke besser eignen als andere. Genau an diesem Punkt setzt der folgende Abschnitt an. Dort wird gezeigt, wann man am besten welches Format einsetzt.

Fotos

Keine Frage, für Fotos setzt man JPEG ein. Denn hierin lassen sich Bilder sehr gut komprimieren, wobei die Qualität variabel gewählt werden kann. Man findet hier die richtige Balance zwischen Qualität und Kompressionsrate.

Screenshots/Diagramme

Hierfür eignet sich das PNG-Format am besten. Interessant ist PNG auch für technische Zeichnungen, Grundrisse usw. PNG kann außerdem bei Bildern verwendet werden, bei denen man mit transparenten Bereichen arbeitet.

Schriften/Logos

Wenn ihr in eurem Logo Text stehen habt oder überhaupt Schrift darstellen wollt, solltet ihr GIF oder PNG verwenden. Aufgrund der besseren Performance greift man jedoch üblicherweise zu PNG. JPEG ist für die Darstellung von Schriften jedenfalls ungeeignet, da die Ränder unsauber angezeigt werden.

Transparenz

Wenn es um die Darstellung transparenter Bereiche geht, scheidet JPEG vor vorneherein aus. Übrig bleiben also GIF und PNG. Welches dieser beiden Formate verwendet man aber nun, wenn es auf die Transparenz ankommt? GIF kann prinzipiell zwar mit Transparenz umgehen, die Ergebnisse sind aber meistens unsauber. Ein Pixel kann im GIF-Format nämlich entweder nur vollständig sichtbar oder aber eben vollständig transparent sein. Bei PNG tritt dieses Phänomen nicht auf. Dieses Format besitzt einen zusätzlichen Alphakanal, dank dem feinere Transparenz-Ergebnisse erzielt werden.

Bilder einbinden

Grafiken lassen sich über das img-Element einbinden. (Beachtet bitte, dass Bilder mittlerweile sehr oft über CSS eingebunden werden. Ausführliche Informationen zu CSS folgen natürlich noch. Der gezeigte HTML-Weg ist aber völlig standardkonform und kann auch in HTML5 bedenkenlos genutzt werden.)

<img src="logo.png" alt="PSD-Tutorials.de" />

Das, was in die Zwischenablage geladen wird, sollte im Endeffekt so aussehen:

http://4eck-media.de/wp-content/uploads/2013/01/logo-psd-tutorials.jpg

Hierbei handelt es sich also um die vollständige Adresse des Bildes. Diese Information genügt bereits, um das Bild einzubinden.

<img src=" http://4eck-media.de/wp-content/uploads/2013/01/logo-psd-tutorials.jpg" alt="PSD-Tutorials.de" />

Das Problem an diesen absoluten Pfaden ist aber letztendlich, dass man keine wirkliche Kontrolle über den eingebundenen Inhalt hat. Wird die von euch referenzierte Grafik also vom Server gelöscht oder dort in ein anderes Verzeichnis verschoben, gibt es einen Anzeigefehler.

HTML & CSS für Einsteiger (Teil 09): Grafiken fürs Web (01)



Daher sollte dieses absolute Referenzieren tatsächlich die Ausnahme sein.

Absolute Pfadangaben relativ zur Basis-Adresse

Diese Variante bietet sich immer dann an, wenn die Grafik auf dem gleichen Rechner/Server wie die HTML-Datei liegt und über das aktuelle Protokoll erreichbar ist. Das klingt kompliziert, ist es aber nicht.

Ein Beispiel:

http://4eck-media.de/wp-content/uploads/2013/01/logo-psd-tutorials.jpg

Dabei handelt es sich um die vollständige Adresse. Der folgende Teil ist dabei die absolute Pfadangabe.

wp-content/uploads/2013/01/logo-psd-tutorials.jpg

Diese absolute Pfadangabe bezieht sich relativ auf die Basis-Adresse http://4eck-media.de.

Relative Pfadangaben relativ zur Basis-Adresse

src="images/logo.png"



Wie würde das Ganze aber aussehen, wenn sich das Bild in einem Verzeichnis befindet, das oberhalb der HTML-Datei liegt?

projekt
--images
-----logo.png
--archiv
-----index.htm


In diesem Fall liegt die index.htm ein Verzeichnis unterhalb des einzubindenden Bildes logo.png.

src="../images/logo.png"



Die Syntax bedeutet hier also: Gehe eine Ebene nach oben, wechsle dort in das Verzeichnis images und zeige die logo.png an.

projekt
--images
----logo.png
----2013
------januar
--------index.htm


Hier sieht die Syntax so aus:

src="../../images/logo.png"



Das Bild logo.png liegt in diesem Fall zwei Ebenen oberhalb der index.htm im Verzeichnis images.

Der Vorteil der relativen Pfadangaben ist deren Flexibilität. Ihr könnt so beispielsweise das Projekt lokal entwickeln und dann auf einen "echten" Server kopieren. Die Pfade stimmen danach unverändert.

ICONS TEST

/sprites/ui.svg:

alert
apple-pay
apple
arrow-down
arrow-right
arrows
checkbox
checked
chevron-down-small
chevron-down
chevron-left
chevron-right-doble-primary
chevron-right
chevron-up-small
chevron-up
close-cross
close-small
close
cog
complete
copy
eye-lock
eye
facebook-logo
file
form-select-arrow-up
form-select-arrow
google-icon
icon-als-gast-fortfahren_b
icon-anmelden1_b
icon-anmelden2_b
icon-globe
icon-neues-konto-erstellen_b
icon-resize-out
information-icon-button
left-align
letters
like
link-arrow
link
list-icon
lock
mail
medal
moon
notification
open-small
picture
pinterest-2
play
plus-white
quizz
rate
refresh-211
refresh-282
reset
reward
search-thin
search
star
sun
user
warenkorb

/sprites/image-editor.svg:

align-center
align-left
align-right
alignment-center
alignment-left
alignment-right
alignment-vertical-bottom
alignment-vertical-center
alignment-vertical-top
background-test
background
bold
bring-forward
bring-to-front
capslock
change-size
check-point
constrain
copy
crop-image
delete
download
edit-file-name
editable
flip-horisontally
flip-vertically
group-layer
help
hide
italic
justified
layers
line-spacing
lock
not-editable
open-group
paste
redo
rotate
save
send-backward
send-to-back
shape-layer
shapes
show
strike
text-layer
text
translate
underline
undo
unlock
zoom-in
zoom-out

/sprites/paint.svg:

brush
clear
cursors
eraser
escape
full-screen
marker
navigate
pencil
print
refresh
save
spray
zoom-in
zoom-out

/sprites/theme.svg:

001-01
001-02
001-03
001-04
001-05a
001-05b
001-05c
002-05a
3d-square-software-icon-dark
architektur-software-icon-dark
arrows-down-active
arrows-up-active
assets-templates-download-icon-dark
butterfly-answer-icon-dark
category-icon-example
certificate_alternate
certificate_downloaded
certificate_grey
certificate_primary
edit-multiple
edit
facebook
folder
grey-pause
grey-play
grey-stop
icon-als-gast-fortfahren_c
icon-anmelden1_c
icon-anmelden2_c
icon-neues-konto-erstellen_c
icons-cookie
instagram
interests-1
lamp-idea-bulb-smart-icon-dark
linkedin
pinterest
plus
red-cross
reload
toggle-list-active
toggle-list
toggle-on-off-active
toggle-on-off
toggle-single-active
toggle-single
toggle-switch-active
toggle-switch
trash
trophy-inactive
urkunden-zertifikate-software-icon-dark
video-streaming-icon-dark
xing

/sprites/banners.svg:

bild
icons8-google
proven_expert_4eck-tutkit

/sprites/elements-of-design.svg:

annika-hillger
annika-hillger
annika-hillger
annika-hillger_100
annika-hillger_100
annika-hillger_100
blockquote-border-line
icons-svg-log-in
svg-log-in
svg-registration

/sprites/logotypes.svg:

logo-big-colored
logo-big-dark
logo-big-green
logo-big
logo-dark
logo-green
logo-light-grey
logo-light-white
logo-mini-dark
logo-mini-green
logo-mini
logo-payment
logo-small-dark
logo-small-green
logo-small
logo-tutkit
logo
tutkit_pirate-bay
tutkit_voucher_top

/sprites/payment-provider.svg:

apple-pay-2
apple-pay-white
apple-pay
card-bank
card-mastercard
card-paypal
creditcard
g-pay-2
g-pay
google-pay-2
invoice
mastercard
payment-google-pay
paypal-2
paypal
sepa
visa
[]