8
votes

Possible? - une superposition de div complètement ignorée par les événements de la souris (afin que les événements de la souris n'effacent que le DIV ci-dessous)

J'ai une carte Google dans un iframe et enveloppé dans un div. Au-dessus de cette div, j'en ai un autre, qui sert à créer un effet d'ombre encastré.

Le problème est que cette DIV superposée prendra la priorité des événements de la souris, de sorte qu'il rend la carte Google interactive ci-dessous inutile. Il doit y avoir une manière que je puisse rendre les événements de la souris de la souris superposés, laissant les div des Div les obtenir. (s'il vous plaît, s'il vous plaît!) p>

ou, y a-t-il une autre façon de le faire? p>

Voici le code SORTIE: P>

#pageWrapper {
position: relative;
}

.page_content {
max-height: 462px;
position: relative;
}

#pageShadow {
position: absolute;
top:0;
left: 0;
-moz-opacity: .5;
opacity:.5;
filter: alpha(opacity=50);  
background-color: aqua;
z-index: 300;
min-height:462px;
min-width: 1096px;
}

#pageMap {
position: absolute;
top:0;
left: 0;
z-index: 299;
min-height:462px;
min-width: 1096px;
}

.recTitle {
color: #333;
font-size: 21px;
font-family: 'ProximaNovaLight', 'Helvetica Neue', Helvetica, Arial, sans-serif;
padding-left: 3px;
padding-bottom: 16px;
}

.recTitle:first-child {
padding-top: 10px;
}

.recJob {
padding-left: 3px;
padding-bottom: 30px;
}

#page_description {
position: absolute;
top:462px;
font-family: 'ProximaNovaLight', 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 17px;
float:left;
width:792px;
padding: 15px;
padding-top:20px;
line-height: 22px;
font-weight: normal;
min-height: 345px;
background-color: white;
}

#page_credits {
position: absolute;
top:462px;  
left:822px;
padding: 15px 10px 15px 10px;
float:right;
width:254px;
background-color: #f5f5f5;
min-height: 350px;  
}


0 commentaires

4 Réponses :


0
votes

Peut-être mettre les #pageshadow à l'intérieur de l'élément PageMap?


0 commentaires

3
votes

Il est possible dans Firefox 3.6+ grâce à son support pour la propriété "Pointer-Events", comme expliqué dans cet article chez Mozilla Hacks:

http: // hacks.mozilla.org/2009/12/pointer-events-for-html-in-firefox-3-6/

Il peut exister un soutien dans les navigateurs WebKit, comme mentionné dans cet article chez CSS-Tricks:

http://css-tricks.com/pointer-events-current- NAV /

mais pas dans IE ou Opera.


2 commentaires

Intéressant, je vais regarder ça. Mais je suppose que c'est discutable si IE et Opera ne le soutiennent pas. Suppose que je peux rendre la div invisible sur IE et Opera


Après avoir lu mon commentaire à nouveau, j'aurais dû préciser que le soutien de cette propriété arrive à l'avenir, espérons-le, mais pas largement soutenu maintenant.



0
votes

Faites que les #Pageshadow div seulement aussi gros que l'ombre.

Si je comprends correctement de l'image maquette, l'effet que vous essayez d'atteindre est que l'ombre devrait seulement couvrir la partie supérieure de la carte.

Dans votre code, vous étirez l'ombre Div sur la carte:

#pageshadow {.. min-hauteur: 462px; min-largeur: 1096px; }

Pourquoi ne pas diminuer les valeurs de manière à ne couvrir que la partie supérieure:

#pageshadow {.. Hauteur: 20px; min-largeur: 1096px; }

alors vous aurez l'accès du pointeur à l'iframe.


2 commentaires

Chose est que les contrôles de la carte sont là-bas ... Donc, même si la Div est plus courte, ça obstruira toujours la "carte" "satellite", etc.: - /


Que diriez-vous de repositionner le DIV sous les commandes? Utilisation de la position: relative



0
votes

J'ai fait quelque chose de similaire pour toute ma page: xxx

et dans le HTML insère simplement quatre divs: xxx

Le truc est Cela, dans mon cas, la DIV est en dehors de la page et que l'ombre n'atteint aucun clic.


0 commentaires