Summary
The bottom
CSS property participates in specifying the position of positioned elements.
For absolutely positioned elements, that is, those whose {{cssxref("position")}} property is set to absolute
or fixed
, the bottom
property specifies the distance between the bottom margin edge of the element and the bottom edge of the block containing the element.
For relatively positioned elements, that is, those with whose {{cssxref("position")}} property is set to relative
, the bottom
property specifies the distance the element's bottom edge is moved above its normal position.
When both {{cssxref("top")}} and bottom
are specified, and {{cssxref("height")}} is unspecified or either auto
or 100%
, both the {{cssxref("top")}} and bottom
distances are respected. In all other situations, if {{cssxref("height")}} is constrained in any way, the {{cssxref("top")}} property takes precedence and the bottom
property is ignored.
{{cssinfo}}
Syntax
/* <length> values */ bottom: 3px; bottom: 2.4em; /* <percentages> of the height of the containing block */ bottom: 10%; /* keyword values */ bottom: auto; bottom: inherit;
Values
<length>
- A negative,
null
, or positive {{cssxref("")}} that represents:- for absolutely positioned elements, the distance to the bottom edge of the containing block;
- for relatively positioned elements, the offset that the element is moved above its position in the normal flow if it wasn't positioned.
<percentage>
- A {{cssxref("<percentage>")}} of the containing block's height, used as described in the summary.
auto
- Specifies that:
- for absolutely positioned elements, the position of the element is based on the {{Cssxref("top")}} property, and
height: auto
is treated as a height based on the content. - for relatively positioned elements, the offset the element from its original position is based on the {{Cssxref("top")}} property, or if
top
is alsoauto
, the element is not moved vertically at all.
- for absolutely positioned elements, the position of the element is based on the {{Cssxref("top")}} property, and
inherit
- Indicates that the value is the same as the computed value from its parent element (which may not be its containing block). This computed value is then handled as if it were a {{cssxref("")}}, {{cssxref("<percentage>")}}, or the
auto
keyword.
Formal syntax
{{csssyntax}}
Examples
element { position: absolute; bottom: 20px; height: 200px; border: 1px solid #000; }
The following sample demonstrates the difference in behavior of the bottom
property when {{cssxref("position")}} is absolute
versus fixed
. When the regular text becomes taller than the viewable portion of the page (that is, the browser window's viewport), blocks positioned with position:absolute
scroll with the page, while blocks positioned with position:fixed
don't.
<!DOCTYPE html> <html> <head> <title>Position at bottom, absolute or fixed</title> <style type="text/css"> p {font-size:30px; line-height:3em;} div.pos {width:49%; text-align:center; border:2px solid #00f;} div#abs {position:absolute; bottom:0; left:0;} div#fix {position:fixed; bottom:0; right:0;} </style> </head> <body> <p>This<br>is<br>some<br>tall,<br>tall, <br>tall,<br>tall,<br>tall<br>content.</p> <div id="fix" class="pos"><p>Fixed</p></div> <div id="abs" class="pos"><p>Absolute</p></div> </body> </html>
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('CSS2.1', 'visuren.html#choose-position', 'bottom')}} | {{Spec2('CSS2.1')}} | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 1.0 | {{CompatGeckoDesktop("1.0")}} | 5[1] | 6 | 1.0 (85) |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatGeckoMobile("1.9.2")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
[1] In Internet Explorer versions before 7.0, when both {{cssxref("top")}} and bottom
are specified, the element position is over-constrained and the {{cssxref("top")}} property has precedence. In that case the computed value of bottom
is set to -top
, while its specified value is ignored.