سؤال

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

على سبيل المثال، هناك فرق كبير في المسافة بين "W" و"I"

'I' Outdent
'W' Outdent

هل لدى أي شخص أي أفكار حول كيفية تخفيف الاختلافات؟أفضّل حل CSS خالصًا، ولكنني سألجأ إلى JavaScript إذا لزم الأمر.

ملاحظة:لا أحتاج بالضرورة إلى التوافق في IE أو Opera

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

المحلول

تطبيق هذا على p.outdent:first-letter:

margin-left: -800px;
padding-right: 460px;
float: right;

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

نصائح أخرى

لقد حاولت استخدام خط ذو عرض ثابت مثل "courier new" وبما أن الأحرف لها نفس العرض تقريبًا، فقد جعلها أقل وضوحًا.

تحرير - هذا الخط مناسب ولكنه قد يعمل فقط مع نظام التشغيل Windows

p.outdent:first-letter {
    font-family: ms mincho;
    font-size: 8em;
    line-height: 1;
    font-weight: normal;
    float: left;
    margin: -0.1em 0 0 -.55em;
    letter-spacing: 0.05em;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top