2010-12-10 55 views
1

J'ai Div élément qui est 1680px de large, comme celui-ci:Centrer un élément Div surdimensionné en utilisant jQuery

|     |

Say, la résolution de toile écran réel/navigateur est 800px large:

+  +

maintenant, comment puis-je la centrent Div (et cacher le reste) en utilisant jQuery pour que le reste du 1680px va caché, comme ceci:

|  +  +  | 
^^^^^  ^^^^^^ 

^ = clipped from the Div. 

En d'autres termes, je veux que la Div soit montrée dans ces deux + gamme et cache le reste. Si la résolution réelle de l'écran est supérieure à 1680px, la Div devrait être centrée normalement sans écrêtage. Je ne suis pas sûr si j'étais capable d'expliquer ce dilemme parfaitement, alors demandez si quelque chose n'est pas clair. Cela a été déjà fou m'a conduit ...

Répondre

4

Utilisez CSS seulement:

http://jsfiddle.net/rQfvs/

La partie clé étant:

#bigdiv { 
    position: relative; 
    width: 1680px; 
    margin-left: -840px; 
    left: 50%; 
} 

Notez que vous ne devez pas nécessairement le container div, non plus. Vous pouvez simplement mettre le bigdiv dans le corps principal. Je mettrais le trop-plein de corps caché aussi bien dans ce cas:

http://jsfiddle.net/rQfvs/3/

+0

Très bon. Je ne pensais pas que ce soit possible avec juste CSS. –

+0

C'est aussi longtemps que vous connaissez la largeur de votre div. –

+0

De ce que je peux voir, il suffit de définir la propriété margin-left à la valeur width/2 ... vous pouvez le faire via JavaScript même si la largeur n'est pas codée en dur dans CSS. Mais ces scénarios devraient être rares. Les mises en page à largeur fixe ont toujours une largeur CSS, il vous suffit donc de placer la propriété margin-left en dessous et de vous assurer qu'elle a la valeur correcte. –