Repository navigation
Expand file tree
/
Copy path2.html
More file actions
210 lines (188 loc) · 8.27 KB
/
Copy path2.html
File metadata and controls
210 lines (188 loc) · 8.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Metadaten anpassen -->
<meta name="description" content="Eine kurze Beschreibung Deiner App" />
<meta name="keywords" content="Schlagworte, mit Komma separiert" />
<meta name="author" content="Dein Name oder Organisation" />
<!-- Wenn Du nicht möchtest, dass die Seite von den Suchmaschinen indexiert wird,
den folgenden Tag auskommentieren -->
<!-- <meta name="robots" content="noindex" /> -->
<!-- Titel anpassen -->
<title>Ort 2</title>
<!-- Favicon anpassen bei Bedarf-->
<link rel="icon" type="image/svg+xml" href="../images/location-dot.svg" />
<link rel="stylesheet" href="../css/modal.css" type="text/css" />
</head>
<body id="body" class="iframe_content">
<!-- Link zum Impressum und der Datenschutzerklärung -->
<div class="impress" id="impressum">
<a target="_blank" href="impressum_datenschutz.html"
>Impressum und Datenschutz</a
>
</div>
<!-- Dein HTML -->
<h1>Ort 2</h1>
<p>
<a
target="_blank"
href="https://de.wikipedia.org/wiki/M%C3%BClheimer_Stadtgarten"
>
Mülheimer Stadtgarten</a
>
mit Blick auf den Weiher, Standort Süd.
</p>
<figure>
<img
src="../images/point_2_700.webp"
alt="Beschreibung"
style="max-width: 100%"
/>
<figcaption>Deine Bildunterschrift</figcaption>
</figure>
<hr/>
<h2>Nachhaltiges Webdesign: Thema Bilder</h2>
<p>Bilder sagen mehr als 1000 Worte. Leider sind Bilddateien im Vergleich zu Textdateien aber auch sehr groß.
Dann gehen entsprechend viel Daten über die Leitung und es wird entsprechend viel Energie verbraucht und CO<sub>2</sub> produziert.</p>
<p>Denk an die Umwelt, und versuche den Web-Traffic so gering wie möglich zu halten.
Mit 800 Millionen Tonnen CO<sub>2</sub> pro Jahr liegt
"das Internet" auf Platz 6 bei den Emissionen der "Länder" (<a target="_blank" href="https://www.heise.de/tp/features/Stromfresser-Internet-4776573.html">Quelle</a>).</p>
<h3>Komprimiere Deine Bilder</h3>
<p>Das Bildformat <a target="_blank" href="https://de.wikipedia.org/wiki/WebP">WebP</a> ist sehr effizient und wird inzwischen von allen modernen Browsern unterstützt.
WebP Dateien lassen sich einfach mit dem beliebten freien Grafikprogramm <a target="_blank" href="https://www.gimp.org/">GIMP</a> erstellen.</p>
<p>Falls Du auch ältere Browser unterstützen möchtest, bietet das HTML picture Element eine Rückfalllösung an.</p>
<picture>
<source srcset="../images/point_2_200.webp" type="image/webp">
<source srcset="../images/point_2_200.jpg" type="image/jpeg">
<img src="../images/point_2_200.jpg">
</picture>
<p>
<code>
<picture><br/>
<source srcset="../images/point_2_200.webp" type="image/webp"><br/>
<source srcset="../images/point_2_200.jpg" type="image/jpeg"><br/>
<img src="../images/point_2_200.jpg"><br/>
</picture>
</code>
</p>
<h3>Möglichkeiten Bilder effizient einzubinden</h3>
<p>Du kannst z.B. ein kleineres Bild erstellen, welches dann via Mausklick von den Nutzer*innen
bei Bedarf in einem neuen Fenster in voller Größe geöffnet werden kann.</p>
<center>
<figure>
<a
target="_blank"
href="../images/point_2_800.webp"
>
<img
src="../images/point_2_200.webp"
alt="Beschreibung"
/></a>
<figcaption>Deine Bildunterschrift (zum Vergrößern auf das Bild klicken)</figcaption>
</figure>
</center>
<p>So sieht das zugehörige HTML aus:</p>
<code>
<center> <br/>
<figure> <br/>
<a
target="_blank"
href="../images/point_2_800.webp"
>
<img
src="../images/point_2_200.webp"
alt="Beschreibung"
/></a> <br/>
<figcaption>Deine Bildunterschrift (zum Vergrößern auf das Bild klicken)</figcaption> <br/>
</figure> <br/>
</center>
</code>
<p>Mittels des Hyperlinks Tag <a> wird das hochauflösende Bild in einem neuen Browser Tab geöffnet.</p>
<!-- hier noch den Code reinschreieben -->
<p>Eine andere Möglichkeit ist es, mit dem HTML <picture> Tag die ausgelieferten Bilder
der Bildschirmbreite anzupassen, z.B. hier:
<ul>
<li> > 700px Bildschirmbreite Foto mit 800px Breite und 272 KB</li>
<li> > 500px Bildschirmbreite Foto mit 700px Breite und 207 KB</li>
<li> <= 500px Bildschirmbreite Foto mit 500px Breite und 114 KB</li>
</ul>
Dies kann natürlich noch verfeinert werden, und auch die Ausrichtung des Gerätes kann berücksichtigt werden (
<a
target="_blank"
href="https://www.w3schools.com/css/css_rwd_images.asp"
>Responsive Web Design - Images</a>).
</p>
<p> Wird nun mit dem Smartphone in der Bild hineingezoomt, ist die Auflösung natürlich auch entsprechend geringer.
Hier muss sich also überlegt werden, was jetzt sinnvoller ist. </p>
<p> Hier der HTML Code:</p>
<p>
<code>
<picture><br/>
<source
media="(min-width:700px)"
srcset="../images/point_2_800.webp"
/><br/>
<source
media="(min-width:500px)"
srcset="../images/point_2_700.webp"
/><br/>
<img
src="../images/point_2_500.webp"
alt="Beschreibung"
style="width: 100%"
/><br/>
</picture>
</code>
</p>
<picture>
<source
media="(min-width:700px)"
srcset="../images/point_2_800.webp"
/>
<source
media="(min-width:500px)"
srcset="../images/point_2_700.webp"
/>
<img
src="../images/point_2_500.webp"
alt="Beschreibung"
style="width: 100%"
/>
</picture>
<p> Das Attribut
<code>"width: 100%"</code>
bewirkt jetzt allerdings auch, dass das Bild immer auf 100%
der Bildschirmbreite ausgegeben wird. Deswegen ist es in vielen Fällen sinnvoller, mit
<code>"-max-width: 100%"</code>
zu arbeiten, da dies verhindert, dass das Bild größer dargestellt wird als es eigentlich ist.
</p>
<p>Wenn Du sehr viele Inhalte auf einer Seite hast, kannst Du die Bilder auch via "lazy loading"
dann hinzuladen, wenn die Nutzer*innen die Stelle bald erreichen.</p>
<code><img src="../images/point_2_500.jpg" loading="lazy" alt="Beschreibung" /></code>
<p>Da der Browser schon einige Zeit bevor die Stelle erreicht wird, mit dem Nachladen anfängt, musst Du jetzt für den Effekt
fleißig nach unten scrollen. Auf einigen Mobilgeräten funktioniert dies nicht wie gewünscht.</p>
<div style="height:2000px"></div>
<p>
<img id="lazyImg" src="../images/point_2_500.webp" style="max-width: 100%" loading="lazy" alt="Beschreibung">
</p>
</body>
<script>
// Nachricht senden sobald das Bild geladen wird.
// Entfernen falls die Seite überarbeitet wird
document.getElementById('lazyImg').addEventListener(
'load',
function(){
alert('Jetzt wird das Bild geladen');
},
false
);
// Impressum wegschalten bei Integration in die Karte
document.addEventListener('DOMContentLoaded', function (event) {
if (parent.document.getElementById('iframe')) {
document.getElementById('impressum').style.display = 'none';
}
});
</script>
</html>