Heim  >  Artikel  >  Web-Frontend  >  div布局的疑似无解之局_html/css_WEB-ITnose

div布局的疑似无解之局_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:11:42970Durchsuche

之前在这个帖子里http://topic.csdn.net/u/20120520/15/3a043360-9b82-4727-b891-f3f8fff57af0.html问过一个div界面布局,得到了Internetleyan小妹的大力帮助,十分感激。但是后来发现那个布局还是为float的做法有机可乘,而实际应用中我们常常要应对一些乱七八糟的布局,不见得都会为float做法留下空隙,比如下面这个布局,我就暂时想不到有什么做法可以布局出来


当然这里还是得强调2个条件,
1.就是不要任何table,纯粹用div组合来实现
2.不得不声明的是,不可以用绝对定位
如果用aobsolute,left,top就不用了,内部的div布局需要使用相对定位
margin-left margin-top float之类的
绝对定位实在太缺乏可复用价值了

求教各位大大,看看有没有什么好招。也请Internetleyan小妹再出良策^_^


回复讨论(解决方案)

先分成左中右三部分。然后再逐步排列。
你用百分比还是像素?
下面是一个960像素的布局。
示例 http://jsfiddle.net/qaWrw/show/
代码 http://jsfiddle.net/qaWrw/

谢谢楼上的大力帮助,非常感激的。是我没说清楚,如果拿去切割一下再去布局div确实没问题的。其实我的本意是想问,就是在一个div内部,不切割的,如果单靠float或者其他什么css来完成这个布局
是我没表达清楚。真的很感谢changjay大哥的帮助

我明天画一个无法拆解的div图上来,changjay大哥就会明白我的意思了,真的很感谢你的热情认真回答

ok,坐等题目。

ok,坐等题目。



changjay大哥,就这个图,你看看怎么解 ^_^

只实现了其中的一部分
其他部分可以用相同方法实现


  

  

  

  

 

  

  

  

  

  


 

楼上实现的效果离我要的还是有点距离的吧.......

不过还是很感谢你的帮助^_^

楼上这个布局跟题目好像差别很大啊。

nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">








    

        

            

                

            

            

            

                

                

                    

                    

                    

                    

                        

                    

                    

                

            

        

        

        

        

            

        

    



我觉得应该有好方法 只是 没有时间去想

我觉得应该有好方法 只是 没有时间去想
  


  

  

  

关键是div5写上高度然后让它撑开吗

IE6下貌似有点问题啊         

先分成3大块,在各个大块在分


先 左右中
根据 左右 上下 的嵌套原理
没有不能布的局

另外干嘛要抛弃 table  

呵呵……真的很棒!但是有个地方不太懂:"div.div5{width:100px;height:100px;float:left;}"为什么这里要特别设置.div5的高度值而且不能超过200px;望楼上的懂得的能够帮助我解决这个疑惑!谢谢啦!

一个偷懒的办法,使用jquery插件。
http://masonry.desandro.com/
自动排列DIV。

引用 11 楼  的回复:

我觉得应该有好方法 只是 没有时间去想

  


  

  

  

关键是div5写上高度然后让它撑开吗

IE6下貌似有点问题啊

其实我只是把它拼出来的 没有想太多  所以扩展性 比较低 呵呵 

懂了,前面设置了overflow:visible;

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn