::placeholder pseudoelement causing rendering problems in Ed


Topic: ::placeholder pseudoelement causing rendering problems in Edge for white skin

Xeevis pro asked 6 years ago

I've been trying to determine why Edge is rendering .white-text black. Turns out when compiling with gulp-sass based on node-sass many different selectors extend .white-text, which results in them being joined into single bulky rule. If just one of those selectors has ::placeholder then all other selectors in the same rule are completely dropped by Edge.

When compiling MDB I get this rule that sets color to white:

.white-text, .card.card-cascade .view.view-cascade.gradient-card-header, .dropdown .dropdown-menu .dropdown-item:hover, .dropdown .dropdown-menu .dropdown-item:active,
.dropup .dropdown-menu .dropdown-item:hover,
.dropup .dropdown-menu .dropdown-item:active,
.dropleft .dropdown-menu .dropdown-item:hover,
.dropleft .dropdown-menu .dropdown-item:active,
.dropright .dropdown-menu .dropdown-item:hover,
.dropright .dropdown-menu .dropdown-item:active, .side-nav, .side-nav .search-form input[type=text]::placeholder, .side-nav .search-form .form-control, .toast-message a,
.toast-message label, .toast-close-button, #toast-container > div, .picker__list-item--selected,
.picker__list-item--selected:hover,
.picker--focused .picker__list-item--selected, .picker--time .picker__button--clear:hover, .picker--time .picker__button--clear:focus, .picker--time .picker__button--clear:hover:before, .picker--time .picker__button--clear:focus:before, .picker__date-display, .picker__date-display .clockpicker-display .clockpicker-display-column .clockpicker-span-hours.text-primary, .picker__date-display .clockpicker-display .clockpicker-display-column .clockpicker-span-minutes.text-primary, .picker__date-display .clockpicker-display .clockpicker-display-column #click-am.text-primary, .picker__date-display .clockpicker-display .clockpicker-display-column #click-pm.text-primary, .clockpicker-display .clockpicker-display-column .clockpicker-span-hours.text-primary, .clockpicker-display .clockpicker-display-column .clockpicker-span-minutes.text-primary, .clockpicker-display .clockpicker-display-column #click-am.text-primary, .clockpicker-display .clockpicker-display-column #click-pm.text-primary, .darktheme .picker__box .picker__date-display .clockpicker-display, .darktheme .picker__box .picker__date-display .clockpicker-display .clockpicker-span-am-pm, .darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-tick, .darktheme .picker__box .picker__footer button, .picker__box .picker__header .picker__date-display, .picker__box .picker__table .picker__day--outfocus, .picker__box .picker__table .picker__day--selected,
.picker__box .picker__table .picker__day--selected:hover,
.picker__box .picker__table .picker--focused {
color: #fff !important;
}

In any other browser it works as it should, but Microsoft Edge won't apply the white color to any of the listed selectors until this one is taken out of it

.side-nav .search-form input[type=text]::placeholder

 


Marta Szymanska staff pro premium answered 6 years ago

Hi, we will fix this issue as soon as possible. Best, Marta

Xeevis pro answered 6 years ago

Problem is in _sidenav.scss where placeholder mixin is extending .white-text
    @include placeholder {
         @extend .white-text;
    }
if I swap that for
    @include placeholder {
         color: #fff !important;
    }
all browsers work as they should.

Please insert min. 20 characters.

FREE CONSULTATION

Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.

Status

Resolved

Specification of the issue
  • User: Pro
  • Premium support: No
  • Technology: MDB jQuery
  • MDB Version: -
  • Device: -
  • Browser: -
  • OS: -
  • Provided sample code: Yes
  • Provided link: No