Rewrite Style Attributes
Configuration
The 'Rewrite Style Attributes' filter is enabled by specifying either:
- Apache:
-
ModPagespeedEnableFilters rewrite_style_attributes,rewrite_css
- Nginx:
-
pagespeed EnableFilters rewrite_style_attributes,rewrite_css;
- Apache:
-
ModPagespeedEnableFilters rewrite_style_attributes_with_url,rewrite_css,rewrite_images
- Nginx:
-
pagespeed EnableFilters rewrite_style_attributes_with_url,rewrite_css,rewrite_images;
in the configuration file. If both are enabled,
rewrite_style_sttributes takes precedence.
Description
The "Rewrite Style Attributes" filter rewrites CSS inside elements' style attribute. It
requires rewrite_css to also be enabled. See the settings for
rewrite_css to control CSS minification, image
rewriting, image recompression, and cache extension.
rewrite_style_attributes enables the filter for all style attributes.
rewrite_style_attributes_with_url enables it only for style attributes that
contain the text 'url(', for which you will generally want to enable one or
more image optimization filters.
rewrite_style_attributes_with_url is more efficient because it does not always
parse the CSS, but it will not optimize CSS that doesn't reference any URLs.
rewrite_style_attributes will always parse the CSS and optimize everything
possible. Because images are generally the source for greatest improvement and are enclosed
in url(), rewrite_style_attributes_with_url is a good balance for
most uses, while rewrite_style_attributes is available for more aggressive
optimization.
Operation
This filter inspects the style attributes of all tags other than
<style> (since they cannot have a style attribute) and rewrites them
according to the configured rewrite_css filter, which
can include CSS minification, image rewriting, image recompression, and cache extension.
As explained above, if rewrite_style_attributes_with_url is enabled the style
attribute's contents are first scanned to ensure that they contain the text
url( and are processed only if so.
For example, if a <div> tag looks like this:
<div style="background-image: url('images/Puzzle.jpg');"/>
Then, if the image is optimizable, PageSpeed will convert it to something like:
<div style="background-image:url('images/Puzzle.jpg.pagespeed.ic.7X5cYtoCx-.jpg');"/>
Example
You can see the filter in action at www.modpagespeed.com on this
example.
Risks
This filter is considered minimal risk.
rewrite_style_attributes_with_url is a core filter but
rewrite_style_attributes is not.