Kategorien
Stylesheets Webentwicklung

CSS Box Model – Tipps

CSS Programming Image

Zu einem Test des CSS Box Model habe ich euch hier den Code einer HTML Datei eingestellt. Das ist nur ein Grundaufbau, ohne Schnick-Schnack.

Die Darstellung verdeutlicht wie die Boxen positioniert werden und welche Abstände gültig werden.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Das CSS Box Model</title>
        <link type="text/css" rel="stylesheet" media="screen" href="design.css" />
    </head>
    <body>
        <h1 id="title">Das CSS Box Model</h1>
        <div id="content">
            <h2>Anfang</h2>
            <div class="box_1">Box 1</div>
            <div class="box_2">Box 2</div>
        </div>
    </body>
</html>

Zum Ausprobieren gibt es hier auch die dazugehörige CSS Datei als Code. Hiermit könnt ihr euch mit dem CSS Box Model vertraut machen und durch etwas probieren die Effekte selbst erzeugen.

* {
    margin: 0px;
    padding: 0px;
    border: none;
}
html {
    background-color: #FFFFFF;
    color: #111111;
    font-family: Tahoma, Arial, sans-serif;
}
#title {
    background-color: #a2b3c4;
    height: 170px;
    text-align: center;
    padding: 10px;
}
#content {
    margin: 10px;
	padding: 10px;
	background-color: yellow;
}
#content h2 {
    color: #111111;
	margin: 100px;
	padding: 50px;
	max-width: 200px;
	background-color: #22C563;
	border: 5px solid #222222;
}
.box_1 {
	margin: 100px;
	padding: 50px;
	max-width: 200px;
	background-color: #11C563;
	border: 5px solid #888888;
}
.box_2 {
    margin: 100px;
	padding: 50px;
	max-width: 200px;
	background-color: #CDC563;
	border: 5px solid #222222;
}

Hier unten noch ein Screenshot dessen, was die HTML und CSS Datei an Ausgabe erzeugt.

CSS Box Model Beispiel
CSS Box Model Beispiel

Viel Erfolg!

Kategorien
Stylesheets Webentwicklung

How to use CSS background property

CSS Programming Image

Die Eigenschaft background ist die zusammenfassende Eigenschaft von background-image, background-position, background-size, background-repeat, background-attachment, background-origin, background-clip und background-color.

Background-position und background-repeat sind ihrerseits wieder zusammenfassende Eigenschaften, so dass sich mit der background-Eigenschaft 10 Einzelwerte setzen lassen.

Kategorien
Stylesheets Webentwicklung

How to use CSS property padding

CSS Programming Image

Überblick zu padding

Die CSS-Eigenschaft “Padding” definiert den Abstand zwischen dem Inhalt eines HTML-Elements und dessen Rahmen. Sie ermöglicht die Steuerung des Innenabstands eines Elements und kann in verschiedenen Einheiten (z.B. Pixel, Prozent) angegeben werden. Das Padding beeinflusst den Raum innerhalb des Rahmens, wodurch Text und Inhalte im Element von den Rändern getrennt werden. Es ist nützlich, um das Layout und die Gestaltung von Webseiten zu kontrollieren und den visuellen Abstand zwischen Elementen anzupassen.

Die Eigenschaft padding bestimmt also alle Innenabstände eines Elements. Erlaubte Werte

  • 1 – 4 nicht negative Längenangaben
  • 1 – 4 nicht negative prozentuale Angaben
  • inherit

Vererbung steuernde Werte

  • inherit
  • initial
  • unset
  • revert

Diese sind anwendbar auf alle Elemente, außer table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-column.

Kategorien
Stylesheets Webentwicklung

Background property in Stylesheets

CSS Programming Image
Bessere Steuerung von Hintergrundbildern (Background)

background-origin, -clip

Mit background-origin kann man angeben, ob das Hintergrundbild am Rahmen, am Innenabstand oder am Inhalt ausgerichtet werden soll. (Webkit: -webkit-background-composite)

background-clip gibt an, ob sich das Hintergrundbild bis in den Rahmen erstrecken soll oder nicht hinter dem Rahmen angezeigt werden soll. (Webkit: -webkit-background-clip)

Größe von Hintergrundbildern (Background)

background-size

Mit background-size kann die Größe von Hintergrundbildern angegeben werden. Dies ist vor allem Wichtig um zukünftig SVG Grafiken sinnvoll als Hintergrundbilder einzusetzen.

Mehrere Hintergrundbilder (Background)

Mehrere Hintergrundbilder

In CSS3 können für ein Bild mehrere Hintergrundbilder angegeben werden. Dadurch müssen für viele Effekte keine ansonsten unnötigen HTML-Elemente eingefügt werden.

Für mehr Informationen schaut auch auf: https://wiki.selfhtml.org/wiki/CSS

Kategorien
Stylesheets Webentwicklung

How to use browser switches with CSS3

CSS Programming Image

Browser switches

Der Umstand, dass sich CSS-Layouts langsam in der breiten Masse durchsetzen ist zu einem Teil dem geschuldet, dass sich an dem etablierten Standard seit vielen Jahren nichts geändert hat. Bereits der IE bot eine recht ordentliche CSS2-Unterstützung von Browser switches. Doch erst mit frisch veröffentlichten Internet Explorer 7 wird diese endlich einigermaßen fehlerfrei. Dazwischen liegen 6 Jahre. Auch andere Browser haben Zeit für den Reifeprozess benötigt.

Die Neuerungen von CSS 3 ermöglichen eine völlig neue Denkweise bei der Layouterstellung. Der Spaltensatz und die Möglichkeiten des neuen Box-Modells können zu erheblichen Vereinfachungen der Quelltextstruktur einer Webseite führen.

Doch in der Realität müssen Webdesigner auch jetzt schon eine Vielzahl an Browsern arbeiten. Dabei müssen diese jeweils in zahlreichen mindestens zwei oder mehr Generationsstufen unterstützt werden. Das wird sich auch nach der Einführung von CSS3 nicht großartig ändern.

Doch wie soll man die neuen Techniken einsetzen, wenn gleichzeitig ältere Browsergenerationen noch mit dem gleichen CSS klar kommen sollen? Eine theoretische Möglichkeit wären CSS-Browserweichen.

Auf diese Weise ließen sich alte Browser mit reiner CSS2.x-Unterstützung gezielt mit gesonderten Stylesheets versorgen. Ob das reicht, ist dabei noch fraglich denn beispielsweise beim Spaltensatz könnten mit CSS 3 selbst aufwändige CSS-Layouts auf nur wenige erforderliche Container zusammen schrumpfen. Die Möglichkeiten von CSS 3 lassen sich vermutlich erst dann voll ausschöpfen, wenn auf CSS 2 (bei dem zusätzliches Markup benötigt würde) keine Rücksicht mehr genommen werden braucht.

Box-Modell-Chaos

Wer in dem neuen Box-Modell das Konzept der alten Internet Explorer-Versionen erkannt hat, liegt nicht daneben. Microsoft hat bereits beim IE5 die Probleme erkannt und ein fortschrittlicheres Box-Modell implementiert.

Leider verstieß es zum damaligen Zeitpunkt gegen den W3C-Standard und hat damit die Layoutentwicklung nicht wirklich vereinfacht. Der Internet Explorer 6 hat das Box-Modell zumindest im Standardkonformen Darstellungsmodus korrekt interpretiert und im IE7 funktioniert es endlich auch im Quirks Modus.

Und jetzt, wo der Browser endlich macht, was der Standard vorgibt, wird mit CSS 3 das “fehlerhafte” Box-Modell des IE plötzlich offiziell eingeführt.

Kategorien
Stylesheets Webentwicklung

How to set properties with selectors

Prozess Pyramide farbige Darstellung

CSS 3 Selektoren (selectors)

Damit Formateigenschaften auf ein Element angewendet werden können, muss definiert werden, welche Elemente angesprochen werden. Dies geschieht über Selektoren (selectors).

Ein CSS-Selektor nennt die Bedingungen, die auf ein Element zutreffen müssen, damit der nachfolgende Regelsatz an CSS-Deklarationen auf das Element angewendet wird. Der Selektor ist somit der Teil vor den geschweiften Klammern.

Mit neuen Selektoren (Damit Formateigenschaften auf ein Element angewendet werden können, muss definiert werden, welche Elemente angesprochen werden. Dies geschieht über Selektoren (selectors). kann man Elemente noch genauer auswählen.

Beispiele:

first-of-type
first-letter

Fazit, CSS 3 Selektoren (selectors) erweitern also die Möglichkeiten zur gezielten Auswahl und Gestaltung von HTML-Elementen auf Webseiten erheblich. Mit Pseudo-Klassen, Pseudo-Elementen, Attribut-Selektoren und Kombinator-Selektoren bieten sie mehr Flexibilität und Präzision bei der Anpassung des Stils und der Interaktivität von Webseiten. Dies ermöglicht eine verbesserte Benutzererfahrung und eine ansprechendere Webentwicklung.

Kategorien
Stylesheets Webentwicklung

How to create an multi column layout

CSS Programming Image

column layout

Um die Erstellung eines mehrspaltigen Seitenlayouts (column layout) ohne viel Code zu ermöglichen, sollen drei neue CSS-Eigenschaften eingeführt werden.

Zum einen kann man mit column-count festlegen, wie viele Spalten erzeugt werden sollen, mit der Eigenschaft column-gap gibt man den Abstand zwischen den einzelnen Spalten an und mit column-width legt man die Breite der Spalte fest. Dabei sollen nur prozentuale Angaben möglich sein.

Beispiel:

body {
    display: grid;
		gap: 10px;
}

@media (min-width: 500px) { 

body {
 grid-template-columns: 1fr 3fr 1fr;	
 grid-template-rows: auto 1fr 100px;
}

header,footer {
  grid-column: 1 / -1;
}

Zusammenfassend kann gesagt werden: Das Holy-Grail-Layout ist ein Webseiten-Layout, das mehrere, trotz unterschiedlichen Inhalts gleich hohe Spalten hat.

Weiterführende Infomationen findet ihr auf: https://wiki.selfhtml.org/wiki/CSS/Tutorials/Grid/mehrspaltige_Layouts

Kategorien
CSS Templates Stylesheets Webentwicklung

Coole CSS Vorlage Whiteberry 02

Dieses Template (WhiteBerry 02) verwendet eine Breite von 950px der eigentliche Contentbereich ist 700px breit mit einem padding von 10px versehen.

#gesamt {
width:950px;
margin:10px auto;
text-align:left;
}
#content {
float:right;
clear:right;
border:1px solid #CCCCCC;
border-right:1px solid #757575;
border-bottom:1px solid #757575;
width: 700px;
padding:0;
margin:0;
background-color: #A0C0E0;
color:#444444;
text-align:left;
}

Das Menue ist eine unsortierte Liste. Die Formatierung dieser Liste erfolgt durch:

ul#mainnav {
list-style:none;
margin:0;
padding:0;
}
ul#mainnav li {
text-decoration:none;
display:block;
width:100%;
padding:3px 0%;
text-align:left;
}
ul#mainnav li a:link, ul#mainnav li a:visited {
text-decoration:none;
display:block;
width:100%;
padding:3px;
text-align:left;
color:#202040;
background-color: transparent;
}
ul#mainnav li a:hover {
background-color:#E0A0A0;
color:#000066;
padding:3px 0%;
text-align:right;
}

Im Contentberecih schließt sich ein Footerbereich mit ein. Dieser ist 50px hoch und in der Schriftgröße 11px gestaltet. Durch die Klasse “Text” wird ein Einzug von 10px erreicht, im Contentbereich wie auch im Footerbereich.

#footer {
height:50px;
padding:0;
margin:0;
text-align:left;
background-color:#E08080;
font-size:11px;
color:#757575;
width:100%;
border-top:1px solid #F0F0F0;
}
#content .text, #footer .text {
padding:10px;
}

Dieses Template ist CSS validiert.

74 kB

Kategorien
Stylesheets Webentwicklung

CSS Hacks: Entdecken Sie die vielfältigen Möglichkeiten

CSS Programming Image
IE7 Zoom Funktion

Im IE7 können sie außer der Schriftgröße auch die ganze Seite zoomen, inklusive Grafiken und anderer Elemente. CSS Hacks beheben das Problem von Links im Text die mit einem HOVER Effekt versehen werden und diesen eine Hintergrundfarbe zugewiesen wurde. Dann kann es passieren, dass diese Hintergrundfarbe beim zoomen nicht mehr über den Links positioniert ist und sich auch der Text verschiebt.

Kategorien
CSS Templates Stylesheets Webentwicklung

CSS Vorlage Whiteberry 01 vorgestellt

Dieses Template und CSS Vorlage besteht aus einem #main Bereich von 800px. Die Zentrierung erfolgt über automatische Ränder. Der Contentbereich #content_aussen ist 480px breit. Darüber befindet sich noch das #topmenue. Als Doctype verwende ich xhtml-strict.

CSS Template Whiteberry 01
#main {
margin:0;
padding:0;
margin:0px auto;
text-align:left;
width:800px;
}

Das Mainmenue und der Contentbereich werden mittels float angeordnet. Der Contentbereich umfliesst das Mainmenue. (float:right;)

Die Überschriften des Mainmenues werden formatiert mittels:

#mainmenue p.headermenue{
text-align:right;
margin:0;
padding:0;
padding-top:5px;
padding-right:20px;
height:25px;
font-size: 16px;
color:#FFFFFF;
background:transparent_
url(../images/bg-mainmenue.jpg)_
center right no-repeat;
}

In dem Hintergrundbild sind Rundung und Verlauf enthalten.

Eine Besonderheit sind die Rundungen im oberen Bereich des Contents. Diese verwenden -moz-border-radius und sind somit nur für den Mozilla/Firefox. Sollte CSS3 mal bei den meissten Browsern implementiert sein, kann man das problemlos ersetzen.

#content_top {
margin:0;
padding:0;
margin-top:5px;
text-align:left;
width:480px;
height:400px;
background:transparent_
url(../images/bg-content-top.jpg)_
center center no-repeat;
border:10px solid #8FB5D9;
border-bottom:10px solid #8FB5D9;
-moz-border-radius-topleft:30px;
-moz-border-radius-topright:30px;
}

Die Überschriften und der p-tag sind vorformatiert. Ihr könnt aber alles anpassen und nach Euren Wünschen veraendern.

Dieses Template ist CSS validiert (bis auf den border-radius des oberen Contentbereiches).

47 kB