code_junkie

CSS positioning div above another div when not in that order in the HTML

Nov 11th, 2011
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.28 KB | None | 0 0
  1. $('#secondDiv').insertBefore('#firstDiv');
  2.  
  3. $('.swapMe').each(function(i, el) {
  4. $(el).insertBefore($(el).prev());
  5. });
  6.  
  7. #wrapper { position: relative; }
  8. #firstDiv { position: absolute; height: 100px; top: 110px; }
  9. #secondDiv { position: absolute; height: 100px; top: 0; }
  10.  
  11. <style>
  12. #firstDiv {
  13. position:absolute; top:100%;
  14. }
  15. #wrapper {
  16. position:relative;
  17. }
  18.  
  19. position : absolute;
  20.  
  21. fd = document.getElementById( 'firstDiv' );
  22. sd = document.getElementById( 'secondDiv' );
  23. fd.parentNode.removeChild( fd );
  24. sd.parentNode.insertAfter( fd, sd );
  25.  
  26. <div class="product">
  27. <h2>Greatest Product Ever</h2>
  28. <p class="desc">This paragraph appears in the source code directly after the heading and will appear in the search results.</p>
  29. <p class="sidenote">Note: This information appears in HTML after the product description appearing below.</p>
  30. </div>
  31.  
  32. .product { width: 400px; }
  33. .desc { margin-top: 5em; }
  34. .sidenote { margin-top: -7em; }
  35.  
  36. #firstDiv {
  37. float: left;
  38. }
  39.  
  40. #secondDiv {
  41. float: left;
  42. clear: left;
  43. }
  44.  
  45. #wrapper { position: relative; margin-top: 4em; }
  46. #firstDiv { position: absolute; top: 0; width: 100%; }
  47. #secondDiv { position: absolute; bottom: 0; width: 100%; }
  48.  
  49. #firstDiv { position: relative; top: YYYpx; height: XXXpx; }
  50. #secondDiv { position: relative; top: -XXXpx; height: YYYpx; }
  51.  
  52. <?xml version="1.0" encoding="iso-8859-1"?>
  53. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  54. <html>
  55. <head>
  56. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  57. <meta http-equiv="Content-Language" content="en" />
  58. <meta name="language" content="en" />
  59. <title>Vertical Centering in CSS2 - Example (IE, FF & Chrome tested) - This is so tricky!!!</title>
  60. <style type="text/css">
  61. html,body{
  62. margin:0px;
  63. padding:0px;
  64. width:100%;
  65. height:100%;
  66. }
  67. div.BloqueTipoTabla{
  68. display:table;margin:0px;border:0px;padding:0px;width:100%;height:100%;
  69. }
  70. div.BloqueTipoFila_AltoAjustadoAlContenido{
  71. display:table-row;margin:0px;border:0px;padding:0px;width:100%;height:auto;
  72. }
  73. div.BloqueTipoFila_AltoRestante{
  74. display:table-row;margin:0px;border:0px;padding:0px;width:100%;height:100%;
  75. }
  76. div.BloqueTipoCelda_AjustadoAlContenido{
  77. display:table-cell;margin:0px;border:0px;padding:0px;width:auto;height:auto;
  78. }
  79. div.BloqueTipoCelda_RestanteAncho{
  80. display:table-cell;margin:0px;border:0px;padding:0px;width:100%;height:auto;
  81. }
  82. div.BloqueTipoCelda_RestanteAlto{
  83. display:table-cell;margin:0px;border:0px;padding:0px;width:auto;height:100%;
  84. }
  85. div.BloqueTipoCelda_RestanteAnchoAlto{
  86. display:table-cell;margin:0px;border:0px;padding:0px;width:100%;height:100%;
  87. }
  88. div.BloqueTipoContenedor{
  89. display:block;margin:0px;border:0px;padding:0px;width:100%;height:100%;position:relative;
  90. }
  91. div.BloqueTipoContenedor_VerticalmenteCentrado{
  92. display:block;margin:0px;border:0px;padding:0px;width:100%;height:auto;position:relative;top:50%;
  93. }
  94. div.BloqueTipoContenido_VerticalmenteCentrado_Oculto{
  95. display:block;margin:0px;border:0px;padding:0px;width:100%;height:auto;visibility:hidden;position:relative;top:50%;
  96. }
  97. div.BloqueTipoContenido_VerticalmenteCentrado_Visible{
  98. display:block;margin:0px;border:0px;padding:0px;width:100%;height:auto;visibility:visible;position:absolute;top:-50%;
  99. }
  100. </style>
  101. </head>
  102. <body>
  103. <h1>Vertical Centering in CSS2 - Example<br />(IE, FF & Chrome tested)<br />This is so tricky!!!</h1>
  104. <div class="BloqueTipoTabla" style="margin:0px 0px 0px 25px;width:75%;height:66%;border:1px solid blue;">
  105. <div class="BloqueTipoFila_AltoAjustadoAlContenido">
  106. <div class="BloqueTipoCelda_AjustadoAlContenido">
  107. [1,1]
  108. </div>
  109. <div class="BloqueTipoCelda_AjustadoAlContenido">
  110. [1,2]
  111. </div>
  112. <div class="BloqueTipoCelda_RestanteAncho">
  113. [1,3]
  114. </div>
  115. <div class="BloqueTipoCelda_AjustadoAlContenido">
  116. [1,4]
  117. </div>
  118. </div>
  119. <div class="BloqueTipoFila_AltoAjustadoAlContenido">
  120. <div class="BloqueTipoCelda_AjustadoAlContenido">
  121. [2,1]
  122. </div>
  123. <div class="BloqueTipoCelda_AjustadoAlContenido">
  124. [2,2]
  125. </div>
  126. <div class="BloqueTipoCelda_RestanteAncho">
  127. [2,3]
  128. </div>
  129. <div class="BloqueTipoCelda_AjustadoAlContenido">
  130. [2,4]
  131. </div>
  132. </div>
  133. <div class="BloqueTipoFila_AltoRestante">
  134. <div class="BloqueTipoCelda_RestanteAlto">
  135. <div class="BloqueTipoContenedor" style="border:1px solid lime;">
  136. <div class="BloqueTipoContenedor_VerticalmenteCentrado" style="border:1px dotted red;">
  137. <div class="BloqueTipoContenido_VerticalmenteCentrado_Oculto">
  138. The cell [3,1]
  139. <br />
  140. *&nbsp;*&nbsp;*&nbsp;*
  141. <br />
  142. *&nbsp;*&nbsp;*&nbsp;*
  143. <br />
  144. *&nbsp;*&nbsp;*&nbsp;*
  145. <br />
  146. Now&nbsp;is&nbsp;the&nbsp;highest&nbsp;one
  147. </div>
  148. <div class="BloqueTipoContenido_VerticalmenteCentrado_Visible" style="border:1px dotted blue;">
  149. The cell [3,1]
  150. <br />
  151. *&nbsp;*&nbsp;*&nbsp;*
  152. <br />
  153. *&nbsp;*&nbsp;*&nbsp;*
  154. <br />
  155. *&nbsp;*&nbsp;*&nbsp;*
  156. <br />
  157. Now&nbsp;is&nbsp;the&nbsp;highest&nbsp;one
  158. </div>
  159. </div>
  160. </div>
  161. </div>
  162. <div class="BloqueTipoCelda_RestanteAlto">
  163. <div class="BloqueTipoContenedor" style="border:1px solid lime;">
  164. <div class="BloqueTipoContenedor_VerticalmenteCentrado" style="border:1px dotted red;">
  165. <div class="BloqueTipoContenido_VerticalmenteCentrado_Oculto">
  166. This&nbsp;is<br />cell&nbsp;[3,2]
  167. </div>
  168. <div class="BloqueTipoContenido_VerticalmenteCentrado_Visible" style="border:1px dotted blue;">
  169. This&nbsp;is<br />cell&nbsp;[3,2]
  170. </div>
  171. </div>
  172. </div>
  173. </div>
  174. <div class="BloqueTipoCelda_RestanteAnchoAlto">
  175. <div class="BloqueTipoContenedor" style="border:1px solid lime;">
  176. <div class="BloqueTipoContenedor_VerticalmenteCentrado" style="border:1px dotted red;">
  177. <div class="BloqueTipoContenido_VerticalmenteCentrado_Oculto">
  178. This is cell [3,3]
  179. <br/>
  180. It is duplicated on source to make the trick to know its variable height
  181. <br />
  182. First copy is hidden and second copy is visible
  183. <br/>
  184. Other cells of this row are not correctly aligned only on IE!!!
  185. </div>
  186. <div class="BloqueTipoContenido_VerticalmenteCentrado_Visible" style="border:1px dotted blue;">
  187. This is cell [3,3]
  188. <br/>
  189. It is duplicated on source to make the trick to know its variable height
  190. <br />
  191. First copy is hidden and second copy is visible
  192. <br/>
  193. Other cells of this row are not correctly aligned only on IE!!!
  194. </div>
  195. </div>
  196. </div>
  197. </div>
  198. <div class="BloqueTipoCelda_RestanteAlto">
  199. <div class="BloqueTipoContenedor" style="border:1px solid lime;">
  200. <div class="BloqueTipoContenedor_VerticalmenteCentrado" style="border:1px dotted red;">
  201. <div class="BloqueTipoContenido_VerticalmenteCentrado_Oculto">
  202. This&nbsp;other is<br />the cell&nbsp;[3,4]
  203. </div>
  204. <div class="BloqueTipoContenido_VerticalmenteCentrado_Visible" style="border:1px dotted blue;">
  205. This&nbsp;other is<br />the cell&nbsp;[3,4]
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. </div>
  211. <div class="BloqueTipoFila_AltoAjustadoAlContenido">
  212. <div class="BloqueTipoCelda_AjustadoAlContenido">
  213. [4,1]
  214. </div>
  215. <div class="BloqueTipoCelda_AjustadoAlContenido">
  216. [4,2]
  217. </div>
  218. <div class="BloqueTipoCelda_RestanteAncho">
  219. [4,3]
  220. </div>
  221. <div class="BloqueTipoCelda_AjustadoAlContenido">
  222. [4,4]
  223. </div>
  224. </div>
  225. </div>
  226. </body>
  227. </html>
Add Comment
Please, Sign In to add comment