2011-09-06 2 views
-2

J'ai un div avec du texte à l'intérieur et une position absolue. Je peux définir la gauche ou la droite, mais y a-t-il un moyen de définir le centre, de sorte que le texte de Div se développe dans les deux directions. Jusqu'à présent, je ne pouvais penser à créer longtemps div et centrer le texte à l'intérieur.Centrer une étiquette

+0

Voulez-vous centrer le texte à l'intérieur de la div div ou center sur la page? –

+0

et où l'étiquette apparaît-elle dans votre histoire? –

+0

Je veux définir la position de la div par les coordonnées de son centre sans connaître sa largeur réelle! – Alena

Répondre

2

Si votre div est positionné de manière absolue, vous pouvez simplement définir sa propriété left afin qu'elle soit centrée.

Exemple:

HTML:

<div class="outer"> 
    <div class="inner">Some text...</div> 
</div> 

CSS:

.outer { 
    position: relative; 
    width: 900px; 
} 
.inner { 
    position: absolute; 
    width: 500px; 
    top: 0; 
    left: 200px; 
} 

Si vous ne connaissez pas la largeur de l'élément interne, vous Je dois compter sur javascript.

Voici un exemple en utilisant jQuery:

var $el = $('.inner'); 

$el.css('left', 
    ($el.parent().width() - $el.width())/2 
); 

et voici le violon: http://jsfiddle.net/aa93G/. Jouez avec le texte à l'intérieur .inner, et vous verrez que le texte reste centré.

+0

@downvoter: Quel est le problème avec cette solution? –

+0

Eh bien, vous voyez que j'ai les coordonnées du centre de div, pas de coordonnées de sa bordure gauche et la largeur du texte n'est pas connue. – Alena

+0

@Alena: Je ne suis pas sûr de vous suivre ici. Pouvez-vous créer un cas de test sur http://jsFiddle.com? –

0
  • Pour centraliser le texte interne et les éléments en ligne, utilisez text-align: center dans l'élément parent.
  • Si vous traitez des éléments de bloc, vous devez utiliser margin: auto dans l'élément lui-même. mais vous devez d'abord définir une largeur pour l'élément, sinon il occupera toute la largeur du parent.
+0

Il a "position: absolute", donc fondamentalement il n'a pas d'élément parent. Et je ne connais pas la largeur réelle (texte de la div). – Alena