كيف يمكنني إخفاء رابط الأوسمة في الشريط الجانبي؟

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

هل يجب أن أستخدم CSS لإخفائه، في الوقت الحالي؟

لا أستطيع فهم CSS تمامًا. أقسام div التي تحتوي على الروابط هي من الفئة sidebar-section-link-wrapper بدون معرف. عندما أحاول إخفاء علامة a باستخدام a.sidebar-section-link-badges { display: none; } فإنها لا تخفي شيئًا.

إعجابَين (2)

مرحباً، في قائمة الهامبرغر استخدمت “nth-child” للقيام بهذا النوع من الأشياء

https://www.w3schools.com/cssref/sel_nth-child.asp

إعجاب واحد (1)

nth-child مفيد جدًا لأشياء كثيرة، ولكن في هذه الحالة أعتقد أنه خطير على الأرجح. نظرًا لأنه يعتمد فقط على الأرقام، فإنه سيتطلب في هذه الحالة ضمانًا بأن Badges ستبقى في نفس الموضع.

إذا تمت إضافة/إزالة/نقل أي شيء آخر قبله، سيتغير موضع Badges مما قد يؤدي إلى كشف Badges، أو إخفاء شيء آخر، وقد لا يُلاحظ ذلك.

:has() مثالي لهذا، ولكن للأسف لا يزال دعمه محدودًا، ولا سيما أنه معطل افتراضيًا في Firefox وهو مفقود من العديد من متصفحات الهاتف المحمول.

إذا لم يكن إخفاؤه أمرًا بالغ الأهمية بالنسبة لك، أي أنه من المقبول إخفاؤه قدر الإمكان للحصول على أفضل تجربة مع كونه مرئيًا في المتصفحات التي لا تدعم :has() بعد، يمكنك استخدام المحدد التالي:

sidebar-section-link-wrapper:has(a.sidebar-section-link-badges) { display: none; }
إعجاب واحد (1)

شكراً على الأفكار. سأفعل ذلك على الأرجح في الوقت الحالي. لكنني آمل أن تتم إضافة ids.

إعجاب واحد (1)

مرحباً،
يمكنك إخفاؤه باستخدام هذا. :slightly_smiling_face:

.sidebar-section-link-wrapper {
  .sidebar-section-link.sidebar-section-link-badges {
    display: none;
  }
}
6 إعجابات

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

3 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

للأسف، يبدو أن تنسيق CSS هذا لا يعمل مع الإصدار 2.9.0beta12… أي أفكار؟ :slight_smile:

هذا لا يزال يعمل معي على أحدث إصدار.


هل يمكنك مشاركة الكود الخاص بك؟

إعجاب واحد (1)

أعتذر. إنه يعمل بالفعل. لقد قمت بالتعليق عليه بسبب الخلل في رابط “المزيد”.
هذا الخلل هو أن الرابط يظهر حتى عندما لا تكون هناك خيارات قائمة “المزيد”. مع عدد الخيارات في منتداي، ووجود خيار “الشارات” موجود، على الرغم من أنني لا أريده هناك، على الأقل “المزيد” لديه شيء يفعله! (المشكلة لا تزال قائمة… عندما تكون في صفحة الشارات نفسها، يكون رابط “المزيد” غير المفيد موجودًا.) "More..." shows in sidebar when there is nothing more
لسبب ما، لم تعمل ميزة “لصق عنوان URL فوق النص لإنشاء ارتباط تشعبي” عند تحرير هذا المنشور.

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

لإخفاء قائمة منسدلة المزيد من جميع الصفحات:

// إخفاء قائمة المزيد من جميع الصفحات
.sidebar-more-section-links-details {
  display: none;
}

إذا كنت تريد إخفاءها في صفحة معينة، يمكنك استخدام فئة body لاستهدافها.
يمكنك العثور عليها هنا.

على سبيل المثال، في صفحة الشارات ستبدو هكذا:

// إخفاء قائمة المزيد من صفحة معينة (الشارات)
body.badges-page {
  .sidebar-more-section-links-details {
    display: none;
  }
}

سيؤدي هذا إلى إخفاء القائمة المنسدلة المزيد ولكن سيظهر الشارات في الشريط الجانبي.


ولكن إذا استخدمت الرمز السابق لإخفاء الشارات، فلن تظهر هي أيضًا.

// إخفاء عنصر قائمة المزيد للشارات
.sidebar-section-link-wrapper {
  .sidebar-section-link.sidebar-section-link-badges {
    display: none;
  }
}

// إخفاء قائمة المزيد من صفحة معينة (الشارات)
body.badges-page {
  .sidebar-more-section-links-details {
    display: none;
  }
}

إعجاب واحد (1)

أرى ذلك كخلل لأنني لا أعتقد أنه يجب أن يظهر خيار “المزيد” إلا إذا كان هناك المزيد من الأشياء وبالتالي فإن النقر على “المزيد” له تأثير ما. تقرير الخلل هنا: "More..." shows in sidebar when there is nothing more

تم إغلاق هذا الموضوع تلقائيًا بعد 617 يومًا. لم يعد الرد على المواضيع الجديدة مسموحًا به.