I want to put a logo above the photo in the header in the default WordPress theme ( http://twentyelevendemo.wordpress.com/ )
My solution: add the logo before the photo, and set position: absolute
on it, without setting any of the top/left/bottom/right
properties:
http://jsfiddle.net/TsAJp/
Html:
<a id="header"> <img id="logo"> <img id="photo"> </a>
Css:
#logo { position: absolute; margin: 10px; /* or padding: 10px; */ /* or border: 10px solid transparent; only this works with my elderly iPhone Simulator.app */ }
Another example is a horizontal multi-level menu which is 100% wide and laid out with display: table-*
, but table-cell
s don't support position: relative
, so my only solution was this: http://jsfiddle.net/pCe49/
It works on IE6-7, Firefox1.5, not working on Firefox 0.8, etc.
Do you think it is a good solution, or is it a non-standard piece of hack, which can fall apart any minute?
position: static;Static positioned elements are not affected by the top, bottom, left, and right properties.
Fixed. The fixed value is similar to absolute as it can help you position an element anywhere relative to the document, however this value is unaffected by scrolling.
Absolute An element with position: absolute is removed from the normal document flow. It is positioned automatically to the starting point (top-left corner) of its parent element. If it doesn't have any parent elements, then the initial document <html> will be its parent.
position: relative; An element with position: relative; is positioned relative to its normal position. Setting the top, right, bottom, and left properties of a relatively-positioned element will cause it to be adjusted away from its normal position.
The standard generally says if top/bottom, left/right are auto, then default them to their position: static
values:
http://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width
http://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-height
AFAIK, you should pay attention of hierarchical css rules, beacuse if you don't specify top, left and other attributes, they are inherited from parent element, or are set by defaults in browser's css. IMHO, it's better to initialize elements with your values.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With