Kategorien
Joomla Templates Stylesheets Webentwicklung

Joomla Template Reihe K05

Joomla Logo flat

Dieses Template baut auf DIV-Container auf und besitzt eine feste Breite von 920px. Als primaeren Font verwende ich Trebuchet MS. Das Zentrieren des Layouts erfolgt mittels automatischer Ränder:

#container{width: 920px; margin:auto;} 

Das funktioniert bei den meisten neueren Browsern, für den IE im Quirks-Modus sollte ein

body{text-align: center;} 

eingefügt werden.

Die Eiganschaft text-align wurde dann im #container wieder angepasst. Dieses Moeglichkeit des Zentrierens verhindert das Verschieben bei geringen Breiten oder Auflösungen, im Vergleich zu einer Zentrierung mit negativen Rändern. Die Farbdarstellung der Ränder erfolgt einmal im #footer mittels border-bottom sowie unter #smallbar mittels border-top. Für Änderungen an der index.php und an der CSS-Datei seid Ihr selbst verantwortlich. Das Template ist etwas älter, demzufolge müsst ihr die Installationsprozedur (index.php) anpassen.

Dieses Template ist getestet mit Firefox 2.0 und dem IE 6 bzw. 7. Alle templatebezogenen Grafiken und Bilder sind selbst erstellt und bearbeitet.

130 kB

Kategorien
Stylesheets Webentwicklung

Das CSS Box Model – Quick Start

Mit dem Box Model wird festgelegt welche CSS Angaben zur Bestimmung der Größe einer HTML Box relevant sind.

Wir haben einmal den Inhalt einer Box, bestimmt durch width und height.

Dazu kommen Werte für den Innenabstand, Rahmen und Außenabstand. Ich denke das schafft die meiste Verwirrung.
Aus dem Grund habe ich das noch einmal grafisch dargestellt.

Der äußere schwarze Rand stellt die gesamte Box dar.

Das Box Model in CSS
Das Box Model in CSS

Ein Festlegung von:

.meinebox {
width: 100px;
height: 50px;
padding: 10px;
border: 5px;
margin: 10px;
}

erzeugt einen effektive Breite der definierten Box von 150px.

Padding, Border und Margin gelten sowohl für rechts als auch für links.

Kategorien
Stylesheets Webentwicklung

Everything you need – Grid Layouts

Die Möglichkeit mit Grid Layouts bietet eine Möglichkeit eine Seite in größere Bereiche zu unterteilen oder die Beziehung in Bezug auf Größe, Position und Ebene zwischen Teilen eines Steuerelements zu definieren.

Wie bei Tabellen ermöglicht das Rasterlayout einem Autor, Elemente in Spalten und Zeilen auszurichten. Mit CSS Grids sind ein vielfaches mehr an Layoutmöglichkeiten realisierbar oder deutlich einfacher als durch den Einsatz von Tabellen machbar ist.

Hier eine kleine Demo dazu.

Grid Layout
Grid Layout

Der dargestellte Bereich ist veränderlich je nach Breite des Browserfensters.
Im nachfolgenden findet ihr den Code für die Darstellung “Grid Layout”.

Die Grid-Eigenschaft ist eine abgekürzte Schreibweise, die alle expliziten und impliziten Grid-Eigenschaften in einer einzigen Deklaration festlegt.

Erklärung

Zuerst der Header mit den CSS Statements.

<!DOCTYPE html>
<html >
<head>
  <meta charset="UTF-8">
  <title>Spaltenlayout</title>
<style>
body {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: 1fr 2fr 1fr;
}
nav {
  grid-column: 1;
  grid-row: 2;
  padding: 1rem;
  background-color: #FAC273;
}
article {
  grid-column: 2;
  grid-row: 2;
  padding: 1rem;
  background-color: #5B67FA;
  color: #F1F1F1;
}
footer {
  grid-column: 1 / 4;
  grid-row: 3;
  padding: 1rem;
  background-color: #4DB7FA;
}
header {
  grid-column: 1 / 4;
  grid-row: 1;
  padding: 1rem;
  background-color: #AA66FA;
}
aside {
  grid-column: 3;
  grid-row: 2;
  width: 40%;
  padding-left: 0.5rem;
  margin-left: 0.5rem;
  float: right;
  background-color: #DDDDDD;
  box-shadow: inset 5px 0 5px -5px #111111;
  font-style: italic;
  color: #30606E;
}
aside > p {
    margin: 0.5rem;
}
p {
    font-family: sans-serif;
}
</style>
</head>

Der HTML Code nimmt sich dagegen recht einfach aus.

<body>
<header>
  <p>Hier erscheint der Kopfbereich</p>
</header>
<nav>
  <p>...Menüs evtl.</p>
</nav>
<aside>
  <p>Das ist ein Bereich der neben dem Inhalt angezeigt wird</p>
</aside>
<article>
  <p>Hier erscheint der Inhalt.</p>
  <p>Hier erscheint mehr Inhalt.</p>
  <p>Hier erscheint noch mehr Inhalt.</p>
</article>

<footer>
  <p>Fussbereich</p>
</footer>
</body>
</html>

Zusammenfassend ist zu sagen, mit dem Grid System können alle denkbaren Kombinationen erstellt werden. Aber, sie müssen rechteckig sein. L-Formen lassen sich nicht konstruieren.

Der Code dient zur Darstellung des Verhaltens.

Kategorien
Stylesheets

Texte mit CSS überzeugend gestalten

Die CSS-Eigenschaft :text-indent legt die Länge des Einzugs vor Textzeilen, der in einem Block eingefügt wird.

Text Indent und First Line
Text Indent und First Line

Das CSS-Pseudoelement ::first-line wendet Stile gestalterisch auf die erste Zeile eines Elements auf Blockebene an.

Diese hier genannten beiden Eigenschaften für Elemente bieten sehr gute Möglichkeiten mit einfachen Mitteln eine Text abwechslungsreicher zu gestalten.

p::first-line {
	font-size: 1.2rem;
	font-weight: bold;
	text-decoration: underline;
}
p {
	text-indent: 5em;
	background: #CCCCCC;
}

Der Code ist sehr einfach und kann natürlich ausgebaut werden.

Kategorien
Stylesheets Webentwicklung

CSS: Kreative Hintergründe für Websites

CSS Programming Image

Kurzbeschreibung

Effektive Hintergrundgestaltung mit CSS ist entscheidend für das Webdesign. Dabei werden Farben und Bilder als Hintergrund für Webseitenelemente verwendet. CSS ermöglicht die Anpassung von Hintergrundfarben mit Eigenschaften wie background-color und das Hinzufügen von Hintergrundbildern mit background-image. Sie können die Wiederholung der Bilder kontrollieren und deren Position und Größe festlegen. Weiterhin ist es möglich, Transparenz für Hintergründe zu definieren und Gradientenhintergründe mit CSS zu erstellen. Geschickte Kombinationen von Bildern und Farben ermöglichen komplexe Hintergrundeffekte, die die visuelle Anziehungskraft der Webseite steigern können. Insgesamt ist die effektive Hintergrundgestaltung ein wichtiger Faktor für ein ansprechendes Webdesign und eine verbesserte Benutzererfahrung.

CSS definiert drei Typen von gradients:.

  • Linear Gradients (von oben nach unten, von rechts nach links),
  • Radial Gradients (werden um das Zentrum gebildet),
  • Conic Gradients (rotieren um einen Mittelpunkt).

Hier einige Beispiele für einen Background.

linearer Gradient

Das Beispiel zeigt eine linearen Gradienten von oben (rot) nach unten (gelb).

background-image: linear-gradient(red, yellow);

linearer Gradient multi color

Das Beispiel zeigt eine linearen Gradienten von links nach rechts mit mehreren Farben.

background-image: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);

radialer Gradient multi color

Das Beispiel zeigt eine radialen Gradienten im Bvon innen nach außen mit mehreren Farben.

background-image: radial-gradient(red, yellow, blue);

Das Beispiel zeigt eine konischen Gradienten im Uhrzeigersinn mit mehreren Farben.

background-image: conic-gradient(red 45deg, yellow 90deg, blue 240deg);

Eine gekonnte Background-Gestaltung mit CSS verleiht Webseiten eine visuelle Tiefe und trägt dazu bei, eine ansprechende und benutzerfreundliche Online-Umgebung zu schaffen.

Kategorien
Stylesheets Webentwicklung

Kreative Methoden durch :position

Die Eigenschaft position: gibt die Art der Methode zu der Positionierung an, welche für ein Element verwendet wird (static, relative, fixed, absolute oder sticky).

Position Beispiel
Position Beispiel

position: static;

HTML Elemente werden standardmäßig als static definiert.

Statisch positionierte Objekte werden nicht durch die Angabe top, bottom, left oder right Eigenschaften beeinflusst.

Beispiel 1

div.static {
  position: static;
  border: 2px dotted #73AD21;
  width: 300px;
}

position: relative;

Ein Element mit der Angabe position: relative; wird relativ zu seiner normalen Position positioniert ist. Das Festlegen der oberen, rechten, unteren und linken Eigenschaften eines relativ positionierten Elements führt dazu, dass es von seiner normalen Position ausgehend verschoben werden kann. Andere Inhalte werden nicht angepasst, um die Lücke zu füllen, die das Element hinterlassen hat.

Beispiel 2

div.relative {
  position: relative;
  left: 30px;
  border: 2px solid #11AA11;
  width: 300px;
}

position: fixed;

position: fixed; positioniert ein Objekt relativ zum Ansichtsfenster, folge dessen bleibt immer an der gleichen Stelle, auch wenn die Browserseite gescrollt wird. Die Eigenschaften top, right, bottom und left können verwendet werden, um das Element an die gewollte Stelle zu legen. Ein festes Element hinterlässt keine freie Stelle auf dem Platz, wo es sich befand.

Beispiel 3

div.fixed {
  position: fixed;
  top: 200px;
  left: 250px;
  width: 300px;
  border: 2px inset #AA00BB;
}

position: absolute;

position: absolute; wird relativ zum nächsten positionierten Vorfahren angeordnet. Hierbei können Überlagerungen (gewollt oder ungewollt) auftreten.

Wenn ein absolut positioniertes Element keine Vorfahren hat, verwendet es den Textkörper des Dokuments. Es bewegt sich beim Scrollen der Seite mit.

Beispiel 4

div.absolute {
  position: absolute;
  top: 400px;
  left: 100px;
  width: 300px;
  border: 2px double #FF00AA;
}

position: sticky;

position: sticky; platziert ein Objekt in Abhängigkeit der Position wie gescrollt wurde/wird.

EIn mit sticky positioniertes Objekt wechselt zwischen relative and fixed. Es verhält sich relative solange bis die Scrollposition es aus dem Bild schieben würde, ab dann fixed.

Beispiel 5

div.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  padding: 5px;
  background-color: #AAAAAA;
  border: 2px groove #0000AA;
  width: 300px;  
}

Hier noch kurz den HTML Code zu dem kleinen Beispielen.

<body>
<h2>position: sticky;</h2>
<div class="sticky">
Dieses Element besitzt eine sticky Position.
</div>

<h2>position: static;</h2>
<div class="static">
Dieses Element besitzt eine statische Position.
</div>

<h2>position: relative;</h2>
<div class="relative">
Dieses Element besitzt eine relative Position.
</div>

<h2>position: fixed;</h2>
<div class="fixed">
Dieses Element besitzt eine fixe Position.
</div>

<h2>position: absolute;</h2>
<div class="absolute">
Dieses Element besitzt eine absolute Position.
</div>

</body>
Kategorien
Stylesheets Webentwicklung

Elegante abgerundete Rahmen mit CSS

CSS Programming Image
Abgerundete Ecken und Rahmen mit CSS

border-radius

Mit border-radius ist es endlich möglich, Elemente (wie Rahmen) valide mit abgerundeten Ecken / Rahmen zu erstellen.

Für Mozilla- und Safari-Browser gibt es bereits die anbieterspezifischen CSS-Eigenschaften -moz-border-radius und -khtml-border-radius um den Effekt zu erzielen.

Um den Radius für bestimmte Ecken zu definieren, können die Suffixe -topleft, -topright, -bottomright und -bottomleft verwendet werden. Bei Safari wird die Angabe der Ecke eingeschoben: -khtml-border-top-left-radius

Rahmen-Bilder

border-image

Die Eigenschaft border-image können für Rahmen Hintergrundbilder festgelegt werden. Die neue Eigenschaft kann die Angabe von bis zu drei URLs aufnehmen, um die Bilder einzubauen.

Außerdem können mit den Eigenschaften border-top-image, border-bottom-image, border-left-image und border-right-image für alle Kanten eigene Grafiken definiert werden. Die Definitionen der CSS-Eigenschaft werden bei einem Einsatz von überschrieben.

border-corner-image

Last but not least wird mit border-corner-image die Zuweisung von Bildern für alle 4 Ecken möglich sein. Wie von anderen border-Eigenschaften bekannt auch einzeln mit border-top-left-image, border-top-right-image, border-bottom-right-image und border-bottom-left-image.

Kategorien
Stylesheets Webentwicklung

:gradient – tolle Backgrounds

CSS Programming Image

Ein “CSS Gradient” ist eine Methode, um Hintergrundfarben auf einer Webseite zu gestalten, bei der die Farben fließend von einer zur anderen übergehen. Es ist wie ein Farbverlauf. Es kann gerade Linien oder runde Kreise erzeugen, die Farben miteinander vermischen. Dies wird in der Webentwicklung verwendet, um Webseiten hübscher zu machen, indem man Farbübergänge erstellt, ohne Bilder zu verwenden.

Man muss zwischen zwei Arten von Farbverläufen unterscheiden:

Lineare Verläufe, geradliniger Farbverlauf von zwei oder mehr Farben

background:-moz-linear-gradient(top,#fff,#adf);/* Firefox */

background:-webkit-linear-gradient(top,#fff,#adf);/* Safari, Chrome */

background:-o-linear-gradient(top,#fff,#adf);/* Opera */

background:-ms-linear-gradient(top,#fff,#adf);/* IE */

background:linear-gradient(top,#fff,#adf);/* W3C Standard */

Radiale Verläufe, kreisförmiger Farbverlauf von zwei oder mehr Farben

background:-moz-radial-gradient(center,#fff,#adf);/* Firefox */

background:-webkit-radial-gradient(center,#fff,#adf);/* Safari, Chrome */

background:-o-radial-gradient(center,#fff,#adf);/* Opera */

background:-ms-radial-gradient(center,#fff,#adf);/* IE */

background:radial-gradient(center,#fff,#adf);/* W3C Standard */

linear-gradient, radial-gradient und conic-gradient sind Werte für background-image, border-image, list-style-image und generated content.

Es gibt drei Formen des CSS-Gradient:

  • Der lineare gerade Verlauf von oben nach unten oder von einer Seite zur anderen,
  • radialer Verlauf oder radial Gradient vom Rand zur Mitte des Elements (z.B. Zielscheibe),
  • konischer Verfauf

https://wiki.selfhtml.org/wiki/CSS/Tutorials/Hintergrund

Kategorien
Stylesheets Webentwicklung

:opacity und interessante Möglichkeiten

CSS Programming Image

Mit der opacity Eigenschaft kann die Deckkraft/Transparenz von Elementen gesteuert werden. Diese Eigenschaft wird zwar so nicht im Internet Explorer unterstützt, es gibt aber eine ebenbürtige Eigenschaft, wodurch in allen Browsern Transparenz genutzt werden kann.

Beachten Sie: Obwohl der Wert für opacity eine prozentuale Angabe ist, sind Prozentwerte nicht erlaubt.

Empfehlung: Wenn Sie nur den Hintergrund und nicht den Textinhalt durchscheinend darstellen wollen, verwenden Sie rgba-Farbangaben bei der Hintergrundfarbe.

Kategorien
Stylesheets Webentwicklung

:filter – unglaubliche Möglichkeiten

Einführung

Mit Hilfe von CSS Filtern (:filter) können hauptsächlich Bilder in ihrer Farbe verändert werden. Es ist möglich Schatten hinzufügen, die Deckkraft anzupassen oder Bilder und Texte weichzuzeichnen. CSS Filter stehen mittlerweile in allen modernen Browsern (außer dem IE) zur Verfügung. Aus diesem Grund zeige ich hier, in einer kurzen Darstellung die Funktionsweise.

Anwendungsgebiete

CSS Filter lassen sich sowohl auf Grafiken in HTML als auch auf CSS-Eigenschaften wie Hintergründe, Texte, CSS-Elemente, SVG-Grafiken und Videos anwenden. In einem kurzen Demo habe ich nur einige Parameter verwendet, es gibt noch einige mehr.

filter: grayscale(100%)
filter: brightness(150%);
filter: blur(5px);
filter: hue-rotate(90deg);
.
.
.

grayscale(%) z.B. konvertiert ein Bild zu Graustufen. Der initiale Wert beträgt 0.

blur(px) erzeugt einen Weichzeichnereffekt an einem Bild. Der Radiuswert definiert den Wert der Standardabweichung zur Gaußschen Funktion oder wie viele Pixel auf dem Bildschirm ineinander übergehen, sodass ein größerer Wert mehr Unschärfe erzeugt.

brightness(%) verändert die Helligkeit eines angegebenen Objekts. Das bedeutet ,die Funktion verwendet einen linearen Multiplikator auf das Ausgangsobjekt an, so dass es heller oder dunkler erscheint.

hue-rotate(deg) konvertiert ein Bild auf dem Farbkreis um eine Anzahl an Grad nach der das Originalobjekt angepasst wird.

Um eine mehrfache Anwendung unterschiedlicher Filter zu verwenden, müssen die Werte durch ein Leerzeichen getrennt angegeben werden. Bei einigen Fällen ist die Reihenfolge entscheidend. Folglich ist ein eingetragener Parameter (%, oder Grad etc.) ungültig. so wird automatisch der Wert none gesetzt und es wird keine Anpassung erfolgen.

Beispielcode

Das könnt ihr selbst ausprobieren mit dem kleinen Beispiel HTML.

<!DOCTYPE html>
<html>
	<head>
		<style>
		img {
		  width: 150px;
		  height: auto;
		}
		body {margin-left: 40px}
		.grauskale { filter: grayscale(100%);}
		.helligkeit { filter: brightness(150%);}		  
		.weichzeichnen { filter: blur(5px);}
		.farbrotation { filter: hue-rotate(90deg);}	  
		</style>
	</head>
	<body>
	<h1>Die Filter Eigenschaft</h1>
		<div>
			<p>Original</p>
			<img src="flower.jpg" alt="flower">
			<p>Helligkeit 150%</p>
			<img class="helligkeit" src="flower.jpg" alt="flower">
			<p>Grauwerte</p>
			<img class="grauskale" src="flower.jpg" alt="flower">
			<p>Weichzeichnen</p>
			<img class="weichzeichnen" src="flower.jpg" alt="flower">
			<p>Farbrotation</p>
			<img class="farbrotation" src="flower.jpg" alt="flower">
		</div>
	</body>
</html>

Ausgabe

Im Anschluss noch die entsprechende Ausgabe im Mozilla Firefox 102.5.0esr (64-Bit).

Filter Eigenschaft Beispiell

Zusammenfassung

Fazit ist, die Eigenschaften sind sehr interessant, durch die aktuell fehlende Implementierung im Edge und IE verliert sie allerdings etwas an Wirkung.
Viel Spaß und Erfolg beim ausprobieren.