mirror of https://github.com/metafizzy/isotope
Filter & sort magical layouts
http://isotope.metafizzy.co
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
5.7 KiB
130 lines
5.7 KiB
14 years ago
|
---
|
||
|
|
||
14 years ago
|
title: Help
|
||
14 years ago
|
category: docs
|
||
|
layout: doc
|
||
14 years ago
|
related: z-etc
|
||
14 years ago
|
toc:
|
||
14 years ago
|
- { title: Reporting bugs and issues, anchor: reporting_bugs_and_issues }
|
||
|
- { title: Support license, anchor: support_license }
|
||
14 years ago
|
- { title: Additional resources, anchor: additional_resources }
|
||
14 years ago
|
- { title: Unloaded media, anchor: unloaded_media }
|
||
|
- { title: Images, anchor: images }
|
||
|
- { title: @font-face fonts, anchor: fontface_fonts }
|
||
14 years ago
|
- { title: CSS transforms in Opera, anchor: css_transforms_in_opera }
|
||
14 years ago
|
- { title: Infinite Scroll with filtering or sorting, anchor: infinite_scroll_with_filtering_or_sorting}
|
||
14 years ago
|
- { title: Flash, anchor: flash }
|
||
14 years ago
|
|
||
|
---
|
||
14 years ago
|
|
||
|
|
||
|
## Reporting bugs and issues
|
||
|
|
||
|
[Report bugs and issues on GitHub](http://github.com/desandro/isotope/issues).
|
||
|
|
||
|
### Guidelines {: #issues-guidelines}
|
||
|
|
||
|
+ Look over open and closed issues before submitting yours.
|
||
|
+ Add a link to a live site with the bug. If the project is confidential, try re-creating it in [jsFiddle](http://jsfiddle.net).
|
||
|
|
||
|
The issues tracker is for bugs and issues — when Isotope doesn't work as expected. It is not for implementation issues — when you are having trouble setting up Isotope. Consider a [Support License](http://metafizzy.co/#support-license) for implementation issues. If you're not sure, go ahead and submit an issue.
|
||
|
|
||
|
## Support license
|
||
|
|
||
|
If you've tried everything and would really like to get my eyes looking at your code, you can purchase a [Support License from Metafizzy](http://metafizzy.co/#support-license).
|
||
|
|
||
|
Support License is included with Isotope Commercial License.
|
||
|
|
||
14 years ago
|
## Additional resources
|
||
|
|
||
|
+ The [Metafizzy blog](http://metafizzy.co/blog/) has posts that cover specialized use cases
|
||
|
+ [Sites using Isotope](http://www.delicious.com/desandro/using:isotope)
|
||
|
+ [Miscelleanous Isotope content](http://www.delicious.com/desandro/re:isotope)
|
||
|
+ [Stack Overflow questions on Isotope](http://www.delicious.com/desandro/re:isotope+stackoverflow)
|
||
|
|
||
14 years ago
|
## Unloaded media
|
||
14 years ago
|
|
||
14 years ago
|
Most layout modes (i.e masonry, fitRows) need to measure the size of each item to appropriately account for its space in the layout. Unloaded media files like images and @font-face fonts can throw off layout and cause item elements to overlap one another. Ideally, Isotope layouts should be initialized after all inner content has loaded.
|
||
14 years ago
|
|
||
14 years ago
|
## Images
|
||
14 years ago
|
|
||
14 years ago
|
### Inline dimensions
|
||
14 years ago
|
|
||
14 years ago
|
For images, the best method is to specify the width and height of images inline.
|
||
14 years ago
|
|
||
|
{% highlight html %}
|
||
|
|
||
|
<img src="img-file.jpg" width="280" height="160" />
|
||
|
|
||
|
{% endhighlight %}
|
||
|
|
||
|
If you’re using a PHP-based CMS, you can use the [getimagesize](http://php.net/manual/en/function.getimagesize.php) function.
|
||
|
|
||
14 years ago
|
### imagesLoaded plugin
|
||
14 years ago
|
|
||
|
The next best solution is to use the imagesLoaded plugin included with Isotope. It's a fork of [Paul Irish's plugin](https://gist.github.com/268257) that finds all the images in a context, and fires a callback function once all the images have loaded.
|
||
|
|
||
|
{% highlight javascript %}
|
||
|
|
||
|
$('#container').imagesLoaded( function(){
|
||
|
$(this).isotope({
|
||
|
itemSelector : '.item',
|
||
|
});
|
||
|
});
|
||
|
|
||
|
{% endhighlight %}
|
||
|
|
||
14 years ago
|
### `$(window).load()`
|
||
14 years ago
|
|
||
14 years ago
|
Another solution is to initialize Isotope inside `$(window).load()` instead of `$(document).ready()`. This will trigger Isotope after all the media on the page has loaded.
|
||
14 years ago
|
|
||
|
{% highlight javascript %}
|
||
|
|
||
|
$(window).load(function(){
|
||
|
$('#container').isotope({
|
||
|
// options...
|
||
|
});
|
||
|
});
|
||
|
|
||
|
{% endhighlight %}
|
||
|
|
||
14 years ago
|
## @font-face fonts
|
||
14 years ago
|
|
||
|
Both Typekit and Google WebFont Loader provide font events to control scripts based on how fonts are loaded.
|
||
|
|
||
|
+ [Typekit font events](http://blog.typekit.com/2010/10/18/more-control-with-typekits-font-events/)
|
||
|
+ [Google WebFont Loader: Events](http://code.google.com/apis/webfonts/docs/webfont_loader.html#Events)
|
||
|
|
||
14 years ago
|
## CSS transforms in Opera
|
||
|
|
||
|
Currently, [using CSS transforms in Opera distorts text rendering](http://dropshado.ws/post/1260101028/opera-transform-issues). To avoid this issue, I recommend disabling Isotope to use transforms.
|
||
|
|
||
|
Isotope's default options are already set to not use CSS transforms in Opera.
|
||
|
|
||
|
{% highlight javascript %}
|
||
|
|
||
|
// Isotope default options
|
||
|
hiddenStyle : Modernizr.csstransforms && !$.browser.opera ?
|
||
|
{ opacity : 0, scale : 0.001 } : // browsers support CSS transforms, not Opera
|
||
|
{ opacity : 0 }, // other browsers, including Opera
|
||
|
visibleStyle : Modernizr.csstransforms && !$.browser.opera ?
|
||
|
{ opacity : 1, scale : 1 } : // browsers support CSS transforms, not Opera
|
||
|
{ opacity : 1 }, // other browsers, including Opera
|
||
|
animationEngine : $.browser.opera ? 'jquery' : 'best-available',
|
||
|
|
||
|
{% endhighlight %}
|
||
|
|
||
|
Also note that the [recommended transition CSS](animating.html#css_transitions) is missing declarations for Opera.
|
||
14 years ago
|
|
||
14 years ago
|
## Infinite Scroll with filtering or sorting
|
||
|
|
||
|
I recommend against using Infinite Scroll with filtering or sorting. This combination produces a unnecessarily complex user interaction that will frustrate your users. New content gets added, but part of it might be hidden. There is no way for the user to tell what gets hidden or re-arranged when Infinite Scroll adds more content. Exercise [moderation](introduction.html#moderation) with your Isotope implementation.
|
||
|
|
||
|
If you do plan on implementing Infinite Scroll with filtering or sorting (which is a _bad idea_), use the `insert` method instead of `appended`.
|
||
|
|
||
14 years ago
|
## Flash
|
||
|
|
||
|
[Using CSS transforms with Flash content is a bit buggy in Safari and Firefox](http://dropshado.ws/post/4085720152/css-transforms-breaking-flash). This is problematic when using Isotope on item elements that contain Flash content like YouTube or Vimeo videos, Flash ads, or Flash audio players.
|
||
|
|
||
|
The best way to resolve this issue is to disable CSS transforms by setting the [`transformsEnabled` option](options.html#transformsenabled) to <code><span class="kc">false</span></code>.
|