abgerundete Ecken
    


HOME

 DOWNLOAD   BEISPIEL   Quellcode  ZURÜCK SITEMAP  

 Rahmen - abgerundete Ecken

Seitenbereiche sollen innerhalb eines Rahmens dargestellt werden. Dabei soll der Rahmen abgerundete Ecken haben. Dazu wurden einige Script-Lösungen entwickelt. Möchte man stattdessen mit (Hintergrund-) Grafiken arbeiten, muss man einige 'Kleinigkeiten' beachten.

abgerundete Ecken

update:  Dienstag 09.07.2009 - 23:00 Uhr   www.cssplay.co.uk  (funktionierendes CSS Beispiel)

Hier sehen sie das fertige 'Produkt' des Codeschnipsels für einen Rahmen mit abgerundeten Ecken. Der Anzeigebereich ist auf eine fixe Breite von 470 Pixeln eingestellt und verwendet 3 DIV-Bereiche mit entsprechend breiten Hintergrundgrafiken. Die Schritte zur Entwicklung und meine Überlegungen zur Lösung können sie weiter unten nachlesen.

Erklärungen und CSS-Anweisungen zum Beispiel

Wenn sie Verwendung für solche Module haben können sie Quellcode und Grafiken herunterladen. Falls sie eigene entwickeln möchten, finden sie hier eine Anregung.

  Headline
Box von 470 Pixel Breite mit Titelleiste für variablen Text.
Umsetzung durch 3 DIV-Bereiche für die mit CSS-Angaben Hintergrundgrafiken festgelegt wurden. Für die DIVs oben, mitte und unten sind Grafiken von 470 Pixel Breite eingebunden. Für den eigentlichen Inhalt wurde ein weiterer DIV-Bereich definiert, für den mit padding:10px 15px 10px 15px; die Innenabstände festgelegt wurden.

Erklärungen und CSS-Anweisungen zum Beispiel

Die Textbox mit Rahmen 'wächst' mit dem Inhalt

  Gummibärchen
Freilebende Gummibärchen gibt es nicht. Man kauft sie in Packungen an der Kinokasse. Dieser Kauf ist der Beginn einer fast erotischen und sehr ambivalenten Beziehung Gummibärchen-Mensch. Zuerst genießt man. Dieser Genuß umfaßt alle Sinne. Man wühlt in den Gummibärchen, man fühlt sie. Gummibärchen haben eine Konsistenz wie weichgekochter Radiergummi. Die Tastempfindung geht auch ins Sexuelle. Das bedeutet nicht unbedingt, daß das Verhältnis zum Gummibärchen ein geschlechtliches wäre, denn prinzipiell sind diese geschlechtsneutral. Nun sind Gummibärchen weder wabbelig noch zäh; sie stehen genau an der Grenze. Auch das macht sie spannend. Gummibärchen sind auf eine aufreizende Art weich. Und da sie weich sind, kann man sie auch ziehen. Ich mache das sehr gerne. Ich sitze im dunklen Kino und ziehe meine Gummibärchen in die Länge, ganz ganz langsam.


erste Downloads (wird erweitert)

Modul Farbe Breite Vorschau Code Grafiken Bild
Modul-01 blau 470 px
Modul-02 orange 470 px
Modul-03 grün 470 px


weitere Farben / Breiten demnächst ...




   abgerundete Ecken Studie mit Lösungsansätzen (in Arbeit)

Arbeitsblatt vom  Samstag 06.06.2009 - 13:00 Uhr -  Beispiel wird demnächst abgeschlossen

Ich arbeitete an einer Demo / einer akzeptablen Lösung für Seitenbereiche mit einem Rahmen, der abgerundete Ecken haben soll. Da die (mir bekannten) JavaScript-CSS-Lösungen noch keine für alle Browser befriedigende Lösung boten, ging ich wieder einmal einen Schritt zurück, bis sich etwas Besseres findet.

Script Tabelle 1 DIV / CSS Tabelle 2 LÖsung


   meine Überlegungen
 
Hier eine Lösung für abgerundete Ecken mit JavaScript und CSS

Copyright (c) 2009 Cameron Cooke
Autoren: Cameron Cooke and Tim Hutchison



Rahmen mit abgerundeten Ecken realisiert mittels JavaScript und CSS. Alles fein im FF 3.0 aber im IE sind störende Linien zu sehen. Aus der Traum (zumindest mit diesem Script).


Screenshot des Beispiels im FF 3.0

Screenshot des Beispiels im IE 6.0








   Lösungsversuche
 
1  Die HTML-Methode - Tabelle mit einer Hintergrundgrafik

<td background="rahmen-470-01.gif">
Rahmen als Hintergrundgrafik einer Tabellenzelle mit festgelegter Höhe.

 
2  Die CSS-Methode - DIV-Bereiche

Zwei verschachtelte DIV-Bereiche (2 wegen padding im FF)

2a) DIV-Bereich mit einer Hintergrundgrafik - Bsp. a

Rahmen als Hintergrundgrafik eines DIV-Bereichs mit festgelegter Höhe.
#Rahmen01{
width:470px;
height:76px;
background:url(rahmen-470-01.gif);
}

#Inhalt01{
height:100%;
padding:10px;
margin: 0px;
font-family:Arial,Helvetica,sans-serif;
font-size:11px;
}

2b) DIV-Bereich mit einer Hintergrundgrafik - Bsp. b

R2 Die Hintergrundgrafik eines DIV-Bereichs kann unterschiedlich aussehen und mit Padding-Angaben bringen sie den formatierten Text in die richtige Position.
#Rahmen02{
width:470px;
height:76px;
background:url(rahmen-470-02.gif);
}

#Inhalt02{
margin:0px;
padding: 30px 10px 10px 10px;
font-family:Arial,Helvetica,sans-serif;
font-size:11px;
}

2c) DIV-Bereich mit einer Hintergrundgrafik - fehlerhafte Darstellung

Sobald die fixe Höhe eines solchen Bereichs für längere Inhalte nicht ausreicht, ist die Darstellung nicht mehr OK.
Sobald die fixe Höhe eines solchen Bereichs für längere Inhalte nicht ausreicht, ist die Darstellung nicht mehr OK.




2d) DIV-Bereich mit einer Hintergrundgrafik - Anweisungen für Overflow

Mit CSS-Anweisungen für Overflow könnte man übergroße Inhalte abschneiden oder die Anzeige eines Scrollbars erzwingen.

Mit CSS-Anweisungen für Overflow könnte man übergroße Inhalte abschneiden oder die Anzeige eines Scrollbars erzwingen.
Ne vero prompta repudiare mel, per at inani timeam, sea quas dicam ut. No cum wisi option molestiae, quod etiam aliquyam in vim, ei saperet iudicabit disputando sit. Impetus euripidis sit et. Et iuvaret voluptua similique vim, vel ne fugit oporteat molestiae, tritani cotidieque vis ut. Ipsum mandamus pro in, quando mollis omittam ut usu. Ius et dicta utinam, sea mollis numquam noluisse cu. ausreicht, ist die Darstellung nicht mehr OK.



overflow-y:scroll;
Aber auch hierbei wird die Anzeige browserabhängig unterschiedlich aussehen, zumindest ohne weitere kleine Tricks.

Anzeige im FF
Anzeige im IE

 
3  HTML-Methode - Tabelle mit mehreren Zellen Hintergrundgrafik 'zerschnippelt'

Alo gehe ich zurück zur alten Tabellenmethode und versuche später, die eigentlichen HTML-Anweisungen zur Darstellung der Hintergrundgrafiken mit CSS ohne Tabelle zu realisieren. Den Weg dorthin können sie so leichter mit verfolgen.

3a) Tabelle mit mehreren Grafiken, Tabellenzellen mit Hintergrundgrafiken

Die althergebrachte Arbeitsweise mit einzelnen Grafiken in Tabellenzelllen einer Tabelle macht eine automatische Höhenapassung möglich.


3b)

Die althergebrachte Arbeitsweise mit einzelnen Grafiken in Tabellenzelllen einer Tabelle macht eine automatische Höhenapassung möglich. Dabei kann man die Grafiken mit CSS-Anweisungen (wie hier) als Hintergrundgrafiken für die einzelnen Tabellenzellen festlegen. Größere Inhalte schieben die untere Tabellenzeile abwärts.


3c)

Die althergebrachte Arbeitsweise mit einzelnen Grafiken in Tabellenzelllen einer Tabelle macht eine automatische Höhenapassung möglich. Die Box mit Rahmen wird automatisch angepasst.

Ne vero prompta repudiare mel, per at inani timeam, sea quas dicam ut. No cum wisi option molestiae, quod etiam aliquyam in vim, ei saperet iudicabit disputando sit. Impetus euripidis sit et. Et iuvaret voluptua similique vim, vel ne fugit oporteat molestiae, tritani cotidieque vis ut. Ipsum mandamus pro in, quando mollis omittam ut usu. Ius et dicta utinam, sea mollis numquam noluisse cu. Fierent dolores expetendis vel eu, sed et adipiscing incorrupte quaerendum. An vix cetero maiorum, cu duo molestie expetenda.


3d)

Auch bei dieser Variante kann man durch unterschiedliche Grafiken
das Erscheinungsbild verändern.


3e)

Die althergebrachte Arbeitsweise mit einzelnen Grafiken in Tabellenzelllen einer Tabelle macht eine automatische Höhenapassung möglich. Dabei kann man die Grafiken mit CSS-Anweisungen (wie hier) als Hintergrundgrafiken für die einzelnen Tabellenzellen festlegen. Größere Inhalte schieben die untere Tabellenzeile abwärts.


3f)

Die althergebrachte Arbeitsweise mit einer Tabelle macht eine automatische Höhenapassung möglich. Die Box mit Rahmen wird automatisch angepasst.

Ne vero prompta repudiare mel, per at inani timeam, sea quas dicam ut. No cum wisi option molestiae, quod etiam aliquyam in vim, ei saperet iudicabit disputando sit. Impetus euripidis sit et. Et iuvaret voluptua similique vim, vel ne fugit oporteat molestiae, tritani cotidieque vis ut. Ipsum mandamus pro in, quando mollis omittam ut usu. Ius et dicta utinam, sea mollis numquam noluisse cu. Fierent dolores expetendis vel eu, sed et adipiscing incorrupte quaerendum. An vix cetero maiorum, cu duo molestie expetenda.


3g)

Die althergebrachte Arbeitsweise mit einer Tabelle macht eine automatische Höhenapassung möglich. Die Box mit Rahmen wird automatisch angepasst.
Bei dieser Methode mit 8 Hintergrundgrafiken ist ohne besonderen Aufwand auch eine Anpassung der Breite möglich. Die Angaben für 'width' müssen lediglich den gewünschten Wert haben.

width:200px;


4  CSS-Methode - 3 DIV-Bereiche CSS-formatiert

Eine elegante Methode wäre es, die 3 Bereiche der Darstellung als 3 DIV-Bereiche mit CSS-Anweisungen zu definieren. Für die beiden DIVs oben und unten würde man 2 passende, abgerundete Grafiken einbinden. Der mittlere DIV-Bereich erhält durch CSS-Anweisungen einen Rand jeweils links und rechts in entsprechender Farbe.





4a) zur Demo mit Abstand



Anzeige der 3 DIV-Bereiche zur Demo mit Abstand zueinander. Für die beiden DIVs oben und unten sin 2 Grafiken eingebunden. Dieser mittlere DIV-Bereich erhielt durch CSS-Anweisungen links und rechts einen Rand in entsprechender Farbe. Textabstände wurden mit padding:10px 15px 10px 15px; festgelegt.

alles scheint OK zu sein, zumindest im IE




Es werden 2 Grafiken verwendet:

oben-div.gif



unten-div.gif




Aber auch hier musste ich für den mittleren Bereich einen separaten DIV-Bereich für den Inhalt definieren, um in beiden Browsern gewünschte Padding-Angaben zu ermöglichen, ohne das im FF die Padding-Werte zur eigentlichen Höhe und Breite addiert werden.
<div id="mitte4"><div id="inhalt4"> Text </div></div>


4b) ohne Abstand

Anzeige der 3 DIV-Bereiche zur Demo mit Abstand zueinander. Für die beiden DIVs oben und unten sind 2 Grafiken eingebunden. Der mittlere DIV-Bereich erhielt durch CSS-Anweisungen links und rechts einen Rand in entsprechender Farbe. Innenabstände wurden in einem weiteren DIV-Bereich mit padding:10px 15px 10px 15px; festgelegt.


Allerdings immer noch mit einer unerwünschten Darstellung im FF! Die Border-Werte werden zur eigentlichen Breite addiert.

#mitte4{
width:470px;
font-family:Arial,Helvetica,sans-serif;
font-size:11px;
border-left:1px solid #487F8F;
border-right:1px solid #487F8F;
}
Da neben Margin- und Padding-Angaben im FF auch die Angaben für Border nicht unbedingt inclusive (also als Abzug zur Gesamtbreite) berechnet werden, müsste man mit einem kleinen Kniff arbeiten! Im FF rückt sonst der rechte Rand für den mittleren Bereich leicht (um die Summe der Randbreiten = 2 Pixel) nach rechts.


Screenshot im FF 3.0:



Screenshot im IE 6.0:




 
5  CSS-Methode - 3 DIV-Bereiche, 3 Hintergrundgrafiken

Für die DIV-Bereiche oben und unten hatte ich im Beispiel 4 jeweils eine Hintergrundgrafik eingesetzt, die über CSS-Angaben festgelegt wurden. Für den mittleren Bereich wollte ich mit CSS einen linken und rechten Rand von einem Pixel in entprechender Farbe festlegen. Das führte aber mit den von mir verwendeten CSS-Angaben zu dieser fehlerhaften Darstellung.

Würde ich für den mittleren Bereich ebefalls eine Hintergrundgrafik definieren, sollte alles OK sein.

#mitte4-2 {
width:470px;
background:url(mitte-div.gif);
}
Mit grafischer Titelleiste (fester Text)
Anzeige der 3 DIV-Bereiche zur Demo ohne Abstand zueinander. Für die DIVs oben, mitte und unten sind Grafiken eingebunden. Innenabstände wurden in einem weiteren DIV-Bereich mit padding:10px 15px 10px 15px; festgelegt.


Die 3 verwendete Grafiken für den 470 Pixel großen Bereich:

1) oben-div.gif



2) mitte-div.gif



3) unten-div.gif




Notierungen im Body-Bereich:

<div id="oben4"></div>

<div id="mitte4-2"><div id="inhalt4"> Text </div></div>

<div id="unten4"></div>
Die CSS-Anweisungen für diese Darstellung:

<style type="text/css">
<!--

#oben4{
width:470px;
height:22px;
background:url(oben-div.gif);
}

#mitte4-2{
width:470px;
background:url(mitte-div.gif);
}

#unten4{
width:470px;
height:7px;
font-family:Arial,Helvetica,sans-serif;
font-size:1px;
background:url(unten-div.gif);
}

#inhalt4{
padding:10px;
width:450px;
font-family:Arial,Helvetica,sans-serif;
font-size:11px;
}

-->
</style>

 

6  Modul 01 mit universell verwendbaren Hintergrundgrafiken (blau)

Zu diesem Modul 01 steht ihnen (oben) eine ZIP-Datei zum Download der Grafiken und eine Textdatei für den Quellcode zur Verfügung. Das Beispiel darf frei verwendet werden.

Damit sie im DIV-Bereich oben ihre eigenen Texte für die Headline / Überschrift eintragen können, biete ich ihnen neutrale Hintergrundgrafiken an. Für die Textformatierung wurden zusätzliche CSS-Anweisungen eingetragen. Auf Padding und Margin-Angaben für die Einrückung von Links habe ich verzichtet und verwende stattdessen 2 non-breakable-spaces.

1) oben-blau01.gif



2) mitte-blau01.gif



3) unten-blau01.gif




Mit Titelleiste für variablen Text

Anzeige der 3 DIV-Bereiche zur Demo ohne Abstand zueinander. Für die DIVs oben, mitte und unten sind Grafiken eingebunden. Innenabstände wurden in einem weiteren DIV-Bereich mit padding:10px 15px 10px 15px; festgelegt.

  Headline
Freilebende Gummibärchen gibt es nicht. Man kauft sie in Packungen an der Kinokasse. Dieser Kauf ist der Beginn einer fast erotischen und sehr ambivalenten Beziehung Gummibärchen-Mensch. Zuerst genießt man. Dieser Genuß umfaßt alle Sinne. Man wühlt in den Gummibärchen, man fühlt sie. Gummibärchen haben eine Konsistenz wie weichgekochter Radiergummi.


Notierungen im Body-Bereich:

<div id="oben6">&nbsp;&nbsp;Headline</div>

<div id="mitte6"><div id="inhalt6"> Text </div></div>

<div id="unten6"></div>
Die CSS-Anweisungen für diese Darstellung:

<style type="text/css">
<!--

#oben6{
width:470px;
height:22px;
background:url(oben-blau01.gif);
font-family:Arial,Helvetica,sans-serif;
font-size:12px;
color:#668899;
letter-spacing: 1px;
font-weight:bold;
line-height:22px;
}

#mitte6{
width:470px;
background:url(mitte-blau01.gif);
}

#unten6{
width:470px;
height:7px;
font-family:Arial,Helvetica,sans-serif;
font-size:1px;
background:url(unten-blau01.gif);
}

#inhalt6{
padding:10px;
width:450px;
font-family:Arial,Helvetica,sans-serif;
font-size:11px;
}

-->
</style>



7  Modul 02 mit universell verwendbaren Hintergrundgrafiken (orange)

Aufbau identisch mit Modul 01

Zu diesem Modul 02 steht ihnen (oben) eine ZIP-Datei zum Download der Grafiken und eine Textdatei für den Quellcode zur Verfügung. Das Beispiel darf frei verwendet werden.

Damit sie im DIV-Bereich oben ihre eigenen Texte für die Headline / Überschrift eintragen können, biete ich ihnen neutrale Hintergrundgrafiken an. Für die Textformatierung wurden zusätzliche CSS-Anweisungen eingetragen. Auf Padding und Margin-Angaben für die Einrückung von Links habe ich verzichtet und verwende stattdessen 2 non-breakable-spaces.

1) oben-orange01.gif



2) mitte-orange01.gif



3) unten-orange01.gif




  Headline
Freilebende Gummibärchen gibt es nicht. Man kauft sie in Packungen an der Kinokasse. Dieser Kauf ist der Beginn einer fast erotischen und sehr ambivalenten Beziehung Gummibärchen-Mensch. Zuerst genießt man. Dieser Genuß umfaßt alle Sinne. Man wühlt in den Gummibärchen, man fühlt sie. Gummibärchen haben eine Konsistenz wie weichgekochter Radiergummi.


Notierungen im Body-Bereich:

<div id="oben7">&nbsp;&nbsp;Headline</div>

<div id="mitte7"><div id="inhalt7"> Text </div></div>

<div id="unten7"></div>
Die CSS-Anweisungen für diese Darstellung:

<style type="text/css">
<!--

#oben7{
width:470px;
height:22px;
background:url(oben-orange01.gif);
font-family:Arial,Helvetica,sans-serif;
font-size:12px;
color:#DF7000;
letter-spacing: 1px;
font-weight:bold;
line-height:22px;
}

#mitte7{
width:470px;
background:url(mitte-orange01.gif);
}

#unten7{
width:470px;
height:7px;
font-family:Arial,Helvetica,sans-serif;
font-size:1px;
background:url(unten-orange01.gif);
}

#inhalt7{
padding:10px;
width:450px;
font-family:Arial,Helvetica,sans-serif;
font-size:11px;
}

-->
</style>
... wird demnächst abgeschlossen. Ich wünsche ihnen viel Erfolg beim Basteln, wenn sie das Beispiel mit eigenen Grafiken (z.B. für eine andere Breite) weiter entwickeln möchten. Die Breitenangaben von derzeit 470 Pixel sollten sie dann entsprechend ändern.






NACH OBEN