From b4ab50ac3fd0ede597493e068ba081047ed2be85 Mon Sep 17 00:00:00 2001 From: Andre Meyering Date: Sun, 30 Jul 2017 17:36:55 +0200 Subject: [PATCH] [Inhalt] Typos; Korrekturen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Typos korrigiert und Inhalt teilweise ergänzt/korrigiert. --- Kapitel/02_Motivation_Historie.tex | 96 ++++++++++++++---------------- Kapitel/03_HTTP.tex | 42 +++++++------ Kapitel/04_IP.tex | 3 +- Kapitel/05_HTML.tex | 27 +++++---- Kapitel/06_URL.tex | 7 ++- Kapitel/07_CSS.tex | 8 +-- 6 files changed, 95 insertions(+), 88 deletions(-) diff --git a/Kapitel/02_Motivation_Historie.tex b/Kapitel/02_Motivation_Historie.tex index f7cf953..93755d1 100644 --- a/Kapitel/02_Motivation_Historie.tex +++ b/Kapitel/02_Motivation_Historie.tex @@ -43,82 +43,43 @@ Der \enquote{Hyperlink} ist ein Verweis mit automatischer Verweisauflösung. Er \item \enquote{Erfinder} des Hyperlinks: Vannevar Bush, 1945 \item siehe \enquote{As we may think}, Atlantic Monthly, 1945 \item siehe Maschine \enquote{memex} (Memory extension) - $\Rightarrow$ Information auf Mikrofilm mit Verweismöglichkeit inkl. Automatischer Verweisauflösung + $\Rightarrow$ Information auf Mikrofilm mit Verweismöglichkeit inkl. automatischer Verweisauflösung \end{itemize} \subsection{Zwei Eigenschaften des \acs{WWW} (\enquote{Erfolgsfaktoren})\label{sec:lokations_medienunabhaengigkeit}\index{WWW}} -\begin{enumerate}[noitemsep] +\begin{enumerate} \item \textbf{Lokationsunabhängigkeit} - $\Rightarrow$ unabhängig von der Lokation der Information und der Suchenden; - die Information kann immer \enquote{auf die gleiche Weise} beschafft werden. + Unabhängig von der Lokation der Information und des Suchenden, kann die + Information immer \enquote{auf die gleiche Weise} beschafft werden. - Beim Design des \acs{WWW} von \href{https://de.wikipedia.org/wiki/Tim_Berners-Lee}{Tim Berners-Lee} geplant + Beim Design des \acs{WWW} von \href{https://de.wikipedia.org/wiki/Tim_Berners-Lee}{Tim Berners-Lee} geplant. - \item \textbf{Medienunabhängigkeit} - $\Rightarrow$ Die Information kann grundsätzlich in verschiedenen Medienformen + \item \textbf{Medienunabhängigkeit} \hfill \newline + Die Information kann grundsätzlich in verschiedenen Medienformen (Text, Bild, Video, Audio, \ldots ) vorliegen. Ursprünglich nicht geplant und nicht im Web enthalten. Belege: - \begin{itemize}[noitemsep] + \begin{itemize} \item HTML: Hyper \textbf{Text} Markup Language \item HTTP: Hyper \textbf{Text} Transfer Protocol - \item $\Rightarrow$ in ersten Versionen \textbf{nur} Unterstützung von Text vorhanden! (\textbf{Klausurrelevant!}) + \item[$\Rightarrow$] in ersten Versionen \textbf{nur} Unterstützung von Text vorhanden! (\textbf{Klausurrelevant!}) \end{itemize} \end{enumerate} -\bigskip -\bigskip -\bigskip -\bigskip -\bigskip -\bigskip -\bigskip - -\begin{table}[h] - \begin{tabular}{c|p{34mm}|p{30mm}|p{75mm}} - Nr. & Deutsch & Englisch & Beschreibung \\ - \midrule - - 7 & Anwendungsschicht & Application Layer & Realisierung des Kommunikationsmodells für die jeweilige Anwendung (Client/Server; Peer-to-Peer) \\ - \midrule - - 6 & Darstellungsschicht & Presentation Layer & Zeichen-/Anwendungskodierung \\ - \midrule - - 5 & Kommunikations-\newline steuerungsschicht (besser nicht: Sitzungsschicht) & Session Layer & Sychronisierung der Anwendung; Transaktionssteuerung; (\zB RPC Protokoll) \\ - \midrule - - 4 & Transportschicht & Transport Layer & Verbindungen; Vollständigkeit/Fehlerfreiheit/Reihenfolge; Port-/Anwendungsadressierung; (\acs{TCP}/\acs{UDP}) \\ - \midrule - - 3 & Vermittlungsschicht & Network Layer & Wegewahl/Routing; Adressierung (mit IP-Adresse) \\ - \midrule - - 2 & Sicherungsschicht & Data Link Layer & \href{https://de.wikipedia.org/wiki/Logical_Link_Control}{LLC}: Logical Link Control (Integritätsüberprüfung) \\ - \midrule - - & & & \href{https://de.wikipedia.org/wiki/Media_Access_Control}{MAC}: Medium Access Control (Adressierung mit \href{https://de.wikipedia.org/wiki/MAC-Adresse}{MAC-Adresse}); Regelung des Zugangs auf das \enquote{shared-medium} \\ - \midrule - - 1 & Bitübertragungs-\newline schicht & Physical Layer & Signalkodierung ; Stecker/Kabelform - \end{tabular} - \caption{OSI-7-Schichten-Modell} - \label{tbl:osi_7_schichten} -\end{table} \newpage \section{ISO-OSI-7-Schichten-Architektur} -Die 7 Schichten des ISO-OSI-7-Schichten-Architektur\index{OSI-7-Schichten-Architektur} werden in \autoref{tbl:osi_7_schichten} auf Seite \pageref{tbl:osi_7_schichten} dargestellt. +Die 7 Schichten des ISO-OSI-7-Schichten-Architektur\index{OSI-7-Schichten-Architektur} werden in \autoref{tbl:osi_7_schichten} dargestellt. \textbf{Hinweis}: Schicht 2 kann unterteilt werden. \begin{itemize}[noitemsep] \item Ab der Transportschicht werden nur noch Ende zu Ende Verbindungen betrachtet. - \item \textit{siehe} Wikipedia\footnote{\url{https://de.wikipedia.org/wiki/OSI-Modell}} + \item \textit{siehe} Wikipedia (\url{https://de.wikipedia.org/wiki/OSI-Modell}) \end{itemize} @@ -132,3 +93,38 @@ Die 7 Schichten des ISO-OSI-7-Schichten-Architektur\index{OSI-7-Schichten-Archit \end{tabular} \acs{HTTP} als Anwendungsprotokoll des 4-Schichten-Internet-Modells benötigt als unterliegendes Protokoll der Transportschicht \acs{TCP} (\acs{UDP} geht nicht!). + +\medskip +\begin{table}[h!] + \hspace*{-6mm} + \begin{tabular}{c|p{33mm}|p{30mm}|p{89mm}} + Nr. & Deutsch & Englisch & Beschreibung \\ + \midrule + + 7 & Anwendungsschicht & Application Layer & Realisierung des Kommunikationsmodells für die jeweilige Anwendung (Client/Server; Peer-to-Peer) \\ + \midrule + + 6 & Darstellungsschicht & Presentation Layer & Zeichen-/Anwendungskodierung \\ + \midrule + + 5 & Kommunikations-\newline steuerungsschicht (besser nicht: Sitzungsschicht) & Session Layer & Sychronisierung der Anwendung; Transaktionssteuerung; (\zB RPC Protokoll) \\ + \midrule + + 4 & Transportschicht & Transport Layer & Verbindungen; \newline Vollständigkeit/Fehlerfreiheit/Reihenfolge; \newline + Port-/Anwendungsadressierung; (\acs{TCP}/\acs{UDP}) \\ + \midrule + + 3 & Vermittlungsschicht & Network Layer & Wegewahl/Routing; Adressierung (mit IP-Adresse) \\ + \midrule + + 2 & Sicherungsschicht & Data Link Layer & \href{https://de.wikipedia.org/wiki/Logical_Link_Control}{LLC}: Logical Link Control (Integritätsüberprüfung) \\ + \midrule + + & & & \href{https://de.wikipedia.org/wiki/Media_Access_Control}{MAC}: Medium Access Control (Adressierung mit \href{https://de.wikipedia.org/wiki/MAC-Adresse}{MAC-Adresse}); Regelung des Zugangs auf das \enquote{shared-medium} \\ + \midrule + + 1 & Bitübertragungs-\newline schicht & Physical Layer & Signalkodierung; Stecker/Kabelform + \end{tabular} + \caption{OSI-7-Schichten-Modell} + \label{tbl:osi_7_schichten} +\end{table} diff --git a/Kapitel/03_HTTP.tex b/Kapitel/03_HTTP.tex index 3043e6b..78287c1 100644 --- a/Kapitel/03_HTTP.tex +++ b/Kapitel/03_HTTP.tex @@ -1,17 +1,18 @@ \chapter{\acf{HTTP}}\index{HTTP}\label{sec:http} -\textit{Was ist ein Protokoll\index{Protokoll}?} \newline +\textit{\textbf{Was ist ein Protokoll?}} \index{Protokoll} \newline Ein Protokoll ist verbindliche Vereinbarung (Regeln), wie zwei (oder mehr) Teilnehmer miteinander kommunizieren. \section{HTTP 0.9 (1991) - Erste Version}\label{http09} Request: \code{GET /pdf/zur/ressource} \newline -Response: \code{} \newline +Response: \code{} + Problem: Nur Plain-Text und \acs{HTML} (erkennbar am Anfang \html{}) sind erlaubt und möglich. \newline Problem: Fehler sind nicht sicher erkennbar. \section{HTTP 1.0 (1992)}\label{sec:http10} Request: \code{GET /pdf/zur/ressource HTTP/1.0} \newline -Response: beginnt mit einer Statuszeile: \code{HTTP/1.0 } +Response: beginnt mit einer Statuszeile: \code{HTTP/1.0 }, danach Response-Header. \subsection{Status Codes}\label{sec:statuscodes}\index{HTTP!Statuscode} @@ -23,7 +24,7 @@ Response: beginnt mit einer Statuszeile: \code{HTTP/1.0 }] Größe der Antwort in Bytes + \item[\code{Content-Length: }] Größe der Antwort in Bytes \begin{itemize}[noitemsep] \item Wichtig für Anzeige von Download-Fortschrittsbalken \item Wichtig für Caches in Browsern und Proxies @@ -96,13 +98,14 @@ Eine Leerzeile beendet die \acs{HTTP}-Header-Zeilen, danach folgt das Dokument. \subsection{Weitere Request-Typen}\index{HTTP!Requests} -Mit HTTP 1.0 wurden weitere Request Typen eingeführt. +Mit \acs{HTTP} 1.0 wurden weitere Request Typen eingeführt. \subsubsection{HEAD-Request} -\code{HEAD /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ liefert nur die Statuszeile und \acs{HTTP}-Headerzeile. +\code{HEAD /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ liefert nur die Statuszeile und \acs{HTTP}-Headerzeilen. \subsubsection{POST-Request} -\code{POST /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ gefolgt von Parametern (signalisiert wie bei einer Response über \acs{HTTP}-Headerzeilen). +\code{POST /pfad/zur/ressource HTTP/1.0} \newline +$\Rightarrow$ gefolgt von Parametern (signalisiert wie bei einer Response über \acs{HTTP}-Headerzeilen). \subsection{Was funktioniert nicht?} @@ -110,10 +113,12 @@ Mit HTTP 1.0 wurden weitere Request Typen eingeführt. \acs{HTTP} 1.0 funktioniert gut, aber was funktioniert nicht bzw. was geht besser? Ist es möglich, mehrere \acs{FQDN} auf eine IP-Adrese zu leiten? \newline -\hspace*{4mm} $\Rightarrow$ FQDN1 und FQDN2 zeigen beide auf \code{1.2.3.4}; per \acs{DNS} möglich und erlaubt! \newline +\hspace*{4mm} $\Rightarrow$ FQDN1 und FQDN2 zeigen beide auf \code{1.2.3.4}; per \acs{DNS} möglich und erlaubt! -\code{GET /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ Problem: Der \acs{FQDN} steht nicht im Request bei \acs{HTTP} 1.0 und wird nicht einmal für den \acs{TCP}-Verbindungsaufbau verwendet $\Rightarrow$ Der Webserver weiss nicht, welche Präsenz angefragt ist! +\code{GET /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ Problem: Der \acs{FQDN} steht nicht im Request bei \acs{HTTP} 1.0 und wird nicht einmal für den \acs{TCP}-Verbindungsaufbau verwendet \newline +$\Rightarrow$ \textit{Der Webserver weiß nicht, welche Präsenz angefragt ist!} +\medskip \begin{Achtung} \acs{HTTP} 1.0 kann nicht erkennen, von welchem \acs{FQDN} der Request kommt! Siehe \autoref{sec:multi_präsenzen} für Möglichkeiten, dennoch verschiedene Webpräsenzen zu unterscheiden. \end{Achtung} @@ -123,8 +128,8 @@ Pflicht-Header im Request: \qquad \code{Host: $\underbrace{\text{www.dhbw-karlsruhe.de}}_{\text{angefragter FQDN}}$} -Jetzt gibt es persistene Verbindungen, \dash eine \acs{TCP}-Verbindung wird nacheinander für meherere Request/Response-Paare zwischen Client und Server genutzt. \newline -$\Rightarrow$ Es muss nicht jeweils eine neue Verbindung aufgebaut werden. Bereits vorher bei \acs{HTTP} 1.0 gab es ähnliches, nämlich den \enquote{Connection: Keepalive}-Header. Dieser ist nicht standard-konform und nur teilweise implementiert! +Jetzt gibt es persistente Verbindungen, \dash eine \acs{TCP}-Verbindung wird nacheinander für meherere Request/Response-Paare zwischen Client und Server genutzt. \newline +Es muss somit nicht jeweils eine neue Verbindung aufgebaut werden. Bereits vorher bei \acs{HTTP} 1.0 gab es ähnliches, nämlich den \enquote{Connection: Keepalive}-Header. Dieser ist jedoch nicht standard-konform und nur teilweise implementiert! \begin{figure}[h] \begin{center} @@ -171,7 +176,7 @@ Siehe Wikipedia: \url{https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol# \item per \acf{FQDN}\index{FQDN} \enquote{Rechner} oder \enquote{Domain}-Name, welche per DNS auf eine IP-Adresse umgesetzt werden (A-Record oder Alias-Eintrag), \newline \zB \code{http://dhbw-karlsruhe.de}, \code{http://www.uni-karlsruhe.de} $\Rightarrow$ Dies gilt als professionell \begin{enumerate}[noitemsep] - \item mehrere IP-Adressen (je eine eigene IP Adresse pro \acs{FQDN}) + \item mehrere IP-Adressen (je eine eigene IP-Adresse pro \acs{FQDN}) \begin{enumerate}[noitemsep] \item mehrere Netzwerkkarten \begin{itemize}[noitemsep] @@ -187,5 +192,8 @@ Siehe Wikipedia: \url{https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol# \end{itemize} \end{enumerate} + \item mehere \acs{FQDN} für eine IP-Adresse: + + Unterscheidung durch \code{Host}-Header im Request (ab \acs{HTTP} Version 1.1). \end{enumerate} \end{enumerate} diff --git a/Kapitel/04_IP.tex b/Kapitel/04_IP.tex index 8d789ac..550dd62 100644 --- a/Kapitel/04_IP.tex +++ b/Kapitel/04_IP.tex @@ -18,7 +18,7 @@ Bei einer IPv4\index{IPv4} \code{a.b.c.d} mit $a,b,c,d \in {0,...,255}$ (oder an \end{tabular} \item Außerdem sind in jedem Teilnetz die erste und die letzte Adresse als Netzwerkadresse bzw. Broadcast-Adresse reserviert. \newline - $\Rightarrow$ ingesamt stehen deshalb weniger als 4 Mrd. Adressen zur Verfügung. + $\Rightarrow$ insgesamt stehen deshalb weniger als 4 Mrd. Adressen zur Verfügung. \item Außerdem: IP-Adressen sind äußerst ungerecht auf der Welt verteilt: \begin{itemize}[noitemsep] @@ -30,6 +30,7 @@ Bei einer IPv4\index{IPv4} \code{a.b.c.d} mit $a,b,c,d \in {0,...,255}$ (oder an \item Außerdem: immer mehr Geräte der Haushalts- und Unterhaltungselektronik sind \enquote{internetfähig} (haben einen Webserver). \end{itemize} +\bigskip \begin{Tipp} \textbf{Grobe Berechnung von 2er Potenzen} diff --git a/Kapitel/05_HTML.tex b/Kapitel/05_HTML.tex index de3b34c..e9fa387 100644 --- a/Kapitel/05_HTML.tex +++ b/Kapitel/05_HTML.tex @@ -97,7 +97,7 @@ \begin{itemize}[noitemsep] \item Tabellen \item (Java-)Applets - \item \uwave{Textfluss} um Grafiken (vorher waren Grafiken \enquote{inline} und der Zeilenabstand wurde vergrößert, sodass die Grafik in die Zeile passte. Alternativ konnte man noch Zeilenumbrüche verwenden) + \item \uwave{Textfluss} um Grafiken (vorher waren Grafiken \enquote{inline} und der Zeilenabstand wurde vergrößert, sodass die Grafik in die Zeile passte. Alternativ konnte man noch \mbox{Zeilenumbrüche} verwenden) % mbox gegen die komische Silbentrennung von LaTeX: Zeile-numbrüche \end{itemize} \item[1997] HTML 4.0 @@ -142,7 +142,7 @@ \item viele syntaktische/grammatikalische Vereinfachungen sind nun erlaubt: \begin{itemize}[noitemsep] \item kein End-Tag (bei leeren Tags, falls der nachfolgende Tag den vorherigen Tag implizit schließt) - \item kein Start-Tag, falls der Tag bedeutet, dass vorher ein anderes Tag geöffnet werden muss (\zB \html{}, bevor der \html{< head>} geöffnet wurde) + \item kein Start-Tag, falls der Tag bedeutet, dass vorher ein anderes Tag geöffnet werden muss (\zB \html{<title>}, bevor der \html{<head>} geöffnet wurde) \item Anführungszeichen bei Attributwerten können weggelassen werden (sofern keine Trennzeichen enthalten sind, \zB \html{<p id=test>}) \item Attributwerte (bei Attributen mit Wahrheits- oder booleschen Werten) können weggelassen werden (\zB \html{<input type="text" disabled[="disabled"]>}) \end{itemize} @@ -154,7 +154,7 @@ \end{itemize} \end{enumerate} -\begin{Hinweis} +\begin{Hinweis}[frametitle={Hinweis zur Klausur}] In der Klausur sollten keine Vereinfachungen verwendet werden! Zu hoher Wahrscheinlichkeit wird sowieso \acs{XHTML} gefordert! \end{Hinweis} @@ -183,7 +183,7 @@ \begin{description} \item[\code{PUBLIC}] Es handelt sich um einen öffentlichen Standard. \newline - Alternativ gibt es noch \code{SYSTEM} oder \code{PRIVATE} für selbst definierte Grammatiken mit (oder ohne) Angabe der \acs{DTD} + Alternativ gibt es noch \code{SYSTEM} oder \code{PRIVATE} für selbst definierte Grammatiken mit (oder ohne) Angabe der \acs{DTD}. \item[\enquote{Public-ID}] Textuelle, exakt festgelegte \enquote{Beschreibung des Standards}, \zB \code{-//W3C//DTD XHTML 1.1//EN} bei XHTML 1.1 @@ -265,8 +265,8 @@ \begin{itemize}[noitemsep] \item die Datenmenge muss dennoch komplett geladen werden - \item erhöhter Speicherplatzverbrauch im Web-Browser (Arbeitsspeicher! Es ist nicht der Cache gemeint) - \item die Qualität der Skalierung im Browser ist (meist) schlechter als bei Bildverarbeitungsprogrammen + \item erhöhter Speicherplatzverbrauch im Web-Browser (Arbeitsspeicher! Es ist nicht der Cache gemeint!) + \item die Qualität der Skalierung im Browser ist (meist) schlechter als bei Bildbearbeitungsprogrammen \end{itemize} @@ -309,13 +309,6 @@ Die Anzahl der Spalten (und Zeilen) wird nicht vorab definiert. Eine unterschied \label{tbl:html_tabelle_anzahl_felder} \end{table} -\begin{figure}[h] - \centering - \includegraphics[scale=0.92]{Bilder/HTML_rowspan_colspan.png} - \caption{HTML-Tabelle mit zusammengefügten Feldern} - \label{fig:html_table_colspan_row} -\end{figure} - Statt \html{<td>} kann auch überall \html{<th>} verwendet werden, um eine Art Metadaten (Beschreibung der Tabelleninhalte) anzeigen zu lassen. Seit \acs{HTML} 4 kann \html{<table>} zusätzlich gegliedert werden in: @@ -335,6 +328,14 @@ Optionale Attribute in \html{<td>} und \html{<th>}: Die überdeckten \html{<td>}/\html{<th>} müssen im Quelltext gestrichen/ausgelassen werden. Ein Beispiel für die Ausgabe zeigt \autoref{fig:html_table_colspan_row} mit dem dazu gehörigen \acs{HTML}-Quelltext in \autoref{lst:table_col_row_span} auf Seite~\pageref{lst:table_col_row_span}. +\bigskip +\begin{figure}[h!] + \centering + \includegraphics[scale=0.9]{Bilder/HTML_rowspan_colspan.png} + \caption{HTML-Tabelle mit zusammengefügten Feldern} + \label{fig:html_table_colspan_row} +\end{figure} + \newpage \begin{lstlisting}[language=HTML5,caption=Tabelle -- \code{colspan} und \code{rowspan},label=lst:table_col_row_span] <table border="1"> diff --git a/Kapitel/06_URL.tex b/Kapitel/06_URL.tex index e41216e..2043f60 100644 --- a/Kapitel/06_URL.tex +++ b/Kapitel/06_URL.tex @@ -7,7 +7,7 @@ Beispiel für URL (und damit auch für URI): \pfad{http://www.dhbw-karlsruhe.de/} \item[\acs{URI}] Gibt Informationen, wie eine Ressource erreicht werden kann. \newline - Beispiel für URI (aber nicht für eine URL): mailto:xyz@dhbw-karlsruhe.de + Beispiel für URI (aber nicht für eine URL): \pfad{mailto:xyz@dhbw-karlsruhe.de} \end{description} @@ -57,7 +57,7 @@ Format einer \acs{URL}:\newline \end{Achtung} \subsection{Relative URLs}\label{sec:relative_url} -Es können auch relative \acsp{URL} angegeben werden, die jedoch mithilfe der vollständigen \acs{URL} des enthaltenden Dokuments ebenfalls zu einer vollständigen (absoluten) URL gemacht werden! Es wird zwischen folgenden relativen URLs unterschieden: +Es können auch relative \acsp{URL} angegeben werden, die jedoch mithilfe der vollständigen \acs{URL} des enthaltenden Dokuments ebenfalls zu einer vollständigen (absoluten) \acs{URL} gemacht werden! Es wird zwischen folgenden relativen URLs unterschieden: \begin{description} \item[Protokoll-relative URL] beginnt mit \pfad{//...}, \pfad{host/...} (\zB HTTPS)\index{URL!Protokoll-relativ} @@ -81,7 +81,8 @@ Anwendung von vollständigen (Host-absoluten) URLs \item Verweis auf den eigenen Server mit anderem Protokoll (HTTP $\Leftrightarrow$ HTTPS $\Leftrightarrow$ FTP) \end{itemize} -Spezielle Verzeichnisnamen, welche speziell bei relativen URLs wichtig sind: +\newpage +Spezielle Verzeichnisnamen, welche speziell bei relativen \acsp{URL} wichtig sind: \begin{description}[noitemsep] \item[\pfad{..}] das übergeordnete Verzeichnis (im Falle des Wurzelverzeichnisses wiederum das Wurzelverzeichnis). diff --git a/Kapitel/07_CSS.tex b/Kapitel/07_CSS.tex index c536587..f549245 100644 --- a/Kapitel/07_CSS.tex +++ b/Kapitel/07_CSS.tex @@ -114,7 +114,7 @@ $\Rightarrow$ Gesamtbreite: 60mm, da padding, border-width und margin doppelt ge Falls es keine explizite Angabe durch den Autor der Seite gibt, so wird folgendes verwendet: \begin{itemize}[noitemsep] - \item default-Vorgabe (\code{user-agent}) + \item Default-Vorgabe (\code{user-agent}) \item dynamische Anpassung (hier an den Inhalt) \end{itemize} @@ -159,7 +159,7 @@ Die tatsächliche \enquote{Position} wird angegeben mittels \code{top}, \code{bo \code{width}, \code{right}, \code{margin}, \code{top}, \ldots erwarten Längenangaben als Werte. Diese können sein: -\begin{itemize}[noitemsep] +\begin{itemize} \item absolute Werte, \zB $50mm$, $3in$, $2pt$ (\enquote{Punkt der Schriftsetzer}) $\Rightarrow$ werden selten verwendet \item relative Werte, \zB \medskip @@ -338,7 +338,7 @@ Deswegen ist folgendes besser: \css{ol \{ list-style-type: decimal; \}} \subsubsection{Kontextselektoren}\index{Selektoren!Kontext} \begin{tabular}{ll} - \code{ol li \{\ldots \}} & $\Rightarrow$ gilt für alle \html{<li>}-Nachfolger eines \html{<ol>} \\ + \code{ol li \{\ldots \}} & $\Rightarrow$ gilt für \textit{alle} \html{<li>}-Kinder eines \html{<ol>} \\ \code{ol > li \{\ldots \}} & $\Rightarrow$ gilt für alle \textit{direkten} \html{<li>}-Kinder eines \html{<ol>} (keine Kindeskinder) \\ \code{h1 \circa{} p \{\ldots \}} & $\Rightarrow$ gilt für \html{<p>}, wenn es einen vorangegangenen Geschwisterknoten \html{<h1>} gibt. \\ \code{h1 + p \{ \ldots \}} & $\Rightarrow$ gilt für alle \html{<p>}, die einen direkten Vorgänger \html{<h1>} haben. \\ @@ -358,7 +358,7 @@ Kontextselektoren sind spezifischer als Selektoren ohne Kontext! \code{a[href\^{}="http"] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, deren \code{href}-Attribut mit \enquote{http} beginnt \\ \code{a[href\^{}="http://"], a[href\^{}="https://"] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, die auf externe Seiten verlinken. \\ \code{a[href\$=".pdf"] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, die auf eine PDF verweisen.\\ - \code{a[href*="google."] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, die auf Google verweisen (bzw. die \code{google.} enthalten.\\ + \code{a[href*="google."] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, die auf Google verweisen (bzw. die \code{google.} enthalten).\\ \end{tabular}