2012-05-19 10 views
35

estoy trabajando en un experimento & descubrí que la propiedad CSS2 "esquema" no se aplica de la misma manera en WebKit Gecko &CSS "contorno" comportamiento diferente comportamiento en WebKit y Gecko

En el siguiente script , Tengo una div posición absoluta dentro de otro div pero flotando fuera de él. El esquema en Webkit describe el div principal real mientras está en Gecko, se expande para cubrir el elemento hijo.

http://jsfiddle.net/KrCs4/

Me estoy perdiendo algo? ¿Hay alguna propiedad que deba sobrescribir en Gecko? o debe ser reportado como un error?

Webkit Captura de pantalla:

Webkit Screenshot

Firefox Captura de pantalla:

Firefox Screenshot

EDIT:

Está confirmado que trata de un error y he aquí una solución: http://jsfiddle.net/7Vfee/ (Es necesario asegúrese de que el padre esté posicionado: relativo o absoluto para t su solución para trabajar.

+0

uf ni idea, he intentado un método diferente – ShibinRagh

+0

Firefox Bug : https://bugzilla.mozilla.org/show_bug.cgi?id=687311 – epascarello

Respuesta

17

Este comportamiento inconsistente de Gecko es bien conocido y muy adecuadamente documentado, aunque curiosamente no en MDN pero al SitePoint Reference:

Firefox hasta e incluyendo la versión 3.5 se dibuja el contorno contorno alrededor del contenido de un elemento que ha desbordado sus límites en lugar de las dimensiones del conjunto real del elemento.

Esto sigue afectando a todas las versiones de Firefox. No veo una solución viable para él en este momento, aparte de quitar su div absolutamente posicionado de su padre y colocarlo relativo a ... algo más.

+1

¿Por qué SitePoint tiene más documentación que la especificación oficial de W3C? http://www.w3.org/TR/CSS2/ui.html#dynamic-outlines –

+0

@Xavier Ho: SitePoint se centra en la compatibilidad y el comportamiento del navegador. No es tarea de la especificación definir detalles de implementación. – BoltClock

+0

Es tarea del W3C definir el comportamiento del navegador, independientemente de la implementación. Por lo que puedo decir, el esquema no está muy bien definido cuando se trata de tamaño. –

30

que tenían el mismo problema, así que lo cambió el uso de esquema para utilizar un box-shadow:

box-shadow: 0px 0px 0px 1px #FFF; 

en lugar de

outline:1px #dcdcdc solid; 
+0

Más tarde comento, pero quería agregar que Firefox también dibujará un contorno alrededor de cualquiera: después del contenido agregado en el CSS. Usar la sombra de caja como se indicó anteriormente resolverá el problema. De hecho, la única razón por la que puedo pensar para usar el esquema para cualquier cosa sería el soporte de IE8, aparentemente puede hacer un esquema pero no una sombra de cuadro. – crowhill

+0

@crowhill Otra razón para usar el esquema es porque proporciona una forma de agregar un desplazamiento. –

+3

¡Esto debería marcarse como la respuesta corregida! –

Cuestiones relacionadas