Hans: Internet Explorer: markieren

Hi!

Ich habe mal ne Frage zum Internet Explorer:
Wenn ich ein div habe, dann lässt sich immer das ganze div, also nicht nur der Text darin markieren, es sei denn ich hinterlege ein Hintergrundbild.
Kann man das unterbinden, ohne einen spacer wie ein transparentes 1x1-pixel-bild zu verwenden?
Eine andere Möglichkeit würde sich für mich bieten, wenn ich 2 Hintergrundbilder mit CSS angeben könnte,
aber das funktioniert nicht, oder?

Greets,
Hans

  1. hi,

    Wenn ich ein div habe, dann lässt sich immer das ganze div, also nicht nur der Text darin markieren, es sei denn ich hinterlege ein Hintergrundbild.

    Wie meinen?

    Kann man das unterbinden, ohne einen spacer wie ein transparentes 1x1-pixel-bild zu verwenden?

    Warum willst du das unterbinden?

    Eine andere Möglichkeit würde sich für mich bieten, wenn ich 2 Hintergrundbilder mit CSS angeben könnte,

    Das lässt doch vermuten, dass dein eigentliches Problem ein anderes ist.

    aber das funktioniert nicht, oder?

    Für ein Element und mit derzeitigen Mitteln: Nein.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi!

      Wenn ich ein div habe, dann lässt sich immer das ganze div, also nicht nur der Text darin markieren, es sei denn ich hinterlege ein Hintergrundbild.

      Wie meinen?

      Ich meine das so: Ich habe ein <div>.
      darin steht ein text. (bis hierhin ists ja noch vorstellbar, oder? :-) )
      dann markiere ich das im ff: also ich fahre mit der maus nach oben,
      klicke und lasse gedrückt und fahre dann nach unten bis zum ende des divs. der ff markiert mir den text.
      Anders kann man auch Strg+A drücken, sodass auch alles markiert wird.
      FF zeigt wieder nur den Text an.

      Mache ich diesen "Markierungsprozess" im IE, dann markiert er das ganze div, ES SEI DENN:
      Ich hinterlege ein Hintergrundbild.

      Kann man das unterbinden, ohne einen spacer wie ein transparentes 1x1-pixel-bild zu verwenden?

      Warum willst du das unterbinden?

      Weil es ne falsche Anzeige / falsche Interpretation des IE ist und das unschön ist? ;-)

      Ich hatte daran gedacht, einen spacer zu verwenden, allerdings lässt sich das mit meinem div nicht machen,
      da ich schon einen Hintergrund habe (repeat-y).
      Nun wird der Bereich, den das Hintergrundbild nicht abdeckt,
      markierbar.

      Eine andere Möglichkeit würde sich für mich bieten, wenn ich 2 Hintergrundbilder mit CSS angeben könnte,

      Das lässt doch vermuten, dass dein eigentliches Problem ein anderes ist.

      aber das funktioniert nicht, oder?

      Für ein Element und mit derzeitigen Mitteln: Nein.

      Mein ich doch! gibt es irgendein Workaround für diesen Darstellungsfehler des IE?

      Greets,
      Hans

      PS: Wer ein Dokument braucht:

      html:
      <div id="textcontainer1">
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean<br />
      vehicula gravida erat. Phasellus feugiat est. Quisque magna justo, <br />
      ultricies eget, dictum non, vehicula vel, risus. Donec fringilla <br />
      lacinia augue. Vestibulum ac magna eu felis posuere elementum. In <br />
      ac mi. Vivamus at ligula varius libero aliquet sollicitudin. Aliquam <br />
      vitae mi. Suspendisse pretium, est eu egestas pulvinar, dui quam <br />
      ultricies risus, a venenatis felis risus hendrerit nunc. In egestas. <br />
      Ut pellentesque, sem id accumsan nonummy, metus quam rutrum felis, <br />
      eget porttitor enim wisi at est. Maecenas non turpis. Morbi at justo.<br />
      Fusce eget nulla. Phasellus vel wisi. Cras tempus lectus id ante. <br />
      Duis sit amet nibh in mi aliquet gravida.
      </div>

      CSS:
      #textcontainer1 {
      width: 1000px;
      padding: 10px;
      background: #FFFFDD url('hintergrund1.jpg') repeat-y top right;
      }

      So nehmen wir an, hintergrund1.jpg wäre 2px hoch und 200px breit.
      Dann lassen sich im IE die 800px links vollständig bis zur kante des <div>s markieren, warum auch immer. der hintergrund nicht.

      Dieses Dokument ist jetzt willkürlich erstellt worden, zeigt aber genau mein problem.

  2. Hallo Hans.

    Ich habe mal ne Frage zum Internet Explorer:
    Wenn ich ein div habe, dann lässt sich immer das ganze div, also nicht nur der Text darin markieren, es sei denn ich hinterlege ein Hintergrundbild.

    Etwa wie hier?

    Einen schönen Montag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    <mathbr:del.icio.us />
    1. Hi!

      Etwa wie hier?

      Ähnlich, ja, aber dort ist keine Lösung des Problems erörtert worden...
      Das hilft mir ja nicht weiter.

      Greets,
      Hans

      1. Hallo Hans,

        Etwa wie hier?

        Ähnlich, ja, aber dort ist keine Lösung des Problems erörtert worden...
        Das hilft mir ja nicht weiter.

        das Problem tritt offensichtlich dann auf, wenn in einem DIV-Element, das seinerseits wieder von einem anderen DIV-Element umschlossen wird, blanker Fließtext ohne weitere Auszeichnung steht.

        Das sollte ja auch eigentlich nicht sein: Bei Text sollte es sich immer um etwas strukturell Bestimmtes handeln, also zum Beispiel um einen Absatz oder eine Überschrift.

        Ein DIV (Division- oder Abschnittselement) kann also seinerseits mehrere Absätze und Überschriften, Listen Tabellen u. Ä. umfassen.

        Probier doch mal, ob das Problem verschwindet, wenn du um deinen Fließtext ein P-Element legst. Dann kannst du auf das zwischengeschaltete DIV-Element eigentlich auch ganz verzichten.

        Gruß Gernot

        1. Hi!

          Das sollte ja auch eigentlich nicht sein: Bei Text sollte es sich immer um etwas strukturell Bestimmtes handeln, also zum Beispiel um einen Absatz oder eine Überschrift.

          Ein DIV (Division- oder Abschnittselement) kann also seinerseits mehrere Absätze und Überschriften, Listen Tabellen u. Ä. umfassen.

          Probier doch mal, ob das Problem verschwindet, wenn du um deinen Fließtext ein P-Element legst. Dann kannst du auf das zwischengeschaltete DIV-Element eigentlich auch ganz verzichten.

          Ich werds mal ausprobieren, danke für den Hinweis.

          Greets,
          Hans

          1. Hallo Hans,

            Probier doch mal, ob das Problem verschwindet, wenn du um deinen Fließtext ein P-Element legst. Dann kannst du auf das zwischengeschaltete DIV-Element eigentlich auch ganz verzichten.

            Entschuldigung, ich glaube ich habe voreilige Schlüsse gezogen; das Markierungsproblem tritt auch mit P-Elementen auf, sobald man per CSS eine Weiten- oder Höhenangabe vergibt und zwar auch schon bei einem einzelnen, unverschachtelten Element.

            Gruß Gernot

            1. Hi!

              Entschuldigung, ich glaube ich habe voreilige Schlüsse gezogen; das Markierungsproblem tritt auch mit P-Elementen auf, sobald man per CSS eine Weiten- oder Höhenangabe vergibt und zwar auch schon bei einem einzelnen, unverschachtelten Element.

              Ja fiel mir gerade auch auf. Auch bei Listen und sonstigen Textmarkierungstags.
              Was soll ich jetzt machen?

              Greets,
              Hans

              1. Hallo Hans,

                Ja fiel mir gerade auch auf. Auch bei Listen und sonstigen Textmarkierungstags.
                Was soll ich jetzt machen?

                Ich habe mir jetzt mal gezielt ein paar Seiten auf dieses Problem hin angeschaut. Das ist einfach ein IE-Bug bei vielen Webseiten, mit dem man man wahrscheinlich leben muss.

                Speziell bei deinem sich nur in der vertikalen wiederholenden Bild könntest du, wenn es vielleicht nur einige Pixel hoch und/oder vielleicht im GIF-Format ist, dieses mit einheitlicher Hintergrundfarbe oder transparenten Pixeln auf eine Breite von 2000 Pixeln aufziehen. Allzu viel Speicherplatz kostet das ja dann nicht.

                Gruß Gernot

                1. Hi!

                  Speziell bei deinem sich nur in der vertikalen wiederholenden Bild könntest du, wenn es vielleicht nur einige Pixel hoch und/oder vielleicht im GIF-Format ist, dieses mit einheitlicher Hintergrundfarbe oder transparenten Pixeln auf eine Breite von 2000 Pixeln aufziehen. Allzu viel Speicherplatz kostet das ja dann nicht.

                  Aber ich könnte auch die Breiten und Höhenangaben weglassen, richtig?
                  Oder hat er auch was gegen Min-width und Max-width?
                  Darüber könnte man ja mogeln....

                  1. Hallo Hans,

                    Aber ich könnte auch die Breiten und Höhenangaben weglassen, richtig?
                    Oder hat er auch was gegen Min-width und Max-width?
                    Darüber könnte man ja mogeln....

                    Min-width, Max-width, Min-height und Max-height werden vom Internet-Explorer gar nicht interpretiert. Width interpretiert er meist so, wie er Min-width interpretieren sollte. Da bleiben dir wohl ansonsten wieder nur blinde Pixel, mit denen du deine DIV-Elemente aufspannen könntest. Die würden dann freilich als Vordergrundbilder auch markiert.

                    Gruß Gernot

                    1. Hi!

                      Min-width, Max-width, Min-height und Max-height werden vom Internet-Explorer gar nicht interpretiert. Width interpretiert er meist so, wie er Min-width interpretieren sollte. Da bleiben dir wohl ansonsten wieder nur blinde Pixel, mit denen du deine DIV-Elemente aufspannen könntest. Die würden dann freilich als Vordergrundbilder auch markiert.

                      Na klasse... das trägt ja leider nicht zur Lösung des Problems bei... ;-)

                      hm, aber vielleicht als hintergrundbilder in CSS?

                      Greets,
                      Hans

                      1. Hallo Hans,

                        hm, aber vielleicht als hintergrundbilder in CSS?

                        Ich denke, du hast schon ein vertikal wiederholtes Hintergrundbild! Wenn dich der Effekt mit dem flächigen Markieren im IE, überall da, wo das Hintergrundbild sich nicht erstreckt so stört, musst du es eben mit transparenten Pixeln oder Pixeln in der Hintergrundfarbe verbreitern. Ein weiteres in einem Element dahinter eingebundenes Hintergrundbildild nutzt nichts.

                        Gruß Gernot

                        1. Hi!

                          Ich denke, du hast schon ein vertikal wiederholtes Hintergrundbild! Wenn dich der Effekt mit dem flächigen Markieren im IE, überall da, wo das Hintergrundbild sich nicht erstreckt so stört, musst du es eben mit transparenten Pixeln oder Pixeln in der Hintergrundfarbe verbreitern. Ein weiteres in einem Element dahinter eingebundenes Hintergrundbildild nutzt nichts.

                          Nun gut, aber ich habe ein div, dass einen vertikalen hintergrund hat und in dem div noch ein div, dass anderen inhalt enthält. da könnte ich ja dann zb die transparenten 1x1-pixel-bilder einfügen, während in dem hinteren div der vertikale Hintergrund so überarbeitet wird, dass er länger wird und zwar mit transparenten pixeln aufgefüllt. Das hintere div ist evtl. größer als das innere div.
                          (hängt vom Inhalt der aktuellen Seite ab, ich habe ja ein zentrales CSS-Stylesheet...)

                          Aber vielen Dank für deine Auseinandersetzung damit und deine Hilfe! :-)
                          So komme ich auf jeden Fall weiter.

                          Greets,
                          Hans