Jquery 改进代码,使div填充浏览器宽度
我设法创建了这段代码,使Jquery 改进代码,使div填充浏览器宽度,jquery,html,css,Jquery,Html,Css,我设法创建了这段代码,使div.full\u width\u no\u padding完全填充浏览器的宽度。它在桌面浏览器中运行良好,但在iphone、nexus等移动设备中不起作用 还有别的办法吗 js html 满足于此 您应该让此代码在DOM准备就绪后执行,如果不执行此操作,则代码可能会在DOM准备就绪之前执行,并且不会应用更改,因为您的代码在DOM中找不到元素 在jQuery中很容易,只需将代码包装在$(function(){})中块,因此您将获得: $(function() {
div.full\u width\u no\u padding
完全填充浏览器的宽度。它在桌面浏览器中运行良好,但在iphone、nexus等移动设备中不起作用
还有别的办法吗
js
html
满足于此
您应该让此代码在DOM准备就绪后执行,如果不执行此操作,则代码可能会在DOM准备就绪之前执行,并且不会应用更改,因为您的代码在DOM中找不到元素
在jQuery中很容易,只需将代码包装在$(function(){})中代码>块,因此您将获得:
$(function() {
$(".full_width_no_padding").width($(window).width());
var marginLeft = ($(window).width() - $('#region-content').width()) / 2;
$(".full_width_no_padding").css( "margin-left", -marginLeft );
$(window).on('resize', function(){
$(".full_width_no_padding").width($(window).width());
var marginLeft = ($(window).width() - $('#region-content').width()) / 2;
$(".full_width_no_padding").css( "margin-left", -marginLeft);
});
});
有关更多信息,请参阅:我将用非常简单的步骤对此进行解释:
1-删除该Javascript
2-将此添加到css中:
body,html{padding:0;margin:0;}
3-确保它的所有父母都有宽度:100%
通常,您可以假设所有块级元素(默认情况下)都具有宽度:100%
4-利润 您的#region content
@Brewal的style属性缺少一个双引号。谢谢,这是一个输入错误。您是否尝试将手机连接到计算机并对此进行调试?我真的很喜欢用我的Nexus5和谷歌chrome来做这件事。这就像在浏览器中调试一个标签,你可以在手机上看到live中的变化。你能用普通的CSS代替JavaScript吗?我可能遗漏了一些东西,因为这看起来像是重新发明了wheel@AlvaroMontoro如果你的容器以特定的宽度居中,而你没有html,我认为这只能用JS来完成。如果没有JS,它怎么能在桌面浏览器下工作呢?这不是特定于浏览器,而是竞争条件,有时DOM在Javascript执行之前就准备好了,有时还没有。也许他的桌面电脑的浏览器可以足够快地加载DOM。代码是在DOM准备好后执行的,我只是忘记了在我的问题中包含它。我更新了它。@JPashs您问题中的代码与我答案中的代码不同。您的代码不会等到DOM准备就绪,它会在有机会的情况下立即执行此函数,第一个参数是jQuery
变量,并将其分配给函数体中的$
字符。这与我使用的方法不同,这种方法专门用于等待DOM。有关更多信息,请参阅:@rednaw我明白了,对不起。我会尝试一下。在这个问题中,父对象的宽度似乎是一个约束条件,父对象的宽度必须为960px,我不能改变这一点,如果它是100%,那么使用js来实现这一点有什么意义?@JPashs你说“我设法创建了这段代码,使div.full_width_no_padding完全填充浏览器的宽度。”,你要求改进。就在那里。改进并填充浏览器窗口。
$(function() {
$(".full_width_no_padding").width($(window).width());
var marginLeft = ($(window).width() - $('#region-content').width()) / 2;
$(".full_width_no_padding").css( "margin-left", -marginLeft );
$(window).on('resize', function(){
$(".full_width_no_padding").width($(window).width());
var marginLeft = ($(window).width() - $('#region-content').width()) / 2;
$(".full_width_no_padding").css( "margin-left", -marginLeft);
});
});
body,html{padding:0;margin:0;}