.. index:: features .. _features-chapter: Supported Features and Limitations ================================== **Things that work:** * Any selector that ``lxml``'s ``CSSSelector`` can match such as ``#foo > .bar input[type="submit"]`` * media queries are supported (this is treated as nested CSS basically) * keyframes are left untouched * You can manually over selectors that should be untouched for things you definitely know will be needed by Javascript code but isn't part of the initial HTML tree. * You can analyze multiple URLs and find the common CSS amongst them. (This doesn't work for inline CSS) * Comments are left untouched and minute whitespace details are preseved so the generated output looks similar to its input, but with the selectors not needed removed. * A proxy server apps is available that can help you preview the result of just one URL. **Things that don't yet work:** * Javascript events that manipulate the DOM tree. You can use PhantomJS to do the downloading but it still won't get every possible piece of HTML generated based on complex Javascript. * keyframes are always left untouched even if it's never referenced * Broken HTML or broken/invalid CSS isn't supported and good results can not be guaranteed. **Things that don't work:** * link tags wrapped in IE-only style comments (e.g ``