XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   Bildlaufleiste des IE unsichtbar machen (http://xhtmlforum.de/showthread.php?t=31943)

Jürgen 05.06.2003 16:36

Bildlaufleiste des IE unsichtbar machen
 
Wie kann man die dumm rumstehende Bildlaufleiste des IE ausschalten, wenn nur die von div sichtbar sein soll. Mit Frames habe ich eine Lösung.

x.html
Code:

<html>
<head>
<title>Unbenannt</title>
</head>
<frameset rows="1" cols="1" style="width:100%;height:100%">
<frame src="y.html" frameborder="0" scrolling="No" marginwidth="0"
    marginheight="0" style="width:100%;height:100%">
</frameset>
<body>
</body>
</html>

y.html
Code:

<html>
<head>
<title>Unbenannt</title>
</head>
<body>
<div style="width:10%;height:100%;float:left;">
    Hier wird ein Menü aufgebaut, das nicht scrollen soll
</div>                                       
<div style="width:100%;height:100%;">
<object
    data="http://www.Dateninhalt.der.evtl.auch.gescrollt.werden.muss" 
    width="100%" height="100%">
</object>
</div>                                       
</body>
</html>

Ohne diese Lösung habe ich rechts bei Überlänge des Objektes 2 Scrollbalken, wobei der vom IE unbenutzbar ist. Ziel des ganzen ist, dass das Menü beim Scrollen nicht mit verschoben wird. Weiss jemand eine Lösung ohne Frames ?

ulle 05.06.2003 17:12

Hallo,

nach XHTML1.0 und CSS2 ist es auch möglich den HTML-Tag zu spezifizieren....

Code:

html{
                overflow: auto;
        }

Ist aber problematisch da der Browser das Fenster auf die Breite ohne Leiste berechnet und nach erscheinen der senkrechten Leiste dann auch einen Scrollbalken wagerecht Anzeigt.

Dies könnte man noch umgehen indem man im Body die Breite begrenzt.
Code:

body {
                width: 98%;
        }

Dies geht zumindest ab 800Pixel Fensterbreite, wenn es kleiner wird ist die Laufleiste (senkrecht) breiter als 2%. Diese ist aber auch wieder vom Client abhängig. Der User könnte die Scrollbar ja auch breiter eingestellt haben.

Also BUGy die Veranstaltung !!!!

ODER

Du bleibst immer mit dem Inhalt kleiner als 100% dann geht auch das hier....

Code:

        html,body {
                overflow: auto;
                margin: 0px;
                padding: 0px;
                height: 100%;
        }

.... so wird keine Breitenangabe benötigt. Wobei das wohl nicht wirklich Valide nach CSS2 ist.

Jürgen 05.06.2003 17:57

Danke für den Tip
 
Code:

<html>
<head>
<title>Unbenannt</title>
</head>
<body style="overflow:auto">
<div style="width:10%;height:100%;float:left;">
    Hier wird ein Menü aufgebaut, das nicht scrollen soll
</div>                                       
<div style="width:100%;height:100%;">
<object
    data="http://www.Dateninhalt.der.evtl.auch.gescrollt.werden.muss"
    style="width:100%;height:100%;">
</object>
</div>                                       
</body>
</html>

funktioniert wie gewünscht :D mit dem IE6.0

ulle 05.06.2003 18:15

Re: Danke für den Tip
 
Zitat:

Zitat von Jürgen
funktioniert wie gewünscht :D mit dem IE6.0

mein Beispiel bezieht sich auf

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

und einen DOCTYPE solltest Du Dir angewöhnen.....

Jürgen 05.06.2003 23:54

Zitat:

und einen DOCTYPE solltest Du Dir angewöhnen.....
habe ich sonst drin, macht nämlich mein Editor automatisch (HTMLKit)

Jürgen 06.06.2003 12:51

Das funktioniert auch ganz gut
 
:D Das folgende auf das wesentliche reduzierte Script funktioniert auch ganz gut. Dabei konnte ich auch noch den lästigen Rahmen um den 2. div entfernen, was mir bei <object> nicht gelang:
Code:

<html>
<head>
<title>Unbenannt</title>
</head>
<body style="overflow:auto;margin:0px;padding:0px;">
<div style="width:10%;height:100%;float:left;">
    Hier wird ein Menü aufgebaut, das nicht scrollen soll
</div>                                       
<div style="width:100%;height:100%;">
<iframe src="http://www.Dateninhalt.der.evtl.auch.gescrollt.werden.muss.php"
    frameborder="0" style="width:100%;height:100%;">
</iframe>
</div>                                       
</body>
</html>


ulle 06.06.2003 13:09

Code:

<div style="width:10%;height:100%;float:left;">
    Hier wird ein Menü aufgebaut, das nicht scrollen soll
</div>               
<div style="width:100%;height:100%;">

:shock: ~~ spektakulär 10% links neben 100% sind bei mir immer noch 110% Breite

iframe = Frames sind nach XHTML nicht mehr Erlaubt und werden Sterben

Jürgen 06.06.2003 14:08

Prozentrechnung - schwere Rechnung ...
 
man weiß nie genau was die Basis ist.

Wenn ich für den 2. div als Breite 90% vorgebe, okkupiert der iframe von den verbleibenden 90% (100% - 10%) nur wiederum 90%. Ich will aber die Bildlaufleiste ganz rechts haben. Ich erwarte fast, daß das jeder Browser anders berechnet. Um das aber alles auszutesten, habe ich leider nicht die materiellen und zeitlichen Voraussetzungen. Ob iframe oder object, da muß ich noch mal nachdenken, wie ich bei dem object den Zwangs-Border wegbekomme. Der paßt nämlich nicht so richtig in das grafische Umfeld, wo das alles mal rein soll.

ulle 06.06.2003 14:50

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">        <!--
        html,body {
                overflow: auto;
                margin: 0px;
                padding: 0px;
        }

        #left, #scroll, body{
                height: 100%;
                background-color: #FF9933;
        }
       
        #left{
                width: 10%;
        }
        #scroll{
                width: 89%;
                float: right;
        }       
        object {
                width: 100%;
                height: 100%;
        }       
        -->
</style>
</head>

<body>

<div id="scroll">
<object data="http://validator.w3.org/" type="text/html">Ihr Browser kann das Objekt leider nicht anzeigen!</object>
</div>
<div id="left">left</div>
</body></html>

Was hällst Du davon......... :roll:

Nun die Breite des Eltern-Elements [#scroll] ist deshalb nur auf 89% (90%-1%) weil der IE mit dem FLOAT ein wenig BUGy ist. !!!

Somit kann nichts passieren, d.h. die Container stehen nebeneinander !!!


Den Border um das Object hat auch nur der IE, das ist das gleiche Thema wie bei der select-BOX. Den bekommst Du nicht weg.

Dieser Code ist Valide und funktioniert im Mozilla und Opera :D

Jürgen 06.06.2003 15:47

schon recht interessant
 
Also 'object' ist sauber, aber leider mit einem Rand, der nicht wegzukriegen ist. Wenn ich die divs von links nach rechts aufbaue, dann funzt es mit 100%:100%. Du baust die divs von rechts nach links auf und nimmst 89%:10% und es funktioniert. Gibt es einen Grund den "Aufbau von rechts nach links" zu preferieren ?
Ich würde dann den Aufbau von links nach rechts vorziehen, da 100%:100% zwar schwer, aber immerhin noch erklärbar ist (siehe oben), während 89%:10% nur mit einem Hinweis auf den Bug einzusehen ist.


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

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

© Dirk H. 2003 - 2023