Jump to content
NaDa

Classe generica para centrar - Jquery

Recommended Posts

NaDa

Boas,

Queria fazer uma função, com jquery, que centra-se qualquer elemento numa determinada div..

//inicio
//funçoes
jQuery.fn.center = function() {

	var pai = this.parent(); // div onde centrar
	var elemento = this.get(0).tagName;

	alert(elemento.width()); //teste
	alert(pai.width()); //teste

	this.css({
		"left": ((($(pai).width()- elemento.width()) / 2)+"px")
	});

	return this;
};

//chamar funçoes
$(".center").center(); //classe center
//fim

Comecei pelas imagens:

<img class="img center" src="...."/>

A ideia era ter a classe própria e depois caso seja para centrar a class 'center'.

Isto na teoria funcionava bem, o problema é que assume-se que o element nao tem width :S

Alguma forma de contornar isto, de forma a que fique genérico e simples?

Edited by NaDa

Share this post


Link to post
Share on other sites
HappyHippyHippo

sim ... usa css:

.center { text-align: center; }

<div class="center"></div>

se mesmo assim necessitas de javascript:

$('#my_div_id').addClass('center');

Edited by Rui Carlos

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
NaDa

Sim... usaria, se desse.

Penso, assim espero xD, que não seja só comigo, mas após uns divs dentro de divs o margin: 0 auto; e text-align:center; deixam de funcionar, dai pensei em fazer uma classe usando javascript que me permiti-se centrar qualquer elemento, seja ele texto ou img etc..

Share this post


Link to post
Share on other sites
brunoais

Se tens um elemento com display block usa:

margin: 0 auto;

Se tens um elemento com display inline-block ou display inline usa:

text-align: center;

Isso funciona sempre. Ainda não encontrei uma situação em que não funciona.

Claro que isto centra em relação ao parentNode, não necessáriamente ao ecrâ.

Edited by brunoais
  • Vote 1

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.