语言:jQuery
我在一个页面上有一堆 DIV。每次调整窗口大小时,
我都会尝试更改它们的绝对位置(顶部/左侧属性)(以使它们与视口成比例,同时保持其原始布局)。
- jsFiddle:http: //jsfiddle.net/kjvSc/1/
我成功地改变了我的 DIV 的宽度和高度(但这不是我关心的问题,没关系,因为我将通过媒体查询更改字体 + 宽度和高度),我主要关心的是无法调整这些DIV 的顶部/左侧定位。
我快到了,但不知道如何使这项工作?
用户Chris Barr 玩了一会儿,但没能走得很远:
- Chris Barr的jsFiddle: http: //jsfiddle.net/kjvSc/4/
他所做的是成功并按比例重新定位/更改窗口调整大小时 DIV 的顶部/左侧属性。但是,我注意到 DIV 最初并未加载到其原始位置(如其样式中指定的那样)。
这是我正在使用的 Javascript:
$(document).ready(function() {
// THIS GETS WIDTH OF CONTAINER
var cw = $('#container').width();
// THIS GETS ORIGINAL FONT SIZE
var fontSize = $('.box').css('font-size');
// THIS GETS ORIGINAL ABSOLUTE POSITION OF DIV
var left = $('.box').css('left');
$(".box").width(cw / 5).height(cw / 5);
$('.box').css("font-size", fontSize / 5 + "px");
$('.box').css("left", left / 5 + "px");
$(window).resize(function() {
// THIS GETS WIDTH OF CONTAINER
var cw = $('#container').width();
// THIS GETS ORIGINAL FONT SIZE
var fontSize = $('.box').css('font-size');
// THIS GETS ORIGINAL ABSOLUTE POSITION OF DIV
var left = $('.box').css('left');
$(".box").width(cw / 5).height(cw / 5);
$('.box').css("font-size", fontSize / 5 + "px");
$('.box').css("left", left / 5 + "px");
});
});
您可以在此处查看它的实际效果 - jsFiddle:http: //jsfiddle.net/kjvSc/1/
任何帮助和指导将不胜感激!