Die Tabellenzelle verliert den Rahmen, wenn der CSS-Gradientenfilter in IE8 angewendet wird
Fand ich die css-Grenze auf die Zelle in der Tabelle ist verloren, wenn die Anwendung von css-Gradienten filter zur gleichen Zeit. Es scheint, dass der gradient-Effekt überschreibt die Grenze.
Ist es ein browser-bug oder bin ich hier etwas fehlt?
Stil ist wie folgt definiert:
.c7 {
color: #000000;
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr='#c0c0c0',EndColorStr='#f0f0f0');
border: #000000 1px solid;
width: 100px;
height: 30px;
}
[Update] konnte Sie einen opacity-filter und reduzieren Sie von 100 zu 1, und Sie können sehen, wie die Grenze entsteht allmählich. Es bestätigt meine Vermutung, dass der Farbverlauf zeigt über die Grenze.
Kommentar zu dem Problem - Öffnen
so toll finden. Als Sie sagte, der Verlauf überschreibt die Grenze, denn wenn Sie die Grenze viel größer die Steigung zu verlängern und überschreibt es. Ich suchte nach einer Lösung, aber keine Ergebnisse..hoffe jemand kennt einen trick
+1 vielen Dank für dieses posting
InformationsquelleAutor der Frage Chris | 2010-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe eine Lösung, aber Sie mag es nicht...
Wenn Sie die Darstellung im IE in quirks-Modus der Grenze rendert gut, es ist nur verdeckt, wenn Sie im Kompatibilitätsmodus. Vergleichen Sie diese beiden Seiten im IE8:
DOCTYPE
- DeklarationDOCTYPE
- DeklarationWas auch funktioniert ist der Klick auf die Schaltfläche Kompatibilitätsansicht, aber meine versuche, um die gleichen Ergebnisse mit der Kompatibilitätsmodus-meta-tags waren erfolglos. Ich habe versucht, mit
box-sizing
, aber auch ohne Erfolg. Ich schließe daraus, der einzige Weg, um es zu arbeiten, wie Sie wollen, ist zu zwingen, den IE in den quirks-Modus, aber das kann so viele andere Probleme, für Sie ein layout, können Sie besser dran, nur das hinzufügen einer wrapper-element zu befestigen Farbverlauf hintergrund.InformationsquelleAutor der Antwort robertc
Anwendung dieses funktioniert auch:
InformationsquelleAutor der Antwort frizz
Verwenden Sie ein DIV-Element zu enthalten, die den Inhalt jeder Zelle. Wenden Sie den Verlauf, um das DIV-Element und setzen Sie die Grenze auf die Zelle. Der Verlauf beschränkt sich auf das DIV-Element und überschreiben nicht die Grenze.
http://jsfiddle.net/WWCaj/1/
InformationsquelleAutor der Antwort Stormalong
Nach dem Versuch viele Korrekturen ich bin zu dem Schluss gekommen, dass seine einfach nicht Wert, versucht die CSS-filter. Ein Zitat von @mdo wer hinter dem Twitter bootstrap css:
Probleme, die ich traf Anwendung von css
td
Elemente:position: relative
funktioniert nur für IE9, IE8 nichtz-index: -1
funktioniert nicht auf td-ElementeInformationsquelleAutor der Antwort icc97
mit position: relative !wichtig;
Seine Arbeit gut...
InformationsquelleAutor der Antwort Siddhesh Jorwekar
auf dem td:
arbeitete für mich.
auch möchten Sie vielleicht zu Experimentieren mit border-collapse da dieser Fehler sich anders Verhalten zwischen
und
InformationsquelleAutor der Antwort user2245339
Ich habe versucht, alle diese Lösungen, ohne Erfolg. So platzierte ich die Steigung in die tr und dann beschlossen, das ::before pseudo-element und style-eine Grenze auf. Jedoch, ich habe nicht einmal so weit wie das hinzufügen einer Grenze zum pseudo-element. Die folgenden genug war.
Aber wenn das nicht funktioniert, Sie könnte auch hinzufügen, eine Grenze zu der pseudo-Klasse als ich ursprünglich geplant hatte:
Pseudo-Klassen sind toll, ich benutze Sie die ganze Zeit, und Sie haben sehr Breite browser-Unterstützung, auch im IE8.
InformationsquelleAutor der Antwort Nicole McCoy