Supported Features and Limitations¶
Things that work:
Any selector that
lxml
’sCSSSelector
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
<!--[if lte IE 7]>
) is not supported.