Printing MooTools Accordion Items

By  on  
MooTools Accordion

Sometimes we're presented with unforeseen problems when it comes to our JavaScript effects. In this case, I'm talking about printing jQuery and MooTools accordions. Each "closed" accordion content element has its height set to 0 which means it will be hidden when the user tries to print the page. Luckily MooTools Core Developer Thomas Aylott provides a simple fix.

The CSS Fix

@media print {
	.element { height:auto !important; }
}

That's it -- no joke. Setting a print-specific height of auto with the ever-useful !important declaration fixes everything.

Big ups to @subtlegradient for the solution. Another reason I'm so happy to be surrounded by clever developers.

Recent Features

  • By
    5 HTML5 APIs You Didn’t Know Existed

    When you say or read "HTML5", you half expect exotic dancers and unicorns to walk into the room to the tune of "I'm Sexy and I Know It."  Can you blame us though?  We watched the fundamental APIs stagnate for so long that a basic feature...

  • By
    Introducing MooTools Templated

    One major problem with creating UI components with the MooTools JavaScript framework is that there isn't a great way of allowing customization of template and ease of node creation. As of today, there are two ways of creating: new Element Madness The first way to create UI-driven...

Incredible Demos

  • By
    Chris Coyier’s Favorite CodePen Demos II

    Hey everyone! Before we get started, I just want to say it's damn hard to pick this few favorites on CodePen. Not because, as a co-founder of CodePen, I feel like a dad picking which kid he likes best (RUDE). But because there is just so...

  • By
    9 Incredible CodePen Demos

    CodePen is a treasure trove of incredible demos harnessing the power of client side languages.   The client side is always limited by what browsers provide us but the creativity and cleverness of developers always pushes the boundaries of what we think the front end can do.  Thanks to CSS...

Discussion

  1. wow… that is really enlightening. thanks for sharing

  2. Anton Samper

    I tell you what, i don’t have a use for this right now, but it’s one of those things that will undoubtably drive me crazy in the future. Very nice dude, i’ll keep it mind.

  3. Thanks for posting about print stylesheets – they are something which are all too often overlooked, but a very important part of web development in my opinion.

  4. So simple… Thanks for the tips.

  5. Gui
    @media print {
    .element { display:inline !important; }
    }
    

    should also work

  6. David

    I’ve recently run up against this problem. The script provided works fine, but as far as I can tell, you can’t use the opacity effect with the accordion.

    I’ve added:

    body div.element {
    height:auto !important;
    display:inline !important; 
    opacity:1 !important;
    filter:alpha(opacity=1); !important;  }
    

    To my print css, but it doesn’t fix the problem. If anybody knows of a solution, then I’m certainly listening. :)

  7. john

    (Accordion mootools)…can be linked to any part of which is not active? How? I thank you in advance

  8. Francisco

    @David: The same problem. Height:auto works but no text is show.

  9. Thanks for this was bugging me for ages. The text was disappearing for me too but the “display:inline !important” seems to fix it (Thanks to Gui).

    Saf

  10. Michelle

    Neither of the fixes presented here have worked for me. Only the section headline shows up on print.

  11. If anyone still comes across this problem: only the following code helped me (jQuery Accordion):

    .ce_accordion { display: block !important; height: auto !important; }

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!