tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
1728
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    quidnovi quidnovi ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    294
    Hi @ all!

    Ich hab ein Problem, mit dem ich einfach nicht klar komme und ich hoffe, dass mir vielleicht irgendjemand helfen kann.
    Vorwegnehmen möchte ich, dass ich bereits sämtliche mir relevant vorkommende Seiten durchgegangen bin und ich auch Mr. Google befragt habe, doch habe ich nirgendwo etwas Befriedigendes gefunden.

    Folgendes:
    Mein css-layout will sich einfach nicht in der Mitte zentrieren lassen. Ich bringe es horizontal auf die Reihe und auch vertikal, doch schaffe ich nicht beides.
    Im günstigsten Fall soll die Seite browserunabhängig programmiert sein - heißt, immer mittig.

    Um ein besseres Bild zu bekommen, hänge ich mal meine css an:
    HTML-Code:
    body {
    		text-align:center;
    		
    		}
    	
    	#frame {
    		width:950px;
    		margin-right:auto;
    		margin-left:auto;
    		margin-top:10px;
    		padding:0px;
    		text-align:left;
    		overflow: hidden;
    		}
    		
    	#contentleft {
    		width:175px;
    		padding:0px;
    		float:left;
    		background:#663366;
    		height: 400px;
    		}
    	
    	#contentcenter {
    		width:600px;
    		padding:0px;
    		height: 400px;
    		float:left;
    		background:#eee;
    		overflow: auto;
    		}
    	
    	#contentright {
    		width:175px;
    		padding:0px;
    		float:left;
    		background:#66FF99;
    		height: 400px;
    		}
    	
    	#contentheader {
    		background:#FF6699;
    		border: 1px solid silver;
    		height: 100px;
    		}
        #contentnavigation {
    		background:#FF99CC;
    		border: 1px solid silver;
    		height: 30px;
    		}
    	
            #contentfooter {
    		background:#FF99CC;
    		border: 1px solid silver;
    		height: 30px;
    		clear:left;
                    background:#339999;
                    text-align:center;
                    padding:0px;
    		}
    		
    	#contentheader h1 {
    		font-size:14px;
    		padding:10px;
    		margin:0px;
    		}
    	
    	#contentright p { font-size:10px}
    Möchte noch dazusagen, dass dies die letzte verzweifelte Möglichkeit ist, die ich angewendet habe. Auch mit diversen Prozentangaben habe ich es einfach nicht geschafft.

    Wie gesagt, ich bin am verzweifeln.
    Vielleicht kann mir ja jemand helfen.
    Bin für jede Hilfe dankbar.

    Grüße quidnovi

    p.s.: Vielleicht sollte ich noch dazusagen, dass ich mich erst seit kurzem mit css beschäftige - bitte also um etwas Nachsicht.
     

  2. #2
    Maik Tutorials.de Gastzugang
    Hier mal ein Lösungsbeispiel für eine horizontal und vertikal zentrierte Box:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    div#centerBox {
    position: absolute;
    left: 50%;
    width: 950px;
    margin-left: -475px; /* negative Hälfte von width:950px */
    top: 50%;
    height: 560px;
    margin-top: -280px; /* negative Hälfte von height:560px; */
    border: 1px solid #000;
    }
    HTML-Code:
    <div id="centerBox">...</div>
     

  3. #3
    quidnovi quidnovi ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    294
    Hallo michaelsinterface,
    super, danke, es funktioniert!!

    Vielen Dank auch für dein nebenstehendes Kommentar - somit kann auch ein Newbie noch was lernen.

    Bei einer Browsergröße von 1024x768 haut es wunderbar hin - nochmals vielen Dank.

    Was ich allerdings nicht verstehe ist, wieso jetzt plötzlich bei einer Größe von 800x600 die halbe Seite verschwindet.

    Auch wenn ich alles Mögliche auf overflow: auto; setze, passiert gar nix.

    Hast du da vielleicht auch noch ne Ahnung, wie man das beheben kann?


    Grüße quidnovi
     

  4. #4
    Maik Tutorials.de Gastzugang
    Wenn die Monitorauflösung 800*600px beträgt, reicht die zentrierte Box (width: 950px) um 150 Pixel in der Horizontalen über das Browserfenster hinaus.

    In der Vertikalen verhält es sich genauso, wenn das Fenster niedriger als 560px ist.

    Wie man das beheben kann? Vielleicht ein kleineres Format für das Layout wählen?
     

  5. #5
    quidnovi quidnovi ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    294
    Was du mir damit klar machen willst, verstehe ich schon.

    Natürlich wäre es ein einfaches, einfach ein kleineres Format zu wählen, nur soll das leider so nicht sein.

    Gebe ich deinen Code wieder heraus, so kann ich bei einer Größe von 800x600 zwar nicht das gesamte Layout sehen - ist ja klar, nur kann ich damit so scrollen, dass im Endeffekt auch alles ersichtlich ist.
    Nehme ich allerdings deinen Code wieder rein, so scrollt die Seite natürlich auch, nur schneidet es mit oben, links und rechts einen Teil der Seite weg.

    Darum meine Frage, warum das so ist und ob man das mit deinem Code umgehen kann. Immerhin ist es ursprünglich genau das gewesen, was ich gesucht und Dank deiner Wendigkeit gefunden habe.
     

  6. #6
    Maik Tutorials.de Gastzugang
    Daß der obere/untere bzw. linke/rechte Bereich des Layouts in den nichtsichtbaren Bereich verschwindet, liegt einfach daran, daß sich das DIV#centerBox immer im verfügbaren Anzeigebereich des Browserfensters in der Horizontalen und Vertikalen zentriert.

    Von daher ist mir auch keine Möglichkeit bekannt, um bei der vorgestellten Technik diesen Effekt bei einer kleineren Bildschirmauflösung zu verhindern.
     

  7. #7
    quidnovi quidnovi ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    294
    Schade!

    Wäre ja zu schön gewesen, wären alle meine CSS-Problemchen einfach so in der Luft verpufft.
    Dank dir nochmals für deine schnelle Hilfe.

    In diesem Sinne ein "happy weekend".

    Grüße quidnovi
     

  8. #8
    Avatar von killkrog
    killkrog killkrog ist offline Mitglied Brillant
    Registriert seit
    Jan 2002
    Beiträge
    926
    Hi!

    Auch wenn es schon ein paar Tage her ist, hätte ich noch einen Vorschlag für dich.

    HTML-Code:
    <head>
    ...
    <script type="text/javascript">
    	switch(screen.width) {
    	case 800:
    		document.write('<link rel="Stylesheet" href="stylesheet_mit_positionierungsangaben_800er_auflösung.css" type="text/css" />');
    		break;
    	case 1024:
    		document.write('<link rel="Stylesheet" href="stylesheet_mit_positionierungsangaben_1024er_auflösung.css" type="text/css" />');
    		break;
    	case 1280:
    		document.write('<link rel="Stylesheet" href="stylesheet_mit_positionierungsangaben_1280er_auflösung.css" type="text/css" />');
    		break;
    	case 1600:
    		document.write('<link rel="Stylesheet" href="stylesheet_mit_positionierungsangaben_1600er_auflösung.css" type="text/css" />');
    		break;
    	default:
    		document.write('<link rel="Stylesheet" href="default.css" type="text/css" />');
    		break;
    	}
    </script>
    ...
    </head>
    
    <body>
    <div class="center_div">
    	Inhal
    </div>
    </body>
    </html>
    Damit wird ausgelesen, welche Auflösung der Anwender benutzt, und anschließend ein entsprechendes Stylesheet geladen. In dem schreibst du dann jeweils deine Positionierungsangaben, die eben für die entsprechende Auflösung passen.
    Vielleicht ist es ja nützlich in deinem Fall.

    Alles Gute,
    Chris
     

  9. #9
    Maik Tutorials.de Gastzugang
    Die ermittelte Bildschirmauflösung sagt aber nichts über die tatsächliche Browserfenstergröße bzw. die Größe des Darstellungsfeldes aus.
     

  10. #10
    Avatar von killkrog
    killkrog killkrog ist offline Mitglied Brillant
    Registriert seit
    Jan 2002
    Beiträge
    926
    Das ist natürlich korrekt.
    Es sollte ja auch nur eine begrenzte Möglichkeit darstellen.
    Hab ich ja auch dazugeschrieben, dass es vllt nur eingeschränkt einsatzfähig ist.
    Aber besser so, als gar nicht, oder?

    Liebe Grüße
    Chris
     

  11. #11
    quidnovi quidnovi ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    294
    Hallo Chris,

    recht herzlichen Dank dafür, dass du dir weiterhin wegen meinem Problem Gedanken gemacht hast.

    Hab mir natürlich auch selbst meinen Kopf zerbrochen und bin ebenfalls auf die Browserweiche gestoßen.

    Dass die dann ermittelte Bildschirmauflösung nichts über die tatsächliche Browserfenstergröße bzw. die Größe des Darstellungsfeldes aussagt, ja, stimmt, ist mir auch zu allererst durch den Kopf gegangen, doch dann habe ich mir eben gesagt, immer noch besser als gar nix versuchen.

    Auch hab ich mir gesagt, dass die wenigsten noch 800x600 haben und von daher hat mich der Gedanke dann beruhigt, indem ich mir gesagt habe, wenigstens versucht hast du alles Mögliche.

    Liebe Grüße quidnovi

    p.s.: Erwähnt gehört noch, so finde ich, dass ich es spitze finde, dass ich mit meinen Problemen nicht alleine gelassen worden bin. Euch allen noch einmal ein dickes Dankeschön!
     

Ähnliche Themen

  1. Tabelle horizontal und vertikal zentrieren
    Von Haarentferner im Forum CSS
    Antworten: 3
    Letzter Beitrag: 12.07.10, 21:09
  2. Antworten: 1
    Letzter Beitrag: 04.04.07, 14:44
  3. Horizontal & vertikal zentrieren
    Von Carrear im Forum CSS
    Antworten: 10
    Letzter Beitrag: 06.08.06, 20:44
  4. Antworten: 2
    Letzter Beitrag: 20.12.04, 23:36
  5. zentrieren horizontal & vertikal
    Von AUToPSY im Forum HTML-Editoren
    Antworten: 6
    Letzter Beitrag: 29.11.01, 17:29