|
||||
![]()
Hallo Forum!
Nach langem Programmieren, Probieren, und Studieren verzweifle ich langsam. Ziel ist es einen wirklich schönen und weichen Schatten um eine Box zu machen. Ja, ich weiss, es gibt im Netz einige interessante Beispiele, welche alle für sich schön aussehen, aber diese stellen mich nicht wirklich zufrieden. Viele Arbeiten mit abdeckenden Hintergrundbildern und produzieren größere Datenmengen. Andere dagegen strecken und verzerren ein Pseudoschatten, was das Zeug hergibt, und liefern auch kein wirklich schönes Ergebnis. So dachte ich mir, das geht auch besser, schlanker und schöner. Gesagt und getan. ![]() Hier ein Beispiel: ![]() Dieses arbeitet mit kleinen JPG Grafiken, und Tabellen, so dass es nach einigen kleinen Tricks sauber funktionierte. OK, es sind Tabellen, was nicht sehr schön ist, und der Schatten wird aus JPG's zusammengebaut, was einen andersfarbigen Hintergrund schwierig und einen mit Bild unmöglich macht. Also entschied ich mich einen zweiten versuch zu bauen. Diesmal mit divs und PNG's Zu dem PNG Problem und ie bin ich noch nicht vorgedrungen. Das mache ich zum Schluss. Im Moment quält mich ein anderes Problem. Um dieses zu verdeutlichen, hier eine vereinfachte Darstellung des Schattenaufbaus: ![]() Sorgen macht mir die "my_box_left_middle" (und auch "my_box_right_middle"). Diese hat 100% höhe und wird mithilfe von clip oben und unten beschnitten, um die Boxen my_box_left_up und my_box_left_down nicht zu überdecken. Sonst würden sich bei PNG die Schatten addieren. Klappt in allen Browsern ganz gut, nur im ie nicht! Der ie ignoriert einfach diese Angabe der Höhe. Natürlich, wenn ich umfassende Box my_box und my_box_left auch auf 100% festlege, funktioniert es, doch das ist nicht das Ziel, was ich haben will. Die Box soll nur die notwendige Höhe annehmen, und die Breite dynamisch zum Fenster haben. Um das Problem begreifbar zu machen habe ich eine vereinfachte Version mal in's Netz gestellt, welche man --> HIER <-- sehen kann. Ich habe dabei den Schatten unten wie auch ggf oben erst mal weggelassen, um es verständlicher und einfacher zu halten. Wie gesagt, das Beispiel funktioniert nicht im IE (BIS ie6, 7 kann ich nicht testen..), also die Gegenprobe im Firefox bitte ... In meiner Verzweiflung habe ich auch eine Version wieder mit Tabellen probiert, aber auch hier das selbe Problem. Die mittlere Box will einfach nicht. Auch --> HIER <-- ein Beispiel. Diesmal nicht vereinfacht, weil mir eine Lösung ohne Tabellen lieber währe. Dieses Beispiel ist nur im Firefox und Netscape korrekt dargestellt (für Safari habe ich noch einen --> Hack <--.), aber mit ie keine Chance ... ![]() Problem: Wie bringe ich ie bei innerhalb einer variablen Box (Container) die Volle Höhe (100%) für ein Obejkt (z.B.: <div>) anzunehmen? Wenn jemand eine Idee oder eine Lösung hat, dann bitte hier. Ich kämpfe mit dem Problem schon seit gut einer Woche, und bekomme es einfach nicht hin. Eine Browserweiche im CSS ist mir im Moment noch nicht wichtig. ich brauche zur Verständnis erst mal nur eine reine ie Lösung für dieses Problem. Zum Schluss, wenn es gilt die Lösung einzubauen (ich hoffe es gibt eine) kann ich im CSS mit weichen arbeiten, und auch gleichzeitig das kleine PNG Problem lösen... Mr Light ![]() Geändert von MrLight (04.12.2006 um 02:12 Uhr) |
Sponsored Links |
|
||||
![]()
Hallo Forum!
Wie ich es euerer Resonanz entnehme, dachte sich wahrscheinlich jeder, nicht schon wieder einer. Es ist an 1000 Stellen schon beschrieben, sogar Microsoft sagt es, dass im IE prozentangaben nur dann funktionieren, wenn alle Elternteile exact vorher definiert sind, und dann beziehzen sich die angaben immer an den Angaben des Elternteils. Es geht doch! GucksDu --> HIER <-- (ie6) Die Schatten links und rechts, nehmen nur die Höhe an, vom Text, welcher sich in der Mitte befindet, und NICHT die volle Höhe! Einen kleinen schönheitsfehler hat das ganze noch. sobald man das Fenster resized, nehmen die Schatten die eigentlich erwarteten Höhen von ECHTEN 100% an. Doch wenn man dann die Seite Reloaded (F5) ist dieser Zaubereffekt wieder da! Kann mir jemand sagen wieso? Wenn ich anstelle der PNG Bilder jedoch normale Hintergrundfarbe nehme, ist der Effekt wieder weg. GucksDu --> HIER <-- (ie6) Würde gerne wissen, was Ihr von diesem Effekt hält, und ob es jemand im IE7 (oder IE5/5.5) für mich testen kann. Wenn jemand Eine Idee hat, warum das so ist, währe ich auch dankbar für ein paar Zeilen! ![]() Mr Light ![]() |
Sponsored Links |
|
|||
![]()
Hast du dir schon mal angeschaut, was mit deinen Schatten (oder den bunten Boxen) passiert, wenn der Inhalt länger als die 100% wird?
Was du willst, erreichst du mit verschachtelten Elementen. Deine Orgie von leeren Elementen finde ich wenig sinnvoll. |
|
|||
![]()
Es geht so nicht im IE. Den Grund hast du selbst genannt.
Wenn du in einem flexiblen Layout rechts und links einen Schatten willst, dann verschachtele zwei Elemente, und gib jedem einen vertikal gekacheltes Hintergrundbild. Die "Ecken" lassen sich normalerweise immer an Elemente vergeben, die sowieso im Code vorhanden sind. Ich sehe in deinem Ansatz den Versuch, Tabellenzellen mit div-Elementen nachzubauen. Dieses Zellendenken aufzugeben ist am Anfang das schwierigste. Der beste Anfang ist es, zunächst den Inhalt mit semantisch sinnvollem Markup auszuzeichnen. Dann erst überleg dir, welche der vorhandenen Elemente welche Teile deines Layouts aufnehmen können. Wenn du dann feststellst, dass die vorhandenen Elemente nicht ausreichen, dann erst füge (vereinzelt) weitere Elemente hinzu. Fast immer sind dabei Verschachtelungen sinnvoll (nicht Nebeneinandersetzen von leeren divs). |
|
||||
![]()
Hallo fricca!
Danke für den Tipp! Das mit den verschachteln von 2 Elementen, hatte ich auch schon gehabt. Code (Schematisch): Code:
<div class="mein_Schatten_links"> <div class="my_content">bla, bla, sowieso ...</div> <div> ![]() Zu dem tabelarischem Denken, gebe ich Dir recht. Nur im Moment finde ich keinen anderen Lösungsansatz. Deshalb poste ich ja auch hier ... Mr Light ![]() |
|
||||
![]()
Die Ecken machen mir genaugenommen die Kopfschmerzen, denn wegen dem Hintergrund, arbeite ich mit PNG's diese kann man nicht einfach übereinander legen, denn dann adieren sich die Schatten, und werden dunkler. Genau das möchte ich ja vermeiden.
Mr Light ![]() |
|
||||
![]()
Da ist ein Hintergrundbild. Fängt oben links an.
Code:
body { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; font-family: verdana, arial, helvetica, sans-serif; font-size: 12px; color: #000000; background-attachment: fixed; background-image: url("Images/schmuckbilder/Welle-web-2-blau.jpg"); background-repeat: no-repeat; background-position: left top; background-color: #E2E7EB; } ![]() ![]() Mr Light ![]() |
Sponsored Links |
|
|||
![]()
Was soll ich in dem ersten Bild sehen können? Sicher nicht deinen Code.
Es tut mir leid, ich kann dir ohne Codegrundlage und konkretes Layout nicht weiterhelfen. Was du zuerst brauchst, habe ich dir bereits genannt. Erst wenn du das hast, dann kann man darüber reden, welche Elemente welche Teile des Layouts aufnehmen können. Denkansatz: Wenn du zwei verschachtelte Elemente hast und das äußere Element ein oberes padding hat, dann fängt das Hintergrundbild des inneren Elements erst nach dem padding an. |
Sponsored Links |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Overflow und prozentuale Höhe innerhalb eines 100% Divs | insanic! | CSS | 3 | 03.04.2009 17:38 |
JS: Höhe einer <div> ermitteln. | Scheppertreiber | Javascript & Ajax | 8 | 22.04.2008 14:07 |
Mehrere <div> mit float:left innerhalb eines übergeordneten <div> zentrieren | Heinzi | CSS | 2 | 02.06.2007 20:39 |
100% Höhe in einem Variablen Container (ie) | MrLight | CSS | 0 | 04.12.2006 16:04 |
<div> Ebene mit variabler Höhe ?? | ph!L | CSS | 10 | 21.07.2006 00:57 |