stylus / nib

Stylus mixins, utilities, components, and gradient image generation
http://stylus.github.io/nib
MIT License
1.91k stars 249 forks source link

Inline-block with conditional IE support #242

Open zsitro opened 10 years ago

zsitro commented 10 years ago

A snippet that I miss in every project where I use nib. If opacity has place here, then inline-block also should be there

/*
 * Inline-block with conditional IE support.
 */
display(mode, args...)
  if mode == 'inline-block'
    display inline-block args
    if support-for-ie
      zoom 1
      *display inline args
  else
    display mode args
zsitro commented 10 years ago

@visionmedia does it look good?

notslang commented 10 years ago

looks like a good idea, except it needs additional tests.

zsitro commented 10 years ago

What do you mean @slang800 ? What use-cases are not covered in current test?

notslang commented 10 years ago

Unless I'm totally misunderstanding this PR; We are adding a new mixin that adds properties when we enable support for IE & have display: inline-block. So, there should be a test that makes sure that those properties actually get added.

btw, couldn't the code be refactored into something like this:

display(mode, args...)
  display mode args
  if mode == 'inline-block' && support-for-ie
    // target IE w/ star hack: http://www.ejeliot.com/blog/63
    *zoom 1
    *display inline args

...and should we be putting an * before zoom: 1 too so it only targets IE?