كيفية تغيير لون أيقونة الرأس؟

هذا هو شكل منتدانا حاليًا…

سنقوم بإعادة هيكلة مخطط الألوان الخاص بنا. سيكون الرأس باللون الأخضر مع شعار أبيض في الرأس.

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

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

The icons are a bit transparent, which might be throwing you off (that’s why they look grey instead of white when the header_primary color is set to white).

You can add some custom CSS to change this

.d-header-icons .icon {
  color: red; // custom color, if needed
  &.btn-flat .d-icon {
    opacity: 1; // remove transparency 
   }
}

Hi,

I have this CSS:

header{
    
    height: auto !important;
    
    .wrap{
        padding:14px 0;
    }
    
    .btn-flat .d-icon{
        opacity: 1 !important;
    }
    
    .d-header-icons .icon{
        color: #ffffff;
        padding: 0.4em;
    }
    
    .d-header-icons .icon:hover{
        background-color: #ffffff;
        opacity: 1 !important;
        color: #001d4d;
    }

However, perhaps as we are now on one of the latest releases, now the home, search, and menu icons are greyed out. Can you explain how to make these icons white with opacity of 1? Did any of the selectors change?

Yes, these selectors are a little more specific now and we removed the opacity entirely in favor of using a solid color (there was a bug in Safari where SVG icons were clipped slightly because of the opacity).

You can remove anything you have related to opacity, and do this

.d-header-icons .d-icon {
   color: #fff; 
}

.d-header-icons .d-icon:hover {
   background-color: #fff; 
   color: #001d4d;
}

I have a similar problem as the OP, probably somewhat simpler: For some reason the colour of the header icons got darker for no apparent reason (I assume it was related to the tidy-up measures on your side). Since my header is a darkish, I want the icons brighter.

I tried this

and am happy with the result. But I can’t seem to figure out how the hover settings work. With only the above css, my hover looks like this:

image

So the icon turns grey again, which is okay, but I’d like to try some other tints on it. The background seems to turn white (or almost white), which I would like to change to make it coherent with other menus.

I tried

.d-header-icons .d-icon:hover {
   background-color: #b0cee8; 
   color: #fff;
}

but it gives me this:

image

How do I get the whole box to change color? And I don’t understand why the icon itself doesn’t stay white…

And while I’m at it: My new topic button also suffered. The colour of the + icon is no longer the same as the text:

image

My CSS for the button is (and has always been):

@import "common/foundation/variables";

#create-topic {
    background-color: $tertiary;
    color: $secondary;
}

#create-topic:hover {
    background-color: $tertiary-high;
    color: $secondary;
}

مرحبًا، لقد حدث تغيير منذ اقتراحك. لست متأكدًا من السبب، لكن هذا لا يعمل معي أيضًا. يبدو ملف CSS كالتالي:

    .custom-header-links a:hover {
    background-color:#346A77;
    }

    .d-header-icons .d-icon {
       color: black; 
    }

    .d-header-icons .d-icon:hover {
       background-color: #346A77; 
       color: red;
    }

تبدو الأيقونات وتأثير التحويم (hover) كما يلي—بغض النظر عن اللون الذي أختاره للأيقونات أو للتحويم، لا يبدو له أي تأثير:

عند فحص العنصر، يظهر أن النمط موجود، لكنه لا ينطبق لسبب ما. هل لديك أي أفكار؟

لقد قمت بتثبيت رؤوس مخصصة، لكن هذا لا ينبغي أن يغير أي شيء، أليس كذلك؟

شكرًا جزيلاً

تحديث: الكود التالي يعمل، وهذا يجب أن يحل مشكلتك أيضًا @tophee:

.d-header-icons .d-icon {
   color: black !important;
}

.d-header-icons a:hover {
   background-color: #346A77 !important;
}

شكرًا لك على الكود.

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

.d-header-icons .d-icon {
color: white !important;
}

.d-header-icons a:hover {
background-color: #789946 !important;
color: white !important;
} 

ومع ذلك، في كل مرة كنت أضغط على أيقونات رأس الصفحة ثم أخرج من وضع التحويم عليها، كان الخلفية تعود إلى اللون الأبيض الصلبة، وهو ما لم يكن يعمل لأن رأس الصفحة لدي غامق والأيقونات مضبوطة على اللون الأبيض. لذا، عند الخروج من وضع التحويم (بعد النقر)، كانت تظهر كمستطيل أبيض صلب. لحل هذه المشكلة، كل ما كنت بحاجة إلى فعله هو تعيين الحالة لـ “a” أيضًا، وليس فقط “a:hover” كما في المنشورات السابقة (#93bb54 هو نفس لون رأس الصفحة الخاص بي):

.d-header-icons .d-icon {
color: white !important;
}

.d-header-icons a:hover {
background-color: #789946 !important;
color: white !important;
} 

.d-header-icons a {
background-color: #93bb54 !important;
color: white !important;
}

ها قد تم!

مرحبًا @awesomerobot، لماذا لا يعمل هذا الكود:

.d-header-icons .d-icon {
color: white !important;
}

على الأيقونات الأخرى مثل أيقونة الظرف في المحادثة، وهي أيضًا d-icon كما يظهر عند فحص العنصر؟

Screen Shot 2019-12-18 at 13.41.50

.d-header-icons تشير تحديدًا إلى شريط التنقل على اليمين.

لأيقونة عنوان الرسالة الخاصة، ستحتاج إلى:

.extra-info-wrapper .private-message-glyph { color: red }

ولحالات الموضوعات الأخرى، مثل الموضوعات المثبتة والمغلقة، يمكنك استخدام:

.extra-info-wrapper .topic-statuses .d-icon { color: red; }

أضفت بعض الأيقونات المخصصة بصيغة SVG، لكنني لا أستطيع تغيير لونها باستخدام CSS. فهي تظهر دائمًا باللون الأسود. يمكنني تغيير الشفافية والحجم… لكن لا يمكنني أبدًا تغيير اللون.

جربت استخدام الأمثلة المذكورة أعلاه، لكن لم يعُد أي منها النتيجة المتوقعة.

.list-controls .btn .d-icon{
   color: #2CC3D5 !important;
   opacity: 0.5;
}

image

لقد جربت ذلك أيضًا لأيقونات الرأس.

ما الخطأ الذي أقوم به؟

هل تم تحديد لون للأيقونة مضمنًا في كود SVG؟ على الأرجح سيبدو هكذا:

Screen Shot 2020-01-06 at 11.09.59 AM

في حال كان الأمر كذلك، يمكنك إما حذفه أو تغيير القيمة إلى currentColor.

مرحباً يا أصدقاء،
لدي مشكلة عند:

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

جرب:

.drop-down-mode .d-header-icons .active .icon {
    background: black;
}

كيف يمكنني تغيير تنسيق CSS لأيقونة معينة؟

<svg class="fa d-icon d-icon-bolt svg-icon svg-node" aria-hidden="true"><use xlink:href="#bolt"></use></svg>

هذه هي الأيقونة التي أحاول تطبيق تنسيق CSS عليها

تفضل، @Juless

هذه الأنواع من محددات CSS المحددة جدًا يجب أن تعمل، لكنها نادرًا ما تُستخدم لأنها عادةً لا تكون هناك حاجة إلى هذا القدر من التحديد:

svg.fa.d-icon.d-icon-bolt.svg-icon.svg-node{
  /* CSS الخاص بك هنا */
}

ومع ذلك، في الممارسة العملية، يجب أن يعمل هذا المحدد البسيط بشكل جيد:

svg.d-icon-bolt{
   /* CSS الخاص بك هنا */
}

أتمنى أن يكون هذا مفيدًا.

ربما يمكنك حتى “الاستغناء عن” هذا:

.d-icon-bolt{
   /* CSS الخاص بك هنا */
}

استخدمت هذا المحدد وعمل بشكل ممتاز. شكرًا لك @neounix، كنت مفيدًا جدًا.

لدي نفس الموقف مثل Sentinelrv. قمت بتعديل header_primary إلى اللون الأبيض وطبقت أيضًا CSS المخصص الموصى به على كل من قوالباتي، لكن عدسة المكبرة وقائمة الهامبرغر لا تزال رمادية.

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

بالنسبة للأيقونات العلوية على الجانب الأيمن، في common-css الخاص بموضوع أو مكون سمة:

.d-header .d-header-icons .d-icon  {
    color: <header icons color> !important;
    &:hover {
        color: <header icons hover color> !important;
    }
 }

بالنسبة للأيقونة الهامبرغر في وضع قائمة الشريط الجانبي:

.d-header .header-sidebar-toggle button .d-icon {
    color: <hamburger icon color> !important;
    &:hover {
        color: <hamburger icon hover color> !important;
    }
}

<header icons color>, <hamburger icons color>, <header icon hover color>, <hamburger icon hover color> = قيم سداسية عشرية، أسماء ألوان، أو متغيرات ألوان السمة. يمكنك أيضًا تحديد background-color إذا كنت ترغب في تغيير لون خلفية الأيقونة.

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