2011-04-04 5 views
0

Je suis en train de créer un design web et il y a un peu les formes étranges, quelque chose comme ceci: enter image description herediv avec des formes arrondies

lorsque le vol stationnaire utilisateur sur 1 section l'arrière-plan doit changer seulement pour elle:

enter image description here

même pour la deuxième et troisième: enter image description here

espoir Je suis clair ...

Je n'ai aucune idée de la technologie que je devrais utiliser pour atteindre cet effet. quelqu'un peut-il aider s'il vous plait?

+0

Je pense que juste divs normales avec des images d'arrière-plan ira bien. Vous ne pouvez pas aborder cela avec css3 –

+0

autant que je sais que vous ne pouvez pas le faire avec du HTML/CSS régulier. Il y a quelques beaux effets dans CSS3 cependant: http://www.css3.info/preview/rounded-border/ – JohnP

+0

je sais que le flash est considéré comme sale ces jours-ci :) – schellmax

Répondre

2

Il y a deux façons:

  1. utiliser SVG pour dessiner les formes, avec une solution de repli pour les personnes âgées versions d'IE.

  2. Utilisez les images d'arrière-plan. sur les divs en forme normale.

3

pourrait utiliser en position absolue PNGs avec le remplacement de l'image sur le vol stationnaire, puis jeter un div rectangulaire à l'intérieur il

0

j'aller avec trois images distinctes, chacune avec l'ensemble arrière-plan et une zone « sélectionnée » - sur un vol stationnaire div il suffit de remplacer l'arrière-plan à celui ayant div que comme « sélectionné ».

exemple rapide pour le code JS:

function ReplaceBg(oDiv, num) { 
    oDiv.parentNode.style.backgroundImage = "url(images/background_" + num + ".png)"; 
} 

function RestoreBg(oDiv) { 
    oDiv.parentNode.style.backgroundImage = "url(images/background.png)"; 
} 

Et le code HTML:

<div style="background-image: url(images/background.png);"> 
    <div onmouseover="ReplaceBg(this, 1);" onmouseout="RestoreBg(this);">First</div> 
    <div onmouseover="ReplaceBg(this, 2);" onmouseout="RestoreBg(this);">Second</div> 
    <div onmouseover="ReplaceBg(this, 3);" onmouseout="RestoreBg(this);">Third</div> 
</div> 

L'espoir, l'idée est assez clair ..

0

Il y a une syntaxe CSS3 boreder-radius et vous pouvez le faire avec, mais vous avez fait le travail ici, je veux dire que vous avez défini les pixels aléatoires et chercher celui qui convient le mieux . Par exemple ici, il est - http://jsfiddle.net/divinemamgai/Ld7He/

OU

Peut-être que vous devriez garder l'image principale de fond en blanc pour les images 1 et 3 et pour l'image 2 utilisation png base background-image et changer sur mouseover en utilisant Jquery et n'oubliez pas de garder le plus haut z-index pour l'image 2.

J'espère que cela vous aide.