All Packages Class Hierarchy This Package Previous Next Index
Class org.w3c.css.properties.CssFloat
java.lang.Object
|
+----org.w3c.css.properties.CssProperty
|
+----org.w3c.css.properties.CssFloat
- public class CssFloat
- extends CssProperty
'float'
Value: left | right | none
Initial: none
Applies to: all elements
Inherited: no
Percentage values: N/A
With the value 'none', the element will be displayed where it appears
in the text. With a value of 'left' ('right') the element will be moved to
the left ('right') and the text will wrap on the right (left) side of the
element. With a value of 'left' or 'right', the element is treated as
block-level (i.e. the 'display' property is ignored).
Floating elements
Using the 'float' property, an element can be
declared to be outside the normal flow of elements and is then formatted as
a block-level element. For example, by setting the 'float' property of an
image to 'left', the image is moved to the left until the margin, padding
or border of another block-level element is reached. The normal flow will
wrap around on the right side. The margins, borders and padding of the
element itself will be honored, and the margins never collapse with the
margins of adjacent elements.
A floating element is positioned subject to the following constraints:
- The left outer edge of a left-floating element may not be to the
left of the left inner edge of its parent element. Analogously for right
floating elements.
- The left outer edge of a left floating element must be to the right
of the right outer edge of every earlier (in the HTML source)
left-floating element or the top of the former must be lower than the
bottom of the latter. Analogously for right floating elements.
- The right outer edge of a left-floating element may not be to the
right of the left outer edge of any right-floating element that is to the
right of it. Analogously for right-floating elements.
- A floating element's top may not be higher than the inner top of its
parent.
- A floating element's top may not be higher than the top of any
earlier floating or block-level element.
- A floating element's top may not be higher than the top of any
line-box (see section 4.4) with content that precedes the
floating element in the HTML source.
- A floating element must be placed as high as possible.
- A left-floating element must be put as far to the left as possible,
a right-floating element as far to the right as possible. A higher
position is preferred over one that is further to the left/right.
<STYLE TYPE="text/css">
IMG { float: left }
BODY, P, IMG { margin: 2em }
</STYLE>
<BODY>
<P>
<IMG SRC=img.gif>
Some sample text that has no other...
</BODY>
The above example could be formatted as:
________________________________________
|
| max(BODY margin, P margin)
| ______________________________
| | | Some sample text
| B | P | IMG margins that has no other
| O | | _____ purpose than to
| D | m | | | show how floating
| Y | a | | IMG | elements are moved
| | r | | | to the side of the
| m | g | |_____| parent element
| a | i | while honoring
| r | n | margins, borders
| g | | and padding. Note
| i | |how adjacent vertical margins
| n | |are collapsed between non-
| | |floating block-level elements.
Note that the margin of the 'P' elements enclose the floating 'IMG'
element.
There are two situations when floating elements can overlap with the
margin, border and padding areas of other elements:
- when the floating element has a negative margin: negative margins on
floating elements are honored as on other block-level elements.
- when the floating element is wider or higher than the element it is
inside
-
CssFloat()
- Create a new CssFloat
-
CssFloat(CssExpression)
- Create a new CssFloat
-
addToStyle(CssStyle)
- Add this property to the CssStyle.
-
equals(CssProperty)
- Compares two properties for equality.
-
get()
- Returns the value of this property
-
getPropertyInStyle(CssStyle, boolean)
- Get this property in the style.
-
getPropertyName()
- Returns the name of this property
-
isDefault()
- Is the value of this property is a default value.
-
isSoftlyInherited()
- Returns true if this property is "softly" inherited
e.g.
-
toString()
- Returns a string representation of the object.
CssFloat
public CssFloat()
- Create a new CssFloat
CssFloat
public CssFloat(CssExpression expression) throws InvalidParamException
- Create a new CssFloat
- Parameters:
- expression - The expression for this property
- Throws: InvalidParamException
- Values are incorrect
get
public Object get()
- Returns the value of this property
- Overrides:
- get in class CssProperty
getPropertyName
public String getPropertyName()
- Returns the name of this property
- Overrides:
- getPropertyName in class CssProperty
isSoftlyInherited
public boolean isSoftlyInherited()
- Returns true if this property is "softly" inherited
e.g. his value equals inherit
- Overrides:
- isSoftlyInherited in class CssProperty
toString
public String toString()
- Returns a string representation of the object.
- Overrides:
- toString in class CssProperty
addToStyle
public void addToStyle(CssStyle style)
- Add this property to the CssStyle.
- Parameters:
- style - The CssStyle
- Overrides:
- addToStyle in class CssProperty
getPropertyInStyle
public CssProperty getPropertyInStyle(CssStyle style,
boolean resolve)
- Get this property in the style.
- Parameters:
- style - The style where the property is
- resolve - if true, resolve the style to find this property
- Overrides:
- getPropertyInStyle in class CssProperty
equals
public boolean equals(CssProperty property)
- Compares two properties for equality.
- Parameters:
- value - The other property.
- Overrides:
- equals in class CssProperty
isDefault
public boolean isDefault()
- Is the value of this property is a default value.
It is used by all macro for the function
print
- Overrides:
- isDefault in class CssProperty
All Packages Class Hierarchy This Package Previous Next Index