When performing CSS validation I get the error Parse Error mask() which seems to originate from nice_menus.css

ul.nice-menu li.menuparent ul iframe,
/* For Garland header. */
#header-region ul.nice-menu li.menuparent ul iframe {
	display: none;
	display/**/: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	filter: mask();
	width: 20px;
	height: 20px;
}

I don't know why filter: mask(); is needed or if it is necesery

CommentFileSizeAuthor
#5 css_validation.patch3.5 KBdavividal
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

add1sun’s picture

It is necessary for IE6 to work properly, hence why it is under the "IE 6 Fixes" comment in the code. It was added a log time ago by other folks that worked hard to get IE6 working reasonably well so I don't remember what the specific effect/use/need for that line is in particular.

add1sun’s picture

Status: Active » Closed (won't fix)

Here is a link to the basic idea that we are using filter: mask() for: http://shepherdweb.com/2007/02/14/z-index-ignored-for-select-element-in-...

I don't know of any other way to make the menu work properly in IE 6 so I'm going to mark this won't fix.

mskicker’s picture

how can i solve this problem ?
URI : http://nrec.ir/sites/all/modules/nice_menus/nice_menus.css?c
122 ul.nice-menu li.menuparent ul iframe, #header-region ul.nice-menu li.menuparent ul iframe Parse Error mask()

GuillaumeDuveau’s picture

FYI, some work is being done in the date module to insert this with jQuery just for IE6 : #352975: Remove filter: mask(), which breaks CSS validation

davividal’s picture

FileSize
3.5 KB

I'm submitting a simple patch following the same steps as #352975: Remove filter: mask(), which breaks CSS validation.

It's working fine for me and it's validating.

EDIT: Not tested under IE, though.

davividal’s picture

Status: Closed (won't fix) » Needs review

Updating ticket info.

Could someone review my patch?

add1sun’s picture

Biggest problem with this is that it is altering 3rd party code, which I don't want to deal with. Seems like the real solution for date was to remove it from the module and let individuals add it back in their theme (http://drupal.org/node/352975#comment-1863336). Not sure what the best way to go is, but I am less and less inclined to deal with IE6 myself.

add1sun’s picture

Version: 5.x-1.2 » 6.x-2.x-dev
Status: Needs review » Postponed

I'm going to postpone this issue for now. I'm currently leaning towards removing this from the D7 version of Nice Menus with a comment about how to add it to a theme for those that wish/need to keep supporting IE6.

ain’s picture

Since IE6 upgrade is lobbied by Microsoft itself (e.g. through Automatic Updates) I believe that dropping the support for IE6 should be considered even sooner. If anyone is eager to still support it, they should introduce respective developments on their own.

Passing validation is becoming increasingly more important and should certainly rule out the importance of supporting non-standard legacy platforms.

Anonymous’s picture

What about putting the fixes in a separate conditional style-sheet?

yan’s picture

I agree with #9: In my opinion standards compliance has become more important than IE6 support. Even Microsoft encourages people not to use IE6. Or is this too much of a first world perspective?

Wouldn't #10 be the easiest solution?

Here's an interesting article about the question: http://blog.outsidethebox.co.uk/post/IE6-vs-Standards-Compliance.aspx

yan’s picture

Hm, some months passed by and still nothing changed. Wouldn't #10 be the best solution for now?

add1sun’s picture

Version: 6.x-2.x-dev » 7.x-2.x-dev
Status: Postponed » Active

I'm moving this to D7 and we will remove the IE code altogether. We'll add documentation for folks to manually add the CSS they need for IE6 if they want. If someone *really* wants a fix for this in D6 that doesn't involve removing the code, then you'll need to supply a working patch for review.

mdlueck’s picture

+1 vote for #10.

'tis the only error reported by the Web Developer toolbar in Firefox on our Drupal sites which use Nice Menus.

I do not mind running on a custom fork of this mod. Anyone with suggestion how to implement #10?

add1sun’s picture

@mdlueck, you don't need to support a fork. As I said in #13, if you want the feature in the module, feel free to supply a patch, and we'll review it and put it in if it works well for the module. I just don't have time to figure it out and write a patch myself. Patches are always welcome.

mdlueck’s picture

@add1sun: Good to know you are open to such a contribution.

Thus all that remains is the last part of my #14 post... "Anyone with suggestion how to implement #10?"

mdlueck’s picture

I just happened to spot this on a site built with Drupal:

<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/sitenamehere/styles/screen.css?w">
	<!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="/sites/all/themes/sitenamehere/styles/screen_ie6.css"><![endif]-->
	<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="/sites/all/themes/sitenamehere/styles/screen_ie7.css"><![endif]-->

So is IE really smart enough (gasp!) to obey that sort of conditional? In my mind, this is the sort of thing I was thinking of to fix this problem.

add1sun’s picture

Yep, conditional comments are the standard way to get IE to behave with different CSS and a patch to do this would require setting the conditional in the module rather than the theme, where most people do it.

mdlueck’s picture

But in the mod itself would have the logic self contained. Patching it in the theme leaves it up to each person implementing the mod.

Perhaps I will try that conditional design and see if I can make it work.

bfroehle’s picture

How about using conditional_styles? Seems like a no-brainer to me.

Edit: Does that work with modules? Or only themes?

bfroehle’s picture

drupal_add_css(
    'path/to/ie.ccss',
    array(
      'group' => CSS_THEME,
      'browsers' => array(
        'IE' => 'lte IE 6',
        '!IE' => FALSE,
      ),
      'every_page' => TRUE,
    )
  );

See http://drupal.org/node/1031344 and drupal_add_css() and, for example, bartik_preprocess_html().