2012-08-06 49 views
2
  • 我有两个div
  • 一固定宽度的20像素;
  • 我想第二个div取其父容器的所有可用剩余宽度
  • 我不知道父容器的px中的宽度。我有'%s'

我该如何做到这一点。请帮忙。Resonsive布局两个div一个具有固定长度的连续

+0

只是给第二个div宽度自动 – coolguy 2012-08-06 03:12:22

+0

对于第二个div,如果我给自其无法正常工作,如果我给100%我得到的水平滚动条 – 2012-08-06 03:17:18

+0

尝试'宽度:自动;'并添加margin-sideOfFixedDiv:21px; – 2012-08-06 03:19:21

回答

0

你不需要javascript来做到这一点,也不需要像其他人一样张贴;让这个家伙需要什么样的方式过于复杂:

HTML

<div id='wrapper'> 
    <div id='first'/> 
     &nbsp; 
    </div> 
    <div id='second'/> 
     second 
    </div>  
</div>  

CSS

#first { 
    width: 20px; 
    float: left; 
} 

的非浮动的div将承担页面宽度的其余部分。

http://jsfiddle.net/thundercracker/MpPLr/28/

+0

在小提琴或应用它时你的网页?什么浏览器? – 2012-08-06 06:29:19

+0

你能复制你的代码导致horz滚动js小提琴吗? – 2012-08-06 06:37:51

+0

你的小提琴的作品。当我在小提琴中编写我的代码时,它可以工作。没有水平滚动。但是,在我的FF中,它打破了。我会研究更多。请检查我的更新,直到明天。我一定会更新。 – 2012-08-06 06:50:00

3

制作第二个div的宽度100%auto并通过其边距移除第一个div的宽度。工作示例:http://jsfiddle.net/dAryP/

+0

快速的问题:不是100%的意思是“100%宽度的父母”?...所以它会在显示时间变成100%+ 20px宽度? – 2012-08-06 03:09:56

+0

对于第二格,如果我给汽车它不起作用,如果我给100%,我会得到水平滚动条 – 2012-08-06 03:16:14

+0

你说得对,对不起。尽管如此:将第一个div放在第二个div内。与此同时,我会寻找一种仅限CSS的方法。 – Kwon 2012-08-06 03:21:28

2

试试这个:

HTML:

<div id='wrapper'> 
    <div id='first'/> 
     first 
    </div> 
    <div id='second'/> 
     second 
    </div>  
</div> 

CSS:

#first { 
    width: 20px; 
    height:50px; // height is set for test 
    background-color: red  
} 

#second { 
    height:50px; 
    background-color: blue; 
} 

#wrapper div { 
    float:left 
} 

JS:

$(window).resize(function(){ 
    var r = $('#wrapper').width() - 20; 
    $('#second').width(r) 
}).resize() 

DEMO

+1

代码规则,您不必在4个操作系统,7个浏览器中使用css可视化验证(并修复)您的设计。但我肯定会有兴趣看到一个跨浏览器的css解决方案,如果它存在:) – Ekim 2012-08-06 03:24:30

+0

通过代码建议这样做吗?这是一个正确的方法/答案?...从专家我寻找一些反馈意见*新* – 2012-08-06 03:25:45

+0

@gauravjain这取决于,如果父元素的宽度是固定的,您可以设置固定宽度,这种解决方案适用于每个浏览器,我用作为问题的jQuery有一个标签。 – undefined 2012-08-06 03:32:20

相关问题