CSS Jquery - When I change background color the text becomes fuzzy in IE6?
I was playing around with this script of auto scrolling text. You can check out the code here:
http://jqueryfordesigners.com/simple-jquery-spy-effect/
Then I changed the background color to white - and all the text started looking fuzzy and messed up - If I change it to any light color - it appears all messy.
This is the portion where I 开发者_如何学Pythonchanged the background color in the code:
#sidebar { color: grey; background: #FFF; float:left; margin:0 0 24px; padding:15px 10px 10px; width:500px; }
I have noticed this in one other site even on IE7. Any idea why a simple change in background color messes up the text.
I used IE tested to test on IE6 browser http://www.my-debugbar.com/wiki/IETester/HomePage
Thanks
Are you certain you're not using IE css filters in an element further up the tree, such as alpha transparency? They can make text blurry/fuzzy when ClearType (font smoothing on LCD monitors) is enabled, especially for bolded text, so much so that cleartype was disabled for elements which use CSS filters in IE7+.
See also http://blogs.msdn.com/ie/archive/2006/08/31/730887.aspx
EDIT: Here's an example of what you could do to remove the filter after the items have first faded in:
// increase the height of the NEW first item
$insert.animate({ height : height }, 1000).animate({ opacity : 1 }, 1000);
might go to
// increase the height of the NEW first item
$insert.animate({ height : height }, 1000).animate({ opacity : 1 }, 1000,
function() {
if ($.browser.msie) {
$(this).get(0).style.removeAttribute('filter');
}
});
See also jQuery, Animate opacity to 1 then remove the opacity property to make it better looking on IE
I will finish the David M Question. You have to remove the IE CSS Filter property.
I see that you are using jQuery.
If you are using fadeIn, fadeOut and fadeTo functions, add this to your code:
(function($) {
$.fn.FadeIn = function(speed, callback) {
$(this).fadeIn(speed, function() {
if(!$.support.opacity)
$(this).get(0).style.removeAttribute('filter');
if(callback != undefined)
callback();
});
};
$.fn.FadeOut = function(speed, callback) {
$(this).fadeOut(speed, function() {
if(!$.support.opacity)
$(this).get(0).style.removeAttribute('filter');
if(callback != undefined)
callback();
});
};
$.fn.FadeTo = function(speed,to,callback) {
return this.animate({opacity: to}, speed, function() {
if (to == 1 && jQuery.browser.msie())
this.style.removeAttribute('filter');
if (jQuery.isFunction(callback))
callback();
});
};
})(jQuery);
And replace (fadeIn, fadeOut, fadeTo) to (FadeIn, FadeOut, FadeTo). (the difference is on the F)
Otherwise use:
$(selector).removeAttribute('filter');
If you need some more info comment my answer and i will edit it :) I think this is what you want. Sorry for my english. :(
精彩评论