Heim >Web-Frontend >CSS-Tutorial >So lösen Sie mit CSS das Problem der normalen Anzeige transparenter PNG-Bilder in ie6

So lösen Sie mit CSS das Problem der normalen Anzeige transparenter PNG-Bilder in ie6

高洛峰
高洛峰Original
2017-03-27 17:25:531670Durchsuche

Ich habe lange Zeit kein CSS mehr geschrieben. Ich hatte lange Zeit mit einem transparenten PNG-Logo zu kämpfen. Es ist auch meine Schuld, dass die vorherige Seite das Thema Transparenz nicht berücksichtigt hat. Ich habe im Internet mehrere Methoden gefunden, von denen einige mit CSS und andere mit JS implementiert sind. Wenn Sie reines CSS zur Lösung verwenden können, verwenden Sie einfach CSS Eure Hilfe. Die folgenden beiden Methoden wurden ausprobiert und funktionierten, aber das ie6-Image unter meiner virtuellen Maschine ist völlig transparent. Ich weiß nicht, ob es ein Problem mit meiner virtuellen Maschine ist.
Speichern Sie das Bild zunächst im transparenten PNG-24-Format.
(Das Bild muss einen absoluten Pfad haben)
Methode 1: PNG-Bild als Hintergrund verwenden
Achten Sie auf den Hack
HTML-Code


css code
.logo { width: 338px; height: 57px; float: left; 0px 0px no-repeat!important; text-indent: -1000px; _background-image: none filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='#'" /images/logo.png', senabled='true' , sizingMethod='scale'); png', aktiviert ='bEnabled', sizingMethod='image');

Methode 2: PNG-Bild einfügen und img definieren

Diese Methode erfordert die Vorbereitung eines vollständig transparenten Bildes transparent.gif mit jede Größe.
HTML-Code


CSS-Code
.logo { width: 338px; height: 57px; float: left; }
.logo img { width: 338px; ; }
/* png transparent kompatibel mit ie6 */
.logo img {
azimuth: expression(
this.pngSet ? this.pngSet = true:(this.nodeName == "IMG" && "http://blog.51cto.com/viewpic.php?refimg=" + this.src.toLowerCase().indexOf('.png')>-1 ? (this.runtimeStyle.backgroundImage = "none" ,
this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='#'" //qianduangcs.blog.51cto.com/2624849/" + "http://blog.51cto.com/ viewpic .php?refimg=" + this.src + "', sizingMethod='image')",
"http://blog.51cto.com/viewpic.php?refimg=" + this.src=' # '" /images/transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','').replace(' " )',''),
this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='#'" //qianduangcs.blog.51cto.com/2624849/" + this.origBg + " ', sizingMethod='crop')",
this.runtimeStyle.backgroundImage = "none")), this.pngSet=true
);
}

Manchmal werden Hyperlinks hinzugefügt Nach Verwendung dieses transparenten Filters sind alle Superlinks nicht mehr anklickbar. Die Lösung ist:

Position hinzufügen: relativ;

Aber hier möchte ich Sie daran erinnern, dass der Bildpfad hier ein relativer Pfad ist. Es ist daher erwähnenswert, dass dieser relative Pfad auf HTML und nicht auf CSS basiert.

Das obige ist der detaillierte Inhalt vonSo lösen Sie mit CSS das Problem der normalen Anzeige transparenter PNG-Bilder in ie6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn