Support » Plugin: MetaSlider » Metaslider pro public.css file has an entry that is too greedy

  • Resolved lmpontus

    (@lmpontus)


    Dear Metaslider team,

    The ml-slider-pro/assets/public.css has a nasty * character that is causing havoc at a client’s site; please remove the * from this entry, as it is causing all the other elements to have a 0 margin, padding, line-height, etc:

    .metaslider .msHtmlOverlay .layer * {
    margin: 0;
    padding: 0;
    line-height: 1.4em;
    font-size: 1em;
    }

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Contributor DNutbourne

    (@dnutbourne)

    Hi,

    Apologies for the delay.

    I will add a note to our development log.

    Plugin Author David Anderson

    (@davidanderson)

    as it is causing all the other elements

    Can you explain this? As I read it, it’s targetting only children of .metaslider .msHtmlOverlay .layer

    Hi David,

    On Chrome (60.0.3112.113), that star is affecting other classes as well (e.g. in our case we have a div with a class called newsbox. If I remove the star, all works as predicted.

    Kind Regards,

    Leo

    Plugin Author David Anderson

    (@davidanderson)

    Hi Leo,

    If that is happening, you ought to report it in the Chrome bug tracker, as that’s not what the CSS rule says that it should do.

    David

    Hi David,

    Thanks again for taking the time to look at this. I think the clarification is that it is indeed affecting all the elements I put inside the metaslider; however, some of these are also used outside metaslider. So that rule is making it difficult to re-use classes inside of metaslider.

    Here’s what the https://www.w3.org/TR/css3-selectors/#universal-selector says:

    6.2.1. Universal selector and namespaces

    The universal selector allows an optional namespace component. It is used as follows:

    ns|*
    all elements in namespace ns
    *|*
    all elements
    |*
    all elements without a namespace
    *
    if no default namespace has been specified, this is equivalent to *|*. Otherwise it is equivalent to ns|* where ns is the default namespace.

    So, the * in there is actually capturing all the elements without a namespace. I have also seen the * being interpreted as all the elements inside .

    There is also a stack overflow question about this here:
    https://stackoverflow.com/questions/6386447/meaning-of-in-css

    … and one of the answers alludes to all the elements that’s a descendant of elements with the “.metaslider .msHtmlOverlay .layer” classes, which impacts all the items I put inside the slider.

    Plugin Author David Anderson

    (@davidanderson)

    Thank you…

    which impacts all the items I put inside the slider

    Ah….the original post said “as it is causing all the other elements”, which I’d taken to mean “all elements on the page”, and I was wondering how that could be possible.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Metaslider pro public.css file has an entry that is too greedy’ is closed to new replies.