مدیاویکی:Common.css: تفاوت میان نسخه‌ها

از شهر داستان‌نویسان گالیمالوا
پرش به ناوبری پرش به جستجو
بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
خط ۹۲: خط ۹۲:




/* ===== حل مشکل تگ‌های p خودکار مدیاویکی ===== */
/* ===== حل نهایی مشکل فاصله و هم‌چینایی ===== */


/* پیدا کردن تگ p که دور جعبه اطلاعات پیچیده شده و اصلاح استایل آن */
/* ۱. تنظیم خود جدول به عنوان شناور (Float) */
p:has(.infobox-universal) {
table.infobox-universal {
     float: left !important;       /* خود پاراگراف را شناور می‌کنیم (مانند یک Div) */
     float: left !important;
     width: 340px !important;     /* عرض آن را دقیقاً هم‌اندازه جدول می‌کنیم */
     width: 340px !important;
     margin: 0 1em 0.5em 0 !important; /* تنظیم فاصله‌ها (بالا-راست-پایین-چپ) */
     margin: 0 1em 0.5em 0 !important; /* فاصله از متن سمت راست */
     display: block !important;
     display: table !important;
}
}


/* حالا جدول داخل آن را تنظیم می‌کنیم تا کل فضای پاراگراف را پر کند */
/* ۲. حذف تمام فاصله‌های اضافی از پاراگرافی که دور جدول است */
p:has(.infobox-universal) .infobox-universal {
p:has(table.infobox-universal) {
     float: none !important;       /* جدول دیگر نباید شناور باشد چون والدش (پاراگراف) شناور است */
     margin: 0 !important;
    width: 100% !important;      /* جدول تمام عرض پاراگراف را بگیرد */
    padding: 0 !important;
    display: table;
}
     margin: 0 !important;         /* حذف مارجین‌های داخلی جدول */
 
/* ۳. (کلید حل مشکل) به پاراگراف بعدی دستور می‌دهیم که Clear نباشد */
/* این دستور می‌گوید: هر پاراگرافی که بعد از جعبه اطلاعات آمد، باید کنار آن قرار بگیرد، نه زیر آن */
p:has(table.infobox-universal) + p {
     clear: none !important;
}
}

نسخهٔ ۲۸ فوریهٔ ۲۰۲۶، ساعت ۰۱:۵۶

/* دستورات این بخش همهٔ کاربران را تحت تاثیر قرار می‌دهند. */
/* وارد کردن فونت وزیرمتن */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@100;300;400;500;600;700;800;900&display=swap');

/* اعمال فونت */
body, h1, h2, h3, h4, h5, h6, p, div, span, a, button, input, textarea, select, .mw-body, .mw-heading, .vector-menu-heading, td, th {
    font-family: 'Vazirmatn', Tahoma, sans-serif !important;
}

/* تنظیمات پایه */
body {
    direction: rtl;
    text-align: right;
}

/* کلاس لیست چند ستونه */
.cols-2 { column-count: 2; column-gap: 20px; }
.cols-3 { column-count: 3; column-gap: 20px; }
.cols-4 { column-count: 4; column-gap: 20px; }


/* ===== جدول اصلی (اصلاحیه نهایی) ===== */
table.infobox-universal {
    width: 340px !important; /* عرض ثابت */
    background-color: #f8f9fa;
    border: 1px solid #7a7a7a;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    border-radius: 6px;
    font-size: 90%;
    line-height: 1.4;
    border-collapse: collapse;
    direction: rtl;
    text-align: right;
    overflow: hidden;

    /* --- تنظیمات شناورسازی (مهم‌ترین بخش) --- */
    float: left !important;        /* اجبار به شناور شدن در سمت چپ */
    clear: left;                   /* جلوگیری از تداخل با سایر عناصر */
    margin: 0 1em 0.5em 0;         /* فاصله: بالا-راست-پایین-چپ */
    display: table;                /* اطمینان از نمایش به عنوان جدول */
}

/* استایل‌های داخلی */
.infobox-universal th {
    background-color: #b0c4de;
    padding: 6px 8px;
    font-weight: bold;
    font-size: 1.1em;
    text-align: center;
}

.infobox-universal td {
    padding: 4px 6px;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: middle;
}

.infobox-label {
    background-color: #eef3fb;
    font-weight: bold;
    width: 35%;
}

.infobox-image td {
    text-align: center;
    background: #ffffff;
    padding: 6px 0;
}

.infobox-universal td img {
    display: block;
    margin: auto;
    max-width: 100%;
    height: auto;
}

.infobox-section td {
    font-weight: bold;
    text-align: center;
    padding: 6px 0;
    font-size: 1em;
    background-color: #e8cce8;
    color: #3a1a3a;
    border-top: none;
    border-bottom: none;
    border-radius: 4px;
}

.infobox-universal tr:last-child td {
    border-bottom: none;
}


/* ===== حل نهایی مشکل فاصله و هم‌چینایی ===== */

/* ۱. تنظیم خود جدول به عنوان شناور (Float) */
table.infobox-universal {
    float: left !important;
    width: 340px !important;
    margin: 0 1em 0.5em 0 !important; /* فاصله از متن سمت راست */
    display: table !important;
}

/* ۲. حذف تمام فاصله‌های اضافی از پاراگرافی که دور جدول است */
p:has(table.infobox-universal) {
    margin: 0 !important;
    padding: 0 !important;
}

/* ۳. (کلید حل مشکل) به پاراگراف بعدی دستور می‌دهیم که Clear نباشد */
/* این دستور می‌گوید: هر پاراگرافی که بعد از جعبه اطلاعات آمد، باید کنار آن قرار بگیرد، نه زیر آن */
p:has(table.infobox-universal) + p {
    clear: none !important;
}