سؤال

هل يعرف أي شخص كيفية إصلاح ضربة خلفية بيضاء في CSS التي تراها عندما يتم تراكب GIF شفاف على اللون؟

هل كانت مفيدة؟

المحلول

الحدود البيضاء الصغيرة التي تراها هي قطعة أثرية لبرنامج الصور تحاول تخمين أفضل لون الخلفية لشفافية الصورة. في هذه الحالة يكون أبيض.

إذا كانت صورتك على خلفية خفيفة ، فلن ترى ذلك ببراعة.

حاول تصدير الصورة بخلفية غير لامعة أغمق لتقليل اعتداء البكسل على مقل العيون.

نصائح أخرى

أعتقد أن هذا لا علاقة له بـ CSS ، ولكن مع GIF لديك تصدير. إذا كان لديك صورة Antialiast وحاولت تصديرها إلى GIF مع الشفافية. ستقدم تلقائيًا بكسل غير لامع إضافي لبعض وحدات البكسل شبه الشفافة.

إذا كنت تريد أن تكون الظلال شفافة مما يجب عليك PNG. مشكلة PNG هي أنها لن تعمل بشكل مثالي في IE6

إذا كنت تبحث عن الإصلاح في أي إلقاء نظرة على http://www.howtocreate.co.uk/alpha.html

هذا بسبب كيفية التعامل مع الشفافية في ملفات GIF. لا يحتوي تنسيق الملف على قناة ألفا ، بل لون واحد فقط تم وضع علامة عليه على أنه شفاف. هذا يعني أن كل بكسل يمكن أن يكون شفافًا تمامًا أو غير شفاف بالكامل.

عندما تقوم بحفظ الصورة كـ GIF ، سيقوم البرنامج بتحويل أي وحدات بيكسلات شفافة جزئيًا إما شفافة تمامًا (إذا كانت شفافة تقريبًا) أو تعتيم بالكامل عن طريق تغيير اللون إلى ما سيكون عليه إذا تم رسمه على لون خلفية صلبة ( يسمى ماتي).

في حالتك ، يكون اللون غير اللامع هو اللون الأبيض الافتراضي ، لذلك سيتم تلاشي أي وحدات بيكسل شفافة جزئيًا نحو اللون الأبيض. إذا قمت دائمًا بتعرض الصورة على نفس الخلفية ، فأنت ببساطة تحدد هذا اللون غير لامع ، وسيتلاشى البرنامج من البكسلات الشفافة جزئيًا مقابل هذا اللون ، مما يجعل الانتقال غير مرئي.

إذا كنت بحاجة إلى عرض الصورة على خلفيات مختلفة ، فأنت بحاجة إلى استخدام صورة واحدة لكل لون خلفية ، أو استخدام تنسيق ملف PNG الذي يمكنه دعم قناة ألفا.

(لاحظ أن IE6 لا يعرض صور PNG مع قناة ألفا بشكل صحيح ، ولكن هناك حل لذلك إذا كنت بحاجة إلى دعم IE6.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top