Anwendungsbeispiele und (unvollständige) Referenz

Werbung
(Cascading Style Sheets)
Unzählige ausgefeilte und moderne CSS-Attribute ermöglichen;
- die bedarfsgerechte Anpassung der bewährten HTML-Befehle
H1-Tag soll künftig haben:
Schriftfamilie: Arial;
Schrift-Größe immer : 20;
umrahmt mit Punktlinie;
H1
{ font-family:arial;
font-size:18pt;
border-style solid;
}
- die Definition eigener HTML-Tags
Gedichtvorgaben mit
Schrift-Familie: Arial;
Schrift-Stil: Kursiv ;
Schrift-Größe: 14;
Schrift-Farbe: Leicht graue Schrift;
Schrit-Ausrichtung: Zentriert
.Gedicht
{ font-family
font-style
font-size
color
text-align
: arial;
: italic;
: 14pt;
: #707070;
: center;
}
- und wiederum darauf aufbauend weitere kompliziertere Tags
(per Vererbung, aber hier nicht behandelt)
- zusätzliche neueGestaltungsmöglichkeiten per CSS
Beliebiges Logo soll
so auf Seite ausgegeben werden:
an Seitenposition fest (scrollt mit)
oben: 20 Pixel Abstand vom Seitenrand
links: 100 Pixel Abstand vom Seitenrand
.logo
{ position: absolute;
top: 39px; left: 80px;
background-color:#FFFF00;
}
Diese Möglichkeiten
- lassen sich direkt und unmittelbar auf genau ein HTML-Tag anwenden (S. 2)
- lassen sich im Kopf einer HTML-Seite vorgeben, damit man nicht jedes mal
beim Rückgriff darauf die CSS-Angaben erneut eintippen muss (S. 3)
- lassen sich einfach in einer beliebigen Datei zur Mehrfachverendung abspeichern (S. 4)
-lassen sich beliebig kombinieren
blabla
GleichesTag, aber unterschiedliche Attribute nötig
Definieren
h1.gepunktet
{font-family:arial;
font-size:18pt;
border-style dottet;
}
h1.durchgezogen
normal?
blabla
Spezifisch abrufen
....
<h1 class="gepunktet"> blabla <h1>
normal?
<h1 class="durchgezogen" > blabla <h1>
{font-family:arial;
font-size:18pt;
border-style solid;
}
(Seite 1 /10
)
Gedicht zur Erbauung
Tag- / bereichsbezogene (interne)
CSS-Definiton
Durch die Wüste
ging ein Gnu!
Nanu?
Einsatz
Die Definition wird "im Fluge" vorgenommen weil man eben gerade jetzt mal schnell die umfänglicheren Formatierungs- und Positionierungsmöglichkeiten von CSS nutzen möchte, ohne eine
zentrale Norm definieren zu wollen!
Diese CSS-Definition ist deswegen nur "micro"- lokal; nämlich nur in dieser Seite und nur in dem
Abschnitt oder noch kleiner in dem vom Tag eingerahmten Bereich verfügbar!
Allerdings gibt es eine Einschränkung:
"Im Fluge" geht nur bei HMTL-Elementen die aus sich heraus einen Block bilden (<p>, <Table>...)
und den dafür vorgesehenen mit <div> und <span> -Elementen
<head>
…..
</head>
<head>
</head>
<body>
<body>
[ HTML-Elemente ]…
Sofortige
Style - Formatierung
im HTML-TAG
<html-tagname
<h1
[ html-Attribut1="Wert1"]…
align ="right"
[ style ="styleName: styleWert;
style ="font-family : arial;
font-size
: 18pt;
[styleName: styleWert; ]" ]
border-style: dotted;"
>
>
[ HTML-Elemente ]
Gedicht zur Erbauung
</ html-tagname >
</h1
[ HTML-Elemente ]…
Sofortige
Style - Formatierung
im HTML-TAG
<html-tagname
<div
align="center"
[ html-Attribut1="Wert1"]…
style="font-family: arial;
font-style : italic;
font-size : 14pt;
[ style ="styleName: styleWert;
[styleName: styleWert; ]" ]
color
>
: #707070;"
>
[ HTML-Elemente ]
</ html-tagname >
Durch die Wüste<br />
ging ein Gnu, <br />
Nanu?
</div>
[ HTML-Elemente ]…
</body>
</body>
(Seite 2 /10
)
Gedicht zur Erbauung
Nur auf eine HTML-Seite bezogene
(interne) CSS-Definiton
Durch die Wüste
ging ein Gnu!
Nanu?
Einsatz
Die Definition wird in intern im Kopf vorgenommen und mit dieser Seite gespeichert.
Diese CSS-Definition ist deswegen nur lokal (also in dieser Seite) verfügbar!
<head>
<style type = "text/css">
html-tagname
Seitenbezogene
(Interne CSS Definition )
{ CSS-Attributname: Wert;
[CSS-Attributname: Wert;]…
}
…
im Kopf definieren
.eigentagname
{ CSS-Attributname: Wert;
[CSS-Attributname: Wert;]…
}
…
<head>
<style type = "text/css">
h1
{font-family : arial;
font-size
: 24pt;
border-style : dotted;
}
.Gedicht
{font-family
font-style
font-size
color
text-align
}
:
:
:
:
:
arial;
italic;
14pt;
#707070;
center;
</style>
</style>
Seitenbezogene
(Interne CSS Definition )
</head>
</head>
<body>
<body>
<h1
align="right"
>
< html-tagname
[ html-attribut1="Wert1"]…
>
in HTML-Seite nutzen
</HTML-TAGNAME>
Seitenbezogene
(Interne CSS Definition )
in HTML-Seite nutzen
Gedicht zur Erbauung
[ HTML-Elemente ]
<
span
div
class= "CSS-EigenTagName"
[html-attribut1="wert1"]…
<div
CLASS ="Gedicht"
>
>
[ HTML-Elemente ]
<
</h1>
/span
>
/div
</body>
Durch die Wüste<br/>
ging ein Gnu, <br/>
Nanu?
</div>
</body>
(Seite 3 /10
)
Gedicht zur Erbauung
Extern gespeicherter CSS-Definition
Durch die Wüste
ging ein Gnu!
Nanu?
Einsatz
Die Definition wird in einer externen CSS-Datei gespeichert und bei Bedarf kann die Definition
jeder beliebigen Seite individuell zugänglich gemacht werden !
html-tagname
CSS – Definitionen
EXTERN
{ CSS-Attributname:Wert;
[CSS-Attributname:Wert;] …
}
erstellen und in Datei
mit Endung ".CSS" speichern
.eigentagname
{ CSS-Attributname:Wert;
[CSS-Attributname:Wert;] …
}
.CSS
für diese HTML-Seite
zugänglich machen
.Gedicht
{font-family
font-style
font-size
color
text-align
}
:
:
:
:
:
arial;
italic;
14pt;
#707070;
center;
testit.css
testit.css
<head>
<head>
EXTERNE
CSS Definitionen
h1
{font-family : arial;
font-size
: 24pt;
border-style : dotted;
}
<link rel="stylesheet"
type = "text/css"
href="dateiangabe"
<link rel = "stylesheet"
type
= "text/css"
href
= "styletest.css"
/>
</head>
/>
</head>
<body>
EXTERNE
CSS Definitionen
in HTML-Seite nutzen
< html-tagname
[ html-attribut1="Wert1"]…
<body>
<h1
align="right"
>
>
Gedicht zur Erbauung
[ HTML-Elemente ]
</HTML-TAGNAME>
EXTERNE
CSS Definitionen
<
in HTML-Seite nutzen
span
div
class= "CSS-EigenTagName"
[html-attribut1="wert1"]…
>
[ HTML-Elemente ]
< /span >
/div
</body>
</h1>
<div
CLASS ="Gedicht"
>
Durch die Wüste<br/>
ging ein Gnu, <br/>
Nanu?
</div>
</body>
(Seite 4 /10
)
Abstandsattribute (Auswahl) per CSS
Text mit margin- Abstand
Marginbereich
Inhalt
Paddingbereich
geht erst hier weiter
Abstände Außen herum um das so formatierte Objekte
margin:
margin-top:
margin-righ:t
margin-bottom:
border-left:
css-Maßangabe ;
Rand zur Umgebung (äußerer Leerraum) zum Rest der
Seiteninhalte
margin: ein einheitlicher Wert für alle Seiten
Abstände der Inhalte INNEN zum Rand des so formatierten Objekts
padding:
padding-top:
padding-righ:t
padding-bottom:
padding-left:
css-Maßangabe ;
Rand von der Innenfüllung zur Äußeren Umgebung,
z.b. Rahmen usw..
padding: ein einheitlicher wert für alle Seiten
Ausrichtung und Absatzkontrolle per CSS
Vertikale Ausrichtung
von nebeneinanderstehenden Elementen mit unterschiedlicher Höhe, wie Tabellenzellen in einer Tabellenzeile
Werte
obenbündig ausrichten
top ;
mittig ausrichten
middle ;
untenbündig ausrichten
bottom ;
an der Basislinie ausrichten (oder untenbündig, wenn es keine Basislinie
baseline ;
vertical-align:
gibt)..
tieferstellen (ohne die Schriftgröße zu reduzieren)
sub ;
höherstellen (ohne die Schriftgröße zu reduzieren).
super ;
am oberen Schriftrand ausrichten.
text-top ;
text-bottom ; am unteren Schriftrand ausrichten
Horizontale Ausrichtung
von nebeneinanderstehenden Elementen mit unterschiedlicher Höhe, wie Tabellenzellen in einer Tabellenzeile
Werte
links
left
;
text-align:
rechts
right ;
mittig
center ;
Blocksatz
justify ;
Textumbruch kontrollieren
von nebeneinanderstehenden Elementen mit unterschiedlicher Höhe, wie Tabellenzellen in einer Tabellenzeile
Werte
wie von HTML her bekannt.
normal ;
white-space:
Zeilenumbruch wie im EDITOR eingegeben!
pre ;
kein automatischer Zeilenumbruch
nowrap ;
(Seite 5 /10
)
Hintergrundformatierung (Auswahl) per CSS
Farbe
Typ
color:
background-color:
background-image:
css-Farbangabe ;
Farbe eines Elements
css-Farbangabe ;
Hintergrund eines Elements
URL(pfadzurgrafik); .gif/.jpeg -Grafik wird in den Hintergrund eingebunden
Hintergrundgrafik
wiederholen bis Hintergrund des Objekts gefüllt ist!
nur horizontal wiederholen
repeat ;
background-repeat:
background-attachment:
repeat-x ;
repeat-y ;
no-repeat ;
scroll ;
nur vertikal wiederholen
nur einmal anzeigen!
fixed ;
linkspos toppos;
background-position:
top;
center;
middle;
left;
bottom;
right;
Hintergrundgrafik wird beim Scrollen mitbewegt
Benutzer scrollt, Hintergrundgrafik bleibt stehen!
Wo soll die linke obere Ecke der Hintergrundgrafik vom Browser positioniert werden. Bezugspunkt ist hierbei das HTMLElement in dem die Grafik definiert wird!
Positionsangaben gemäß CSS-Maßangabe;
Ausrichtung und Bündigkeiten eher
textuell
Rahmenattribute (Auswahl) per CSS
Rahmen-Typ
Beeinflusstes Rahmenteil
Border-Style:
border-top-style:
border-right-style:
border-bottom-style:
border-left-style:
Werte
hidden ;
none ;
dotted ;
dashed ;
solid ;
double ;
groove;
ridge ;
inset ;
outset ;
Wirkt auch auf Nachbarrahmen (selten implementiert)
kein Rahmen (bzw. unsichtbarer Rahmen)
gepunktet.
gestrichelt.
durchgezogen.
doppelt durchgezogen
3D-Effekt.
3D-Effekt.
3D-Effekt
3D-Effekt
Breite und Farbe
Beeinflusstes Rahmenteil
border-width:
border-top:
border-right:
border-bottom:
border-left:
border-color:
border-top-color:
border-right-color:
border-bottom-color:
border-left-color:
Werte
css-Maßangabe ;
Rahmenstärke
css-Maßangabe;
Rahmenfarbe
Einige spezielle Rahmenattribute unter >CSS-Tabellenformatierung!
(Seite 6 /10
)
Schriftformatierung per CSS
Schriftformatierung
font-family:
font-size:
font-style:
font-weight:
text-transform:
text-decoration:
color:
background-color
schriftname ;
serif ;
sans-serif ;
monospace ;
nnpt ;
normal ;
italic ;
nnn ;
normal ;
bold ;
uppercase ;
lowercase ;
konkrete Schrift (arial, courier...)
Schrift beim client mit Serifen
Schrift beim client OHNE Serifen
feste Schrittweite der Buchstaben
none ;
underline ;
overline ;
blink ;
capitalize ;
#farbangabe ;
#farbangabe ;
alles abgeschaltet(auch Standards des Clients!)
unterstrichen
Strich drüber
blinkend (und damit nervend)
Schriftgröße (besser ist pt, sonst z.B. px))
keine weiteres Attribut
italic (kursiv)
Fettfaktor von 100-900
nicht fett
fett
Alles in Großbuchstaben konvertieren
Alles in Kleinbuchstaben konvertieren
Anfangsbuchstabe im Wort sehr groß
Farbe des Textes
Hintergrundfarbe des Textes
Listen- Attribute (Auswahl) per CSS
List-Styles
disc ;
circle ;
square ;
normal ;
decimal ;
lower-alpha ;
upper-alpha ;
lower-roman ;
upper-roman;
list-style-type:
gefüllter Kreis
hohler Kreis
gefülltes Quadrat
kein Aufzählungzeichen
Voreinstellung (1,2,3....)
Kleinbuchstaben(a,b,c...)
Großbuchstaben(A,B,C)
kleine römische Zahlen(i,ii,ii,...)
größe römische Zahlen (I,II,III,...)
Tabellenformatierung per CSS
Werte
table-layout:
fixed ;
auto ;
border-collapse
separate ;
collapse
border-spacing
css-Wert ;
empty-cells:
show ;
collapse ;
- für <table> . Fixe Breite führt zum Abschneiden der Inhalte!
- normales HTML-Verhalten
(Achtung: auch bei Browsern ab 5er nicht sicher)
nebeneinanderliegende ZellRahmen wird eine Seite von dem
vorhergehenden Rahmen überdeckt
Zellenrahmen werden nicht überdeckt! (mehr Platzbedarf!)
Größenangabe für die Abstände der sichtbaren Rahmen zueinander! (10px, 1cm...)
Rahmen um leere Zellen werden angezeigt
normales HTML-Verhalten
(Seite 7 /10
)
Positions- und Größenangaben von Elementen
Einsatz
Will man positionierfähige HTML-Elemente auf einer HTML-Seite platzieren, so nimmt man dieses Attribut. Aus Kompatibilitätsgründen sollte POSITION aber nur i.V.m. >DIV eingesetzt werden (entweder in der
Seite direkt oder per eigener CSS-Tags) !
Aus einer Positionierung resultiert auch die mögliche Überlappung der einzelnen Elemente. Welches Element zuoberst liegt, regelt die neue Z-Index-Angabe ausdrücklich, ansonsten wird das zuerst erzeugte Element ggf. von dem nachfolgenden überdeckt! Gleiches gilt, wenn man einfach nur Größenbereiche festlegen möchte!
Ort: >CSS und >Body
Syntax
[position
:relative;
:absolute;
:static;
:fixed;
top :startpos_obenpx; left:startpos_linkspx; ]
[z-index:schichtebene_nr;] [visibility :hidden;
:visible;
width:breitepx;
[
[hight:höhepx;]
:left;
float :right;
:none;
:relative
:relative;
:absolute;
:static;
:fixed;
:absolute
:static
:fixed
top:startpos_obenpx;
]
]
[overflow :
:hidden;
:scroll;
]
genaue Positionieren bezogen auf die ursprüngliche
Startkoordinate des nun zu formatierenden Elements
positioniert in Abhängigkeit vorausgehende verschachtelter
Positionierungen (In einer positionierten Grafik wird dann ab
deren Rand positioniert)
setzt Positionierung außer Kraft, ergibt also normalen tagspezifischen Fluss
Das Element soll stehen bleiben beim scrollen(nicht realisiert)
Koordinate ab oberer Startposition (>px Pixel) (Beachte >ABSOLUTE >RELATIVE)
Koordinate ab linker Startposition (>px Pixel) (Beachte >ABSOLUTE >RELATIVE)
left:startpos_linkspx;
z-index:schichtebene_nr;
In welcher ausdrücklichen Reihenfolgen werden die Elemente auf dem Bildschirm übereinander dargestellt. Hieraus ergeben sich Überdeckungen !
[width:breitePX;]
[hight:höhePX;]
Höhen und Breitenangaben des Elements z.B.in Pixel, deswegen mit >PX beendet
Min-Höhe usw. wird derzeit nicht zuverlässig interpretiert: Abhilfe Tabelle!!!
[visibility
:hidden;
:visible;
:left;
[float :right;
]
]
]
Reserviert Platz, auch wenn das Element zunächst hidden=versteckt ist
Fluß der ggf. nachfolgenden Elemente um das betreffende Element
:none;
(Seite 8 /10
)
Verweise ( HTML- >Hrefs ) per CSS formatieren
Einsatz
Auch ohne Java-Skript kann man ein überzeugendes Dialogverhalten herstellen,
indem man die nachfolgenden CSS-Elemente-Eigenschaften einsetzt!
Ort: >Body >CSS
Syntax
[A:link
[A:visited
[A:hover
[A:active
[A:focus
{ CSS-Eigenschaft;... } ]
{ CSS-Eigenschaft;... } ]
{ CSS-Eigenschaft;... } ]
{ CSS-Eigenschaft;... } ]
{ CSS-Eigenschaft;... } ]
:link
:visited
:hover
:active
:focus
{ CSS-Eigenschaft;... }
{}
sind als Klammern einzugeben
NUR in nachfolgender Reihenfolge erfolgreich!
für Verweise zu noch nicht besuchten Seiten
für Verweise zu bereits besuchten Seiten
für Verweise, während der Anwender mit der Maus darüber fährt
für gerade angeklickte Verweise
für Verweise, die den Fokus erhalten, z.B. durch "Durchsteppen"
mit der Tabulatortaste
hier können die meisten css-Attribute zum Einsatz kommen!
Aber auch HTML-Attribute wie z.B. >TITLE (um eine kleine textuelle Hilfe
anzuzeigen)
verweise.css
a:link
{color:#003080;
text-decoration:underline;
}
a:visited
{color:#009F00;
}
a:hover
{color:#BF0000;
text-decoration:underline;
}
verweise_css_nutzen.html
<HTML>
<HEAD>
<LINK
REL = "stylesheet" TYPE = "text/css"
HREF = "verweise.css">
</head>
<BODY>
<H1>Linkverhalten</H1>
<BR>
<A href="http://www.google.de/">Hier gehts zu google</A> <BR>
<A href="http://www.IT-Pruefungshandbuch.de/">
IT-Pruefungshandbuch Updates lesen</A> <BR>
<A href="http://www.oszinddv.de/" title="Wichtige IT-Schule">
OSZ Industrie und manuelle DV, Deine Schule </A> <BR>
</BODY>
</HTML>
Tipps zu MouseOver-Effekten
http://selfaktuell.teamone.de/artikel/css/mouseover/index.htm
Für Absätze gilt ähnliches!
p:first-line
p:first-letter
usw.
(Seite 9 /10
)
Cursor
Einsatz
Auch ohne Java-Skript kann man ein überzeugendes Dialogverhalten herstellen,
indem man z.B. dem Cursor ein angepasstes Aussehen gibt!
Ort: >Body >CSS
Syntax
:
CURSOR
AUTO
:DEFAULT
:POINTER
:TEXT
:HELP
:URL(dateiname)
;
Cursortypen (Auswahl)
:AUTO
:DEFAULT
:POINTER
:TEXT
:HELP
:URL(dateiname)
automatischer Cursor (Normaleinstellung).
Plattformunabhängiger Standard-Cursor.
Cursor in Form eines Zeigers.
Cursor in einer Form, die normalen Text symbolisiert.
Cursor in Form des Betriebssystemspezifischen Symbols, das Hilfe zu dem Element
signalisiert.
Eigene Cursorgrafik! dateiname muss GIF- /JPG-Grafik sein.
Wird derzeit leider nicht unterstützt
Kommentar
Einsatz
Um die Anweisungszeilen in einer CSS-Datei optisch voneinander zu trennen
und für den CSS-Entwickler die Lesbarkeit zu erhöhen kann Kommentarzeilen
einfügen
Ort: >Body >CSS
Syntax
/* Kommentartext
nächste Zeile Kommentartext
*/
Beispiel
/* Nachfolgend blabla*/
h1 { background-color:yellow; color:black; font-style:bold; font-size:36pt; }
(Seite 10 /10
)
Zugehörige Unterlagen
Herunterladen