首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2个灵活的div调整大小并使用jQuery拆分(1/5)

2个灵活的div调整大小并使用jQuery拆分(1/5)
EN

Stack Overflow用户
提问于 2013-12-04 01:04:03
回答 2查看 190关注 0票数 0

我有一个应用程序,它的设计是:

代码语言:javascript
复制
header (100%)
____________________________
side | contents
bar  |

该设计是灵活的(也就是当调整侧边栏和内容宽度重新调整时)我需要的侧边栏是大约1的5或30%,其余的由“内容”div

我正在使用jQuery,但我被计算卡住了。

代码语言:javascript
复制
layoutWidth = $(window).width();
sidebarWidth = layoutWidth / 5;
contentsWidth = ...so how can I find the remainder of the division?

$('.sidebar').width(sidebarWidth);
$('.contents').width(contentsWidth);
$('.layout-content, .sidebar, .contents').height( layoutHeight );

顺便说一句,这两个div都是浮点数。

已尝试: contentsWidth = layoutWidth - sidebarWidth;

但不起作用。

我不想用CSS来做这件事,因为它在旧的/移动浏览器上并不一致,而且所有的应用代码都是用jQuery编写的。

EN

回答 2

Stack Overflow用户

发布于 2013-12-04 01:15:15

不需要javascript..你可以只用CSS (只有一个浮动元素)就可以做到

代码语言:javascript
复制
.header{width:100%;}
.sidebar{width:30%;float:left}
.content{margin-left:30%;}

http://jsfiddle.net/WFH3z/1/上的演示

票数 0
EN

Stack Overflow用户

发布于 2013-12-04 01:25:29

bootstrap (getbootstrap.com)或jquerymobile的网格系统等框架可以用来实现这一点。如果你使用IE8之前的浏览器,支持开始减弱,但jquerymobile似乎比bootstrap对IE7有更好的支持。有一些技术可以克服它们,在这种情况下,使用CSS将被认为是更纯粹的。

也就是说,一些浏览器可能对边距、边框和宽度有不同的实现,因此您可能无法使用100%的宽度(上面提到的框架在其网格系统中考虑到了这一点)。如果你想修复你的代码,你可以稍微缩减一下宽度(这并不是为所有浏览器量身定做的,也可能不是你想要的),但我更喜欢@Gaby的答案而不是这样:

代码语言:javascript
复制
var layoutWidth = $(window).width();
$('.sidebar').width(layoutWidth * .19);
$('.contents').width(layoutWidth * .79);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20357300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档