Ergebnis 1 bis 15 von 15

Thema: Hintergrund linke Spalte komplett farbig

  1. #1
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    332

    Standard Hintergrund linke Spalte komplett farbig

    Liebe Gemeinde,

    ich habe ein Hintergrundspaltenproblem. www.ka-en.de/contao/index.php. Die linke Spalte soll ganzflächig den ockerfarbigen Ton erhalten. In Container habe ich den unteren Rand des linken und mittleren Hauptfeldes mit einem Hintergrundbild versehen, das links die farbige Fläche hat und rechts eine weiße Fläche mit Schatten. Über Content fülle ich den Rest der rechten Fläche mit weiß, die linke Fläche soll komplett mit ocker sein. Ich habe es mit #left versucht, klappt nicht, er nimmt die Farbe immer nur bis zu den Einträgen.

    #container
    {
    width:980px;
    margin-left:-10px;
    background:url("tl_files/Anker-Alsdorf/Layout/textfeldunten.png") left bottom no-repeat;
    }

    #main
    {
    width:690px;
    background-color:#fff;
    background-position:left top;
    }

    #left
    {
    width:290px;
    height:100%;
    background-color:#B9B490;
    background-position:left top;
    }

    #content
    {
    width:630px;
    padding-top:30px;
    padding-left:50px;
    text-align:left;
    font:14px trebuchet ms;
    color:#444;
    }


    article_left
    {
    width:247px;
    margin:0 10px;
    padding-top:10px;
    padding-right:10px;
    padding-left:15px;
    text-align:left;
    background-color:#B9B490;
    background-position:left top;
    border-bottom:1px solid #fff;
    font:11px trebuchet ms;
    color:#444;
    }

    Hat jemand vielleicht eine Idee, wie man das Problem lösen könnte? Für einen Tipp wäre ich sehr dankbar.

    Viele Grüße,

    Katja

  2. #2
    Contao-Fan
    Registriert seit
    27.06.2010.
    Beiträge
    539

    Standard

    Hallo, Katja,

    das "Problem" bei einem nicht-Tabellen-basiertem Layout ist, dass die Seitenspalten nie breiter sind als deren Inhalt, außer, wenn du eine feste Breite vergibst.

    Den Anfang hast du aber schon richtig gemacht und dem Container ein Hintergrundbild vorgegeben. Entweder entfernst du aus diesem Hintergrund die abgerundete Ecke und stellst anstatt dem "no-repeat" "repeat-y" ein und arbeitest dann mit CSS3 (abgerundete Ecken; empfehlenswert!!); oder du verlängerst das Hintergrundbild nach oben hin.

  3. #3
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    332

    Standard

    Vielen lieben Dank! Was meinst du denn mit das Hintergrundbild nach oben hin verlängern? Meine Kunden arbeiten übrigens mit relativen alten IE, da bin ich mir mit den runden Ecken nicht sicher...

    Die meisten lösen das Problem, in dem sie eine Gesamtgrafik in 1 Pixel in #container packen. Dann müsste ich aber die Ecken an den Footer setzen, ist aber irgendwie nicht sauber, oder?

    LG, Katja

  4. #4
    Contao-Fan
    Registriert seit
    27.06.2010.
    Beiträge
    539

    Standard

    Mit "nach oben verlängern" meinte ich statt

    Code:
    |
    |
    |
    |
    |
    |
    |
    |______________________________ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    Code:
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |______________________________ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    Also einfach, dass das Hintergrundbild "textfeldunten.png" höher wird.


    (Außerdem wird in Contao 2.10 mit einem Fallback gearbeitet; siehe http://www.contao.org/neuigkeiten/it...Keynote_DE.pdf Folie CSS3)

  5. #5
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    332

    Standard

    So wie ich das verstehe, kann man über behaviour die IE Probleme bei der Eckenrundung ausschließen? Ich probiere es mal aus... vielen Dank schon mal!

    Liebe Grüße,

    Katja

  6. #6
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    332

    Standard

    Ich habe jetzt diese Seite gefunden, http://webstylez.net/Floatende-Divs-gleich-hoch-machen, irgendwie klappt es nicht so richtig, obgleich es logisch klingt....


    #sidebar {
    padding-bottom: 32768px;
    margin-bottom: -32768px;
    float: right;
    width: 250px;
    }

    #content {
    padding-bottom: 32768px;
    margin-bottom: -32768px;
    float: left;
    width: 520px;
    }

    #main {
    overflow: hidden;
    height: 100%; /* for IE6 */


    Leider krieg ich den elendig langen Streifen unten nicht weg...

  7. #7
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    332

    Standard

    Hat jemand vielleicht noch eine Idee?? Das wäre super...

  8. #8
    Contao-Fan
    Registriert seit
    27.06.2010.
    Beiträge
    539

    Standard

    Lass' am besten alles so wie es ist und ersetze bitte das Hintergrundbild mit Folgendem im Anhang.
    Ich denke, wenn man die abgerundete Ecke einbezieht, ist das die beste Lösung.
    Angehängte Grafiken Angehängte Grafiken

  9. #9
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    332

    Standard

    He, ich weiß ja nicht, wie du es gezaubert hast, aber es klappt super!! Wenn die Texte länger als 1800 Pixel werden, verlängere ich einfach grafisch das Bild auf z. B. 980 x 3500 Pixel?

    LG, Katja

  10. #10
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    332

    Standard

    Super, super, vielen tausend Dank! Ich bin total erleichtert, du bist ein echter Schatz!!

  11. #11
    Contao-Fan
    Registriert seit
    27.06.2010.
    Beiträge
    539

    Standard

    Schön, dass es klappt. Sollen die Texte erst einmal so lang werden...

  12. #12
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    332

    Standard

    Das ist ein sozial-kirchlicher Verein, man glaubt manchmal nicht, wie viel die zu sagen haben...:-) Danke nochmal und eine schöne Weihnachtszeit!

  13. #13
    Contao-Nutzer
    Registriert seit
    04.01.2010.
    Beiträge
    50

    Standard Der Trick ist einfach; musste aber auch ganz lange suchen

    Hier die HTML Datei

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <link type="text/css" href="style.css" rel="stylesheet" media="screen" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    
    
    <body>
    
    
    
    <div id="container">
    	<div id="banner" >LOGO
     		<h1>HEADER</h1>
    	</div>
    	<div id="left">
    		<h2>Menue links</h2>
    			</div>
    	<div id="content">
    		<h2>Inhalt</h2>
    		<p style="height:900px;">Hallo</p>
    	</div>
     	<div id="footer">FOOTER</div>
    </div>
    </body>
    </html>
    Hier folgt die CSS Datei

    Code:
    body {
    background-color: #e1ddd9;
    font-size: 11px;
    font-family: Verdana, Arial, SunSans-Regular, Sans-Serif;
    color:#564b47;
    padding:0px;
    margin:0px;
    }
    a {color: #DB7093;}
    a:visited {color:#DB7093;}
    a:hover {color: #564b47;}
    a:active { color:#000000;}
    
    h1 {
    font-size: 11px;
    text-transform:uppercase;
    background-color: #E0A3B7;
    border-top:1px solid #564b47;
    border-bottom:1px solid #564b47;
    padding:5px 15px;
    margin:0px }
    
    h2 {
    font-size:20px;
    font-weight: normal;
    padding: 5px 10px;
    margin:0px;}
    
    img.download {vertical-align:middle;}
    
    /* ----------container zentriert das layout-------------- */
    #container {
    width: 800px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    background-color: #EBD3E0;
    }
    
    /* ----------banner for logo-------------- */
    #banner {
    background-color: #e1ddd9;
    text-align: right;
    padding: 0px;
    margin: 0px;
    }
    #banner img {padding:10px 0px;} 
    
    /* -----------------Inhalt--------------------- */
    #content {
    background-color: #ffffff;
    padding: 0px;
    margin-left: 200px;
    margin-right: 0px;
    }
    div#content { 
    min-height:600px;
    height:expression(this.scrollHeight > 600 ? "auto":"600px"); 
    }
    
    p, pre{
    padding: 5px 10px;
    margin:0px;
    }
    
    /* --------------left navigavtion------------- */
    #left {
    float: left;
    width: 200px;
    margin: 0px;
    padding: 0px;
    }
    
    /* -----------footer--------------------------- */
    #footer {
    clear: both;
    margin: 0px;
    padding: 0px;
    text-align: right; }
    Für Contao bedeutet dies:

    1. der Container hat die Hintergrundfarbe der linken Spalte (#left)
    2. Container .inside hat die gewünschte Farbe; in meinem Fall #fff; also weiss

    Somit wird die quasi "linke Spalte" durch den Container, egal wie lang so angezeigt.

    Du kannst ja mal testen!

    Liebe Grüße

    Maja
    Geändert von maja340 (25.12.2011 um 19:57 Uhr)

  14. #14
    Contao-Fan
    Registriert seit
    27.06.2010.
    Beiträge
    539

    Standard

    Und wenn mal die linke Spalte länger ist als die Hauptspalte?

  15. #15
    Contao-Nutzer Avatar von SFuchs
    Registriert seit
    30.03.2010.
    Ort
    Ellerhoop
    Beiträge
    112

    Standard

    Gibt mehrere Möglichkeiten.
    Die erste sind Faux Colums, dort arbeitest du mit einer Hintergrundgrafik die du einfach repeaten lässt.
    HTML-Code:
    <div id="content-wrapper">
    	<div class="spalte" id="linke-spalte">
    		sidebar
    	</div>
    	<div id="content-area">
    		Inhaltsbereich
    	</div>
    	<div class="spalte" id="rechte-spalte">
    		sidebar
    	</div>
    </div>
    In den Content-Wrapper kommt die Hintergrund Grafik rein die wird dann auf repeat-y gesetzt. Da der Contentwrapper immer so hoch wird, wie die höchste Spalte hast du farbliche Spalten.
    http://www.alistapart.com/articles/fauxcolumns/
    http://www.ohne-css.gehts-gar.net/0005.php

    Zweite Möglichkeit über ein Holy Grail Layout, das ist aber ein zacken Schwerer.
    http://www.satzansatz.de/cssd/companions.html

    Dritte Möglichkeit wäre mit JQuery, was den Vorteil hat das man keine Hintergrund Grafiken mehr für die Fake Spalten benötigt.
    http://www.jainaewen.com/files/javas...t-columns.html

    Vierte Möglichkeit und jetzt geht es in den CSS3 Bereich, wäre mit Display:Table zu arbeiten.
    Man weist dem Wrapper mit Display:table an und die Spalten verhalten sich dann mit display:table-cell. Das Verhalten der Layer gleicht dann den alten Tabellen, wachsen damit automatisch mit.

    Fünfte Möglichkeit auch CSS3 aber noch recht experimentell. Wäre mit dem Flexible Layout Modul
    http://www.html5rocks.com/en/tutorials/flexbox/quick/
    Über Stretch werden die Boxen automatisch mitwachsen um den noch verbleibenden Raum auszufüllen. Ist aber noch sehr experimentell, IE9 kommt damit überhaupt nicht zurecht da muss man noch auf IE10 warten und dann noch ein paar Jahre oben drauf schlagen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •