Class: CssCompare::CSS::Component::MarginBox
- Defined in:
- lib/css_compare/css/component/margin_box.rb
Overview
Represents a @page’s margin box declaration. A page margin box consists of a margin symbol, like ‘@top-left-corner` and a list of declarations.
MarginBox inherits from the Selector class, since there are inevitable similarities. The specified margin symbol can be reached by the ‘value` property of the instance of this class.
Constant Summary collapse
- IGNORED_CONDITIONS =
%w(width height aspect-ratio orientation).freeze
Instance Attribute Summary
Attributes inherited from Selector
Instance Method Summary collapse
-
#add_property(prop, deep_copy = false) ⇒ Object
Looks for a ‘size` property to delete the values that should be ignored according to the @page W3 specification.
Methods inherited from Selector
#==, #deep_copy, #initialize, #merge, #to_json
Methods inherited from Base
Constructor Details
This class inherits a constructor from CssCompare::CSS::Component::Selector
Instance Method Details
#add_property(prop, deep_copy = false) ⇒ Object
Looks for a ‘size` property to delete the values that should be ignored according to the @page W3 specification.
If a size property declaration is qualified by a ‘width’, ‘height’, ‘device-width’, ‘device-height’, ‘aspect-ratio’, ‘device-aspect-ratio’ or ‘orientation’ media query (or other conditional on the size of the paper), then the declaration must be ignored.
31 32 33 34 35 36 |
# File 'lib/css_compare/css/component/margin_box.rb', line 31 def add_property(prop, deep_copy = false) prop.values.delete_if do |k, _| IGNORED_CONDITIONS.any? { |condition| k.include?(condition) } end if prop.name == 'size' super(prop, deep_copy) end |