views:

14106

answers:

4

In order to better balance out a page I am working on I would like to find a way to increase the top margin of a DIV depending on the screen resolution. What is my best way to set these dimensions with jQuery or Javascript?

Thanks in advance. Brad

+1  A: 

Check out the jQuery dimensions plugin

Colin
+7  A: 

To get screen resolution in JS use screen object

screen.height;
screen.width;

Based on that values you can calculate your margin to whatever suits you.

RaYell
I'm just learning Javascript; any chance you show me the approach you would take to calculate the height and add a certain margin-top to it? The ID of the div I'm adjusting is "port-cont".
Brad
Well you have a screen height given, you must subtract something for browser menu, status bar etc. It's hard to say how much would that be because it depends of the browser. Then you should experiment with different sizes for your elements until you get the site to look just right. If I may suggest I don't know if JS is what you are looking for. You could just set height in CSS stylsheet to some percent value that will always be set right without reading screen resolution in JS.
RaYell
+4  A: 

Here is an example on how to center an object vertically with jQuery:

var div= $('#div_SomeDivYouWantToAdjust');
div.css("top", ($(window).height() - div.height())/2  + 'px');

But you could easily change that to whatever your needs are.

Bryan Denny
A: 

Another example for vertically and horizontally centered div or any object(s):

 var obj = $("#divID");
 var halfsc = $(window).height()/2;
 var halfh = $(obj).height() / 2; 

 var halfscrn = screen.width/2;
 var halfobj =$(obj).width() / 2; 

 var goRight =  halfscrn - halfobj ;
 var goBottom = halfsc - halfh;

 $(obj).css({marginLeft: goRight }).css({marginTop: goBottom });
izmir_LEE