Cuando tengo un div
con position: absolute
, y en él es otro div
con position: absolute
el div interno se colocará en el marco dado a través del div externo (envoltura). Ahora quiero crear una clase (css) llamada error_message que se ubique exactamente en el medio del centro del sitio, indiferente a donde se llama, así que necesito que salga de cada div que rodea el error_message div. ¿Cómo hago esto?Salir de los padres div
Respuesta
tuve un problema similar al colocar un texto de aspiración centrado debajo de una lista de botones de imagen flotante.
para mí la solución estaba usando el valor "fijo" para la propiedad "posición"
position: fixed
entonces se puede posicionar su mensaje de error desde la parte superior izquierda del cuerpo de nuevo. utilizo otra envoltura Div para colocar todos los textos de aspiración central del centro.
encontrado la solución aquí:
CSS nested Div with position absolute?
el código no es el código de la imagen que se ve, la imagen es sólo para ilustración.
hoja de estilo en menos de formato (ver http://lesscss.org/)
<style>
.button
{
float: left;
position: relative;
a
{
&:hover, &:focus
{
.titlePos
{
.title
{
display: block;
}
}
}
.titlePos
{
position: fixed;
top:50%;
left:50%;
width: 400px;
margin-left: -200px;
.title
{
position:relative;
display: none;
top: 130px;
text-align: center;
}
}
}
</style>
html:
<div id="wrapper">
<div id="content">
<ul>
<li>
<div class="button">
<a href="#" >
<div class="buttonImage">
<img />
</div>
<div class="titlePos">
<div class="title">Button Hoover Text1</div>
</div>
</a>
</div>
</li>
<li>
<div class="button">
<a href="#" >
<div class="buttonImage">
<img />
</div>
<div class="titlePos">
<div class="title">Button Hoover Text2</div>
</div>
</a>
</div>
</li>
<li>
<div class="button">
<a href="#" >
<div class="buttonImage">
<img />
</div>
<div class="titlePos">
<div class="title">Button Hoover Text3</div>
</div>
</a>
</div>
</li>
<li>
<div class="button">
<a href="#" >
<div class="buttonImage">
<img />
</div>
<div class="titlePos">
<div class="title">Button Hoover Text4</div>
</div>
</a>
</div>
</li>
</ul>
</div>
</div>
No estoy seguro de por qué querrías que div salga del div principal. Tal vez intente trabajar en una nueva estructura html para esos?
http://haslayout.net/css-tuts/Horizontal-Centering y http://haslayout.net/css-tuts/Vertical-Centering
Estos deben ayudarle a cabo!
Creo que la única manera de tener un div
de todos los padres div
s es tener un posicionamiento absoluto en todos ellos, lo que obviamente creará su propio conjunto de problemas.
¿Por qué no tener simplemente un div
predefinido y oculto como un elemento directo del cuerpo, en lugar de envolverlo en el marcado? A continuación, puede colocarlo fácilmente como desee e insertar los mensajes de error en él con la ayuda de jQuery. Una ventaja obvia de este método es que solo tendrá que escribir esta div
una vez, e insertar dinámicamente el mensaje de error en ella. Incluso sugeriría echar un vistazo a jQuery UI, que le permite crear diálogos, tanto normales como modales, además de toneladas de otras características.
ACTUALIZACIÓN
Desde JS no está permitido, una manera fácil de hacer esto de hecho podría estar mostrando el div sólo si hubo un error. Así que el código PHP ... Sería
if (isset($error)) {
echo '<div class="show_error">' . $error . '</div>';
}
... y la clase CSS porque sería ...
.show_error {
width: 400px; // error element's width
height: 200px; // error element's height
position: absolute;
top: 50%;
left: 50%;
margin-top: -100px; // minus half the height
margin-left: -200px; // minus half the width
}
Por supuesto, puede favorecer el estilo del div de error como desee , pero estos son necesarios para colocarlo en el centro muerto.
Espero que esto ayude!
no javascript permitido: p, pero crearé el contenedor al final, mostrando $ error, y comenzaré con $ error = "" y si hay un error i ' Simplemente complete el error $ – Samuel
. Consulte mi respuesta actualizada. –
bueno, esto es más o menos lo que tenía, pero no es 'centro muerto', solo se centra en el diviso de posición absoluta que lo envuelve: aunque para su esfuerzo, ¡aprecie eso! – Samuel
Usted debe tratar de usar la propiedad de CSS position:fixed
, en lugar de position:absolute
, por el error div
. position:fixed
posicionará un elemento basado en la ventana del navegador, sin importar dónde cae en el DOM. Si desea que se centre en la ventana, independientemente del tamaño de la ventana, puede hacer que el divisor de posición fija cubra toda la pantalla (left: 0
, right: 0
, etc.). y luego alinee el mensaje de error dentro del texto.
- 1. de cambio de tamaño para adaptarse a los padres div div niño
- 2. Guice con los padres
- 3. de los padres Anulación de evento de clic Elemento secundario
- 4. Mostrar chid div en el mouse de los padres: ¿necesita javascript?
- 5. cómo hacer que los divs para niños siempre encajen dentro de div para padres?
- 6. CSS: Cuadro de texto para llenar los Padres de contenedores
- 7. jQuery padre de uno de los padres
- 8. ¿Los padres hasta() la mejor función para usar? JQuery
- 9. padres vs cercano
- 10. XSL: copia de excluir a los padres
- 11. Anulación de los padres en PHP
- 12. os.execute sin heredar de los padres FDS
- 13. Límite Niño DIV Altura hasta Padres DIV Altura Con Hermano Variable
- 14. ¿Delegación de evento de Javascript, manejando a los padres de los elementos cliqueados?
- 15. Cómo ignorar el estilo css de los padres
- 16. Oculto divs padres en Jquery
- 17. Obligar a los divs secundarios a usar el estilo de los padres
- 18. Uso de los padres para los recursos dibujable
- 19. Los divs HTML pueden salir de la ventana del navegador?
- 20. Obligar al niño a obedecer los bordes curvos de los padres en CSS
- 21. jQuery UI que pueden arrastrarse - limitar elemento interno dentro de los padres cuando el elemento interior es más grande que los padres
- 22. El ancho de div con la posición absoluta depende del ancho de sus padres?
- 23. Compruebe si un elemento es hijo de uno de los padres
- 24. CSS: cómo hacer que los niños se ajusten al ancho de los padres
- 25. Cómo mover el elemento hijo de uno de los padres a otro usando jQuery
- 26. Cómo salir de mootools cada()
- 27. Obtener los padres de un compromiso de fusión en git
- 28. C++ en función de los padres del niño de retorno
- 29. Android - Obtener el alto de la disposición de los padres
- 30. Acceso espacio de nombres de los padres en C++
bueno, la clase debe alinear su div, pero de antemano se desconoce dónde se llamará la clase de error ergo podría llamarse desde un pequeño contenedor alineado abajo a la derecha, así que si simplemente centraría el error div, lo haría aparece centrado - en el pequeño contenedor inferior derecho, pero quiero que esté centrado, respectivamente, en toda la página web - independiente, donde lo llamo así independiente de cualquier envoltorio/contenedor posible – Samuel
Huh ... ¿Hay algún lugar donde podamos ver su código ? Es difícil, al menos para mí, imaginar la situación y pensar en una mejor solución. – jolt
tengo alrededor de 20 archivos, (html/php, no javascript) y están diseñados individualmente y hay una hoja de estilo con clases generales. Si en alguna parte hay un error al obtener contenido de la base de datos, quiero iniciar un mensaje de error simplemente mostrando
en el lugar donde ocurre el error, y quiero que div se muestre sobre todo otro contenido. no sabría qué código mostrar aquí – Samuel