Home > Element Reference : Style Properties

Contents

### Style Properties

The following lists some of the custom style properties that Mozilla supports.

#### Properties:

-moz-appearance

Used to cause an element to take its border, background style and size from the operating system's theme. This causes XUL elements to be drawn similar to the way the user's system draws such elements. This currently only has an effect on Windows XP and Mac OS X.

-moz-binding

Used to specify a binding to use for the element. The property should be a URL of an XBL file containing the binding. The URL may contain an anchor to point to a specific binding with the XBL file, referenced by its id attribute.

-moz-border-colors-bottom Moz0.9.8

Sets the border colors for the bottom edge. It should be set to a list of colors. When an element has a border that is larger than a single pixel, each line of pixels uses the next color specified in this property. This eliminates the need for nested boxes. If the border is wider than the number colors specified for this property, the remaining part of the border is the color specified by the border property.

-moz-border-colors-left Moz0.9.8

Sets the border colors for the bottom edge. See the -moz-border-colors-bottom property for more information.

-moz-border-colors-right Moz0.9.8

Sets the border colors for the right edge. See the -moz-border-colors-bottom property for more information.

-moz-border-colors-top Moz0.9.8

Sets the border colors for the top edge. See the -moz-border-colors-bottom property for more information.

-moz-border-radius

This property can be used to give borders rounded corners. This should be set to a numeric value indicating the amount of rounding to use. You must use a unit (usually px for pixels). A higher number makes the border rounder.

-moz-border-radius-bottomleft

Sets the rounding of the lower left corner of the border.

-moz-border-radius-bottomright

Sets the rounding of the lower right corner of the border.

-moz-border-radius-topleft

Sets the rounding of the upper left corner of the border.

-moz-border-radius-topright

Sets the rounding of the upper right corner of the border.

-moz-box-align

The align attribute specifies how child elements of the box are aligned, when the size of the box is larger than the total size of the children. For boxes that have horizontal orientation, it specifies how its children will be aligned vertically. For boxes that have vertical orientation, it is used to specify how its children are algined horizontally. The pack attribute is related to the alignment but is used to specify the position in the opposite direction. You can also specify the value of align using the style property '-moz-box-align'.

- start: Child elements are align starting from the left or top edge of the box. If the box is larger than the total size of the children, the extra space is placed on the right or bottom side.
- center: Extra space is split equally along each side of the child elements, resulting the children being placed in the center of the box.
- end: Child elements are placed on the right or bottom edge of the box. If the box is larger than the total size of the children, the extra space is placed on the left or top side.
- baseline: This value applies to horizontally oriented boxes only. It causes the child elements to be aligned so that their text labels are lined up.
- stretch: The child elements are stretched to fit the size of the box. For a horizontal box, the children are stretched to be the height of the box. For a vertical box, the children are stretched to be the width of the box. If the size of the box changes, the children stretch to fit. Use the flex attribute to create elements that stretch in the opposite direction.

-moz-box-direction

Specifies the direction in the which the children of a box are placed.

- normal: Children are placed either from left to right or top to bottom in the order the elements appear in the XUL source or document tree.
- reverse: Children are placed either from right to left or bottom to top in the order the elements appear in the XUL source or document tree.

-moz-box-flex

Indicates the flexibility of an element. Flexible elements grow and shrink to fit their given space. The actual value is not relevant unless there are other flexible elements within the same container. Elements with larger flex values will grow more than elements with lower flex values, at the ratio determined by the two elements.

-moz-box-flexgroup

This property is used to group flexible elements together and should be set to an integer. Elements with a lower flexgroup are flexed first. When those elements have reached their maximum sizes, the elements with the next higher flexgroup are flexed. This process continues until there are no more elements remaining. The same process occurs when decreasing the size, except in the other direction.

-moz-box-orient

This is the corresponding style property for a XUL element's orient attribute. For elements that are types of boxes, it determines whether the children are laid out horizontally or vertically.

- horizontal: The children of the element are placed horizontally in a row.
- vertical: The children of the element are placed vertically in a column.

-moz-box-pack

The pack attribute specifies where child elements of the box are placed when the box is larger that the size of the children. For boxes with horizontal orientation, it is used to indicate the position of children horizontally. For boxes with vertical orientation, it is used to indicate the position of children vertically. The align attribute is used to specify the position in the opposite direction. You can also specify the value of pack using the style property '-moz-box-pack'.

- start: Child elements are placed starting from the left or top edge of the box. If the box is larger than the total size of the children, the extra space is placed on the right or bottom side.
- center: Extra space is split equally along each side of the child elements, resulting the children being placed in the center of the box.
- end: Child elements are placed on the right or bottom edge of the box. If the box is larger than the total size of the children, the extra space is placed on the left or top side.

-moz-box-sizing

This property determines how the width and height of the element is calculated. It affects the width and height properties.

- content-box: The width and height properties specify the size of the element including the padding.
- border-box: The width and height properties specify the size of the element including the padding and border.
- padding-box: The width and height properties specify the size of the element. The padding, border and margin are added outside of this size.

-moz-image-region Moz0.9.8

For elements that have an image, this property sets the area of the image that is used. The syntax is similar to the clip property. All four values are relative to the upper left corner of the image. You can set multiple elements to use the same image but use a different region of the image, reducing the amount of memory required. You can change this property to simulate animation.

-moz-key-equivalent
-moz-opacity

This property can be used to make an element partially transparent. Any content behind the element will be partially visible. This should be a percentage where 100% means fully opaque and 0% means invisible.

-moz-outline

This property can be used to set the outline of the element. An outline is like a border but has some differences in the way it is drawn. This is similar to the CSS2 outline property which Mozilla does not currently support.

-moz-outline-color

Sets the color of the outline.

-moz-outline-radius

This property can be used to give outlines rounded corners. This should be set to a numeric value indicating the amount of rounding to use. You must use a unit (usually px for pixels). A higher number makes the outline rounder.

-moz-outline-radius-bottomleft

Sets the rounding of the lower left corner of the outline.

-moz-outline-radius-bottomright

Sets the rounding of the lower right corner of the outline.

-moz-outline-radius-topleft

Sets the rounding of the upper left corner of the outline.

-moz-outline-radius-topright

Sets the rounding of the upper right corner of the outline.

-moz-outline-style

Sets the style of the border, which can have the same values as the border-style property.

-moz-outline-width

Sets the width of the outline.

-moz-user-focus

Used to indicate whether the element can have the focus. By setting this to 'ignore', you can disable focusing the element, which means that the user will not be able to activate the element. The element will be skipped in the tab sequence. A similar property 'user-focus' has been proposed for CSS3.

- ignore: The element does not accept the keyboard focus and will be skipped in the tab order.
- normal: The element can accept the keyboard focus.

-moz-user-input

This can be used to indicate whether the value of the element can be modifed. This mainly applies to textboxes.

- disabled: The user cannot edit the value of the textbox. The user may still select text in the textbox.
- enabled: The user can edit the value of the textbox.

-moz-user-select

Used to indicate whether the text of the element can be selected. This doesn't have any affect on content loaded as chrome, except in textboxes. A similar property 'user-select' has been proposed for CSS3.

- none: The text of the element cannot be selected.
- normal: The text can be selected by the user.

display

Although the display property is part of standard CSS, some additional values are allowed, for the XUL layout styles. You can use these values for non-XUL elements too, although they may produce unusual results.

- -moz-box: Child elements are laid out horizontally or vertically.
- -moz-inline-box:
- -moz-grid: Child elements are laid out as a XUL grid.
- -moz-inline-grid:
- -moz-grid-group: Child elements are laid out as a group of grid columns or rows. This is the layout used by the rows and columns elements. You can use the orientation (-moz-box-orient) to set which direction. Rows would normally have vertical orientation and columns would have a horizontal orientation.
- -moz-grid-line: Child elements are laid out as a single column or row of a grid. You can use the orientation (-moz-box-orient) to set which direction.
- -moz-stack: Child elements are laid out one on top of each other like the XUL stack element.
- -moz-inline-stack:
- -moz-deck: Child elements are laid out one on top of each other like the XUL deck element. Unlike a stack, only the top element is displayed.
- -moz-popup:
- -moz-groupbox:

overflow

Mozilla supports some additional values for the overflow property that are not in standard CSS. The overflow property is used to specify what happens when the content is too large for the container.

- -moz-scrollbars-horizontal: Indicates that horizontal scrollbars should appear.
- -moz-scrollbars-vertical: Indicates that vertical scrollbars should appear.
- -moz-scrollbars-none: Indicates that no scrollbars should appear.

Copyright (C) 1999 - 2002 XULPlanet.com