XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Knowledge Base (http://xhtmlforum.de/forumdisplay.php?f=79)
-   -   max-width - und wie gehts im IE (http://xhtmlforum.de/showthread.php?t=32149)

ulle 23.12.2003 14:14

max-width - und wie gehts im IE
 
Suche schon länger eine Lösung um dem IE eine max-width beizubringen.

min-width kann er zwar auch nicht, aber da gibt es ja bewährte Lösungen.

:shock: Skalieren ist ja Prima, nur im Zeitalter von Bildschirmen die über 1260 Pixel Breite darstellen können wäre eine Breitenbegrenzung sinnvoll.

Beispiel:
Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//DE" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="de">
<head><title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">        <!--
        html,body {
                margin: 0px;
                padding: 0px 2px 0 2px;
                background-color: #FF9933;
                color: #000000;
                font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
                font-size: 101%;
                text-align: center;
        }

        #frame {
                width: 98%;
                min-width: 560px; /* 760px */
                max-width: 800px; /* 1000px */
                margin: 3px auto 0px auto;
                border: 1px solid #222222;
                padding: 0 5px 5px 5px;
                background-color: #FEFEFE;
                color: inherit;
                text-align: left;
        }
        p {
                margin: 1.4em 0;               
                font-size: 0.8em;
        }
        -->
</style>

</head>
<body>

<div id="frame">
   

Sollte jetzt alles wieder links stehen.....</p>
</div>

</body></html>

Mozilla kann es natürlich :arrow: wäre auch interessant zu wissen welche BROWSER es noch gibt, die es nicht können. :roll:

Flocke 29.12.2003 15:18

Hi Ulle,

ich habe mal einen kleinen Versuch gemacht, allerdings ohne das Endergebnis voll an Deine Ausgangslage wieder anzugleichen. Ich habe es zumindets geschafft, dem IE die Maximalbreite beizubringen. Der Gag liegt in einem zusätzlichen DIV, daß Du im Dein Frame-DIV legst. Ich habe es "wrapper" genannt:

Code:

  #wrapper {
      max-width: 700px;
      width: 700px;
      overflow: hidden;
  }

Die 700px habe ich genommen, damit ich den Effekt auf meinem 1024 auch früh genug sehe :))

Ist diese Lösung für dich tragbar ??

Grüße aus Mainz,

Jens

ulle 29.12.2003 20:17

Code:

width: 700px;
:shock: Durch die Fixe width Angabe ist doch jetzt :arrow: min-width = max-width ; d.h. unwirksam.


Nein, das ist nicht gut. Der CLOU ist ja das sich die WEBsite (bzw. #frame) solange auf 98% bewegt bis die max-width erreicht ist.

min-width und max-width sind ja auch für relative width-Angaben gedacht.

Oder habe ich Deinen Ansatz nicht verstanden :?:

Flocke 29.12.2003 20:31

Hi Ulle,

Du hast ja recht, daß mit meinem Ansatz min-width = max-width ist. :oops: Der Effekt, den Du haben willst, nämlich eine Höchstbreite festzulegen, wird dadurch aber trotzdem erreicht. 8)

Ich habe zudem dem wrapper nicht min-width zugewiesen. Ich habe so den #Eindruck beim Testen gehabt, der gewünschte Effekt träte daruch ein. Vielleicht habe ich aber auch nur Deine Anforderung falsch verstanden.

ulle 29.12.2003 20:44

:D Na ja, wenigstens muß man auf Deiner WEBsite nicht verhungern...


Übrigens hast Du da ja wohl auch noch ein Problem mit der Breite, gell.

:shock: Sobald ein Scroll-Balken vertikal erscheint, hast Du auch einen horizontal.

Ich schätze mal dass Du solch eine Eigenschaft definiert hast :arrow:

Code:

html,body {
  overflow: auto;
}

macht nur Sinn, wenn Du die max-height von 100% nie überschreitest.

Flocke 30.12.2003 01:41

:oops: Falsch geschätzt :oops: [Auch wenn das jetzt hier sehr OT ist.]

<OT>
Meine Webseite (ich schätze Du meinst die Rezepte u d nicht die anderen Bereiche) stammt noch aus einer Zeit, in der ich CSS nur zur absoluten Positionierung und für Textauszeichnungen nutzte. Mehr kannte ich nicht. Die Seite selber wird per Javascript dank einer Dreamweaver-Extension von ProjectSeven beim Aufrufen zusammengebaut.

Heute würde ich sowas nie mehr machen, doch damals .... (das war vor etwa zwei Jahren).

Und der Relaunch zieht sich leider ein wenig hin. Diesmal wirds korrekt.
</OT>

Doch was hat das damit zu tun, ob der Ansatz funktioniert ? Er ist leider nicht so perfekt, wie man es sich wünschen würde. Oder doch ? Funktioniert er nun so, wie Du das willst ? Bei Deiner ersten Antwort hattest Du offenbar noch nicht getestet, nur eine Annahme gemacht.

ulle 30.12.2003 11:45

Zitat:

Bei Deiner ersten Antwort hattest Du offenbar noch nicht getestet, nur eine Annahme gemacht.
:arrow: auch getestet

Es funktioniert nicht wie gewünscht. Der [FRAME-Container] soll ja Skalierbar sein, ein minimum nicht unterschreiten, was man im IE mit einem BLIND-Gif erreichen kann, und ein maximum nicht überschreiten.

Sobald eine width-Angabe ohne %-Wert getroffen wird ist der Bereich FIX.

Alex 30.12.2003 11:59

ich hab mir da auch schon x mal den kopf drüber zerbrochen und bin bisher genau aus diesem grund immer wieder bei fixer breite gelandet. bis man sowas problemlos machen kann werden wohl noch locker 3-4 jahre vergehen, traurig aber wahr :(

es gibt aber eine recht einfache lösung mit javascript, hab das mal irgendwo gesehen. ich persönlich würde die dann auf jeden fall nutzen, wenn ich eine variabel breite seite gestalten wollte. es ist immerhin für einen großteil der user von vorteil, die leute ohne js kriegen dann halt kilometerlange zeilen.

gerrit 03.01.2004 21:49

Gibt ne Lösung...
 
Tja, das ist in der Tat n kniffliges Problem mit der mangelnden Unterstützung von max-width in IE.
Ich persönlich verwende trotzdem flüssige Layouts aus folgenden Gründen:
1. Niemand mit einer hohen Auflösung surft fullscreen (und wenn, dann macht er/sie es absichtlich und möchte gerne lange Textzeilen haben)
2. Mit fixer Weite schliesst man wiederum diejenigen mit kleineren Bildschirmen aus (Subnotebooks etc.), oder macht die Breite so klein, dass IMHO zuviel Bildschirmßplatz verschwendet wird

Mal ganz abgesehen davon: der IE kann (perverserweise, imho) JavaScript-Ausdrücke als Eigenschaftswerte in CSS interpretieren. Wie man damit max-width simuliert wird unter http://www.svendtofte.com/code/max_width_in_ie/ ausführlich beschrieben. Ist allerdings nicht ganz trivial...

Alex 04.01.2004 14:20

Re: Gibt ne Lösung...
 
Zitat:

Zitat von gerrit
1. Niemand mit einer hohen Auflösung surft fullscreen (und wenn, dann macht er/sie es absichtlich und möchte gerne lange Textzeilen haben)

da ist was dran, fällt mir bei mir selbst in letzter zeit auch auf. soweit hab ich noch gar nicht gedacht :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:14 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023