1. Das Farbproblem der Bildlaufleiste in xhtml
Im Original-HTML können wir die Bildlaufleiste der gesamten Seite wie folgt definieren:
body{
scrollbar -3dlight-color:#D4D0C8; /*- Outer left-*/
scrollbar-highlight-color:#fff; /*- Second from left-*/
scrollbar -face- color:#E4E4E4; /*-face-*/
scrollbar-arrow-color:#666; /*-arrow-*/
scrollbar-shadow-color:# 808080; / *- Zweiter von rechts-*/
scrollbar-darkshadow-color:#D7DCE0; /*- Erster von rechts-*/
scrollbar-base-color:# D7DCE0; /*- Grundfarbe- */
scrollbar-track-color:#;/*- Slider-*/
}
Aber derselbe Code kann nicht sein Wird unter xhtml verwendet. Ich glaube, viele gute Freunde sind auf das gleiche Problem gestoßen.
Wie kann ich den Bildlaufleistenstil unter XHTML anwenden? Schauen Sie sich den folgenden Code an:
html{
scrollbar-3dlight-color:#D4D0C8; /*- äußerste linke Seite-*/
scrollbar-highlight-color:# fff ; /*- Zweiter von links-*/
scrollbar-face-color:#E4E4E4; /*- Face-*/
scrollbar-arrow-color:#666; - Pfeil -*/
scrollbar-shadow-color:#808080; /*- Zweiter von rechts-*/
scrollbar-darkshadow-color:#D7DCE0; the right-*/
scrollbar-base-color:#D7DCE0; /*- base color-*/
scrollbar-track-color:#;/*- slide-*/
}
Der einzige Unterschied zwischen diesem Code und dem vorherigen Absatz besteht darin, dass eines der durch CSS definierten Elemente Body und das andere HTML ist. Lassen Sie es uns noch einmal testen und den „Körper“ der HTML-Seite in „HTML“ ändern, um es zu testen und festzustellen, dass der Effekt immer noch erzielt werden kann. Warum also?
Schauen wir uns das Bild unten an:
Dies ist die grundlegendste Dom-Baumstruktur von HTML.
Sehen wir uns die Definitionen von HTML und XHTML an:
HTML (Hyper Text Markup Language, HyperText Markup Language), HyperText Markup Language wird im Internet häufig verwendet . HTML beschreibt, wie die Textbasis gerendert wird und wie Hyperlinks eine Verbindung zu anderen Seiten herstellen.
XHTML (Extensible Hypertext Markup Language, Extensible Hypertext Markup Language) ist eine Auszeichnungssprache, deren Ausdruck HTML ähnelt, die Syntax jedoch strenger ist. In Bezug auf die Vererbungsbeziehung ist HTML eine auf SGML basierende Anwendung und sehr flexibel, während XHTML auf XML basiert, einer Teilmenge von SGML. XHTML 1.0 wurde am 26. Januar 2000 zu einer W3C-Empfehlung.
Xhtml hat im wahrsten Sinne des Wortes ein x mehr als HTML, also ist dieses x tatsächlich XML. Warum müssen wir XML hinzufügen? Tatsächlich besteht der grundlegendste Grund darin, HTML strukturierter und standardisierter zu gestalten (weil HTML wirklich schlecht ist).
OK, schauen wir uns den Strukturbaum oben an. Da HTML nicht sehr standardisiert ist, kann dies wirksam sein, aber in XHTML wird dies nicht funktionieren Offensichtlich ist das Body-Tag selbst nicht das Root-Element, nur HTML ist das Root-Element, und die Bildlaufleiste der Seite gehört auch zum Root-Element. Aus diesem Grund hat unsere Definition von Body keine Auswirkung Wir definieren, dass es sich nur um ein Unterelement handelt. OK, wir kennen das Prinzip, machen wir ein Experiment. Wenn wir die Definition von „body“ oder „xhtml“ durch „*“ ersetzen:
*{
scrollbar-3dlight-color: #D4D0C8; /*- Außen links-*/
scrollbar-highlight-color:#fff; /*- Zweiter von links-*/
scrollbar-face-color:#E4E4E4; /*- Face-*/
scrollbar-arrow-color:#666; /*- Arrow-*/
scrollbar-shadow-color:#808080; /*- Zweiter von rechts -*/
scrollbar-darkshadow-color:#D7DCE0; /*- right one-*/
scrollbar-base-color:#D7DCE0; /*- base color-*/
scrollbar-track-color:#;/*- Slider-*/
}
wird sowohl in HTML als auch in XHTML übergeben, da * jedes Tag auf dem definieren soll Seite, natürlich enthält sie auch das „html“-Tag.
(ps: Tatsächlich ist es nicht so sehr der Unterschied zwischen HTML und XHTML, sondern vielmehr der Unterschied, ob es einen XHTML 1.0-Übergangsdokumenttyp gibt, aber wenn Sie den XHTML 1.0-Übergangsdokumenttyp von der Seite entfernen, dann ist dies der Fall Die Seite hat keinen Dokumenttyp, der Standardanzeigemodus ist HTML4.01, aber Sie müssen den XHTML 1.0-Übergangsdokumenttyp in den HTML 4.01-Dokumenttyp ändern. Das Definieren des Hauptteils auf derselben Seite hat keine Auswirkung, obwohl der Standard dieser Seite ist HTML 4.01)
2 , das Problem der horizontalen Bildlaufleisten auf Frame-Seiten unter xhtml
Wenn Sie IE6 zum Durchsuchen von XHTML-Seiten mit Frames verwenden, werden die horizontalen und vertikalen Bildlaufleisten standardmäßig zusammen angezeigt Dies ist ein Fehler im IE6, der in Firefox auftritt. Normalerweise liegt der Grund in einem Fehler in der Interpretation des XHTML 1.0-Übergangsdokumenttyps.
Es gibt im Allgemeinen 3 Lösungen für diesen Fehler,
Methode 1:
Code:
html { overflow-y: scroll }
Prinzip: Erzwingen Sie die Anzeige der vertikalen Bildlaufleiste des IE und ignorieren Sie die horizontale Bildlaufleiste.
Vorteile: Dieses Problem wird vollständig gelöst, sodass Sie den vollständigen XHTML-Dokumenttyp beibehalten können.
Nachteile: Vertikale Bildlaufleisten werden auch dann angezeigt, wenn die Seite keine vertikalen Bildlaufleisten erfordert.
Methode 2:
Code:
html { overflow-x: versteckt; overflow-y: auto; }
Prinzip: Horizontales Scrollen ausblenden, vertikales Scrollen ist je nach Inhalt adaptiv.
Vorteile: Lösen Sie dieses Problem visuell. Die vertikale Bildlaufleiste wird nicht zwangsweise angezeigt, wenn sie nicht erforderlich ist.
Nachteile: Es verbirgt nur die horizontale Bildlaufleiste. Wenn die Seite die horizontale Bildlaufleiste wirklich benötigt, ist der Inhalt außerhalb des Bildschirms nicht sichtbar, da der Benutzer nicht horizontal scrollen kann.
Methode 3:
body { margin-right: -15px; margin-bottom: -15px;🎜>
Prinzip: Dies wird Fügen Sie dem Rand horizontal und vertikal einen negativen Wert hinzu. Nachdem der IE genau diesen Wert hinzugefügt hat, wird die Illusion der Notwendigkeit von Bildlaufleisten beseitigt.
Vorteile: Dieses Problem wird visuell gelöst, vertikales Scrollen ist adaptiv entsprechend dem Inhalt.
Nachteil: Da der 15px-Rand „künstlich erzeugt“ wird, kann der gefüllte Bildschirmbereich nicht genutzt werden.
Das obige ist der detaillierte Inhalt vonInformationen zu Bildlaufleisten in HTML/Bildlaufleisten entfernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!