margin property
Sets or retrieves the width of the top, right, bottom, and left margins of the object.
Syntax
Integer value = object.put_margin( v);Integer value = object.get_margin(* sMargin);
Property values
Type: BSTR
up to four of the space-delimited values listed in Possible Values.
top (0)
Any of the range of margin width values available to the IHTMLCurrentStyle::marginTop property.
right (0)
Any of the range of margin width values available to the IHTMLCurrentStyle::marginRight property.
bottom
Any of the range of margin width values available to the IHTMLCurrentStyle::marginBottom property.
left
Any of the range of margin width values available to the IHTMLCurrentStyle::marginLeft property.
String format
top | right | bottom | left
CSS information
Applies To | All elements |
Media | visual |
Inherited | no |
Initial Value | (see individual properties) |
Standards information
- CSS 2.1, Section 5.5.5
Remarks
This is a composite property that specifies up to four width values, in the following order: top, right, bottom, left. If one width value is specified, it is used for all four sides. If two width values are specified, the first is used for the top and bottom borders, and the second is used for left and right borders. If three width values are specified, they are used for the top, right/left, and bottom borders, respectively. Negative margins are supported except for top and bottom margins on inline objects.
As of Microsoft Internet Explorer 4.0, you can specify length values relative to the height of the element's font (em
) or the height of the letter "x" (ex
).
In Microsoft Internet Explorer 3.0, the specified margin value is added to the default value of the object. In Internet Explorer 4.0 or later, the margin value is absolute. The margin properties do not work with the td and tr objects in Internet Explorer 4.0, but they do work in Internet Explorer 3.0. To set margins in the cell for Internet Explorer 4.0 or later, apply the margin to an object, such as div or p, within the td.
As of Microsoft Internet Explorer 5.5, this property applies to inline elements. With earlier versions of Windows Internet Explorer, inline elements must have an absolute IHTMLCurrentStyle::position or layout to use this property. Element layout is set by providing a value for the IHTMLCurrentStyle::height property or the IHTMLCurrentStyle::width property.
For inline elements, the top and bottom values are used to compute the border area of a surrounding inline element, if present. These values do not contribute to the height of a line.
Margins are always transparent.
The below image shows the content, padding, border, and margin areas of a basic box. The red labels illustrate the edges of each of these areas.
Examples
In the following example, three div elements specify IHTMLCurrentStyle::height and IHTMLCurrentStyle::width values. The second div element uses the IHTMLCurrentStyle::margin property to set IHTMLCurrentStyle::marginTop to 5px, IHTMLCurrentStyle::marginRight to 0px, IHTMLCurrentStyle::marginBottom to 15px, and IHTMLCurrentStyle::marginLeft to -10px.
<div id="blue"></div>
<div id="yellow"></div>
<div id="green"></div>
#blue {
background-color: #00A4EF;
height: 50px;
width: 50px;
}
#yellow {
background-color: #FFB900;
height: 50px;
width: 50px;
margin: 5px 0px 15px -10px;
}
#green {
background-color: #7FBA00;
height: 50px;
width: 50px;
}
The following image shows the result.
Requirements
Minimum supported client |
Windows XP |
Minimum supported server |
Windows Server 2003 |
Header |
Mshtml.h |
IDL |
Mshtml.idl |
DLL |
Mshtml.dll |
See also
Conceptual
CSS Values and Units Reference
Other Resources