灵活或流畅的CSS布局

时间:2011-08-28 07:57:08

标签: iphone css html fluid-layout

通常对于大多数基于DIV的布局,我按以下方式编写页面(外部骨架);

<body>
<div class="wrapper">
    <div class="minwidth">
        <div class="layout">
            <div class="container">
                <div class="content">
                                          //Some content....
                </div>
            </div>
        </div>
    </div>
</div>
</body>

以下是我使用的CSS;

html,body{padding:0;margin:0;background:url(../images/bodybg.gif) #ececed left top repeat-x;color:#3b3b3b;font:normal 85% verdana}
.wrapper{width:99.8%;min-width:959px;margin:0 auto}
* html .minwidth{padding-left:959px}
* html .minwidth,* html .layout,* html .container,* html .content{height:1px}
* html .container{margin-left:-959px;position:relative}
.content{padding:0;margin:0 16px}

现在我必须承认,由于我更喜欢​​UI开发(而不是布局设计),我并不完全理解“为什么”这些div实际上是使用的。我的猜测是,其中一些div被用作旧版IE缺少最小宽度支持的HACK。

所以我的问题是;

  
      
  1. 如果上面的布局代码是标准的,请告诉我   跨浏览器兼容性所需(假设某个最小宽度   要求)
  2.   
  3. 你认为只有最小宽度需要这么多的div   支持旧的IE并做最新的IE(如IE8 / 9)已满   支持min-width?
  4.   
  5. 我现在想设计一个流畅的布局,即一个应该工作的布局   无缝地跨越多个平台(桌面/平板电脑,如iPad和   某种程度的移动设备)
  6.   
  7. 请建议任何其他骨骼结构,以确保液体   根据屏幕分辨率调整好的布局   (桌面/片剂等)
  8.   

1 个答案:

答案 0 :(得分:-1)

1

好吧,我从未见过用旧版浏览器实现min-width这种方式。


2

不,这绝对没有必要。

如果您只对min-width感兴趣,那么应该为ie6。

http://www.cssplay.co.uk/boxes/width.html

这是实现min-widthmax-width的方法。

http://cameronmoll.com/archives/000892.html


编辑:

所以为了使这个工作包括ie6你可以像上面这个例子那样工作,除了min-width ..为了最简单的html和css,这将是你要走的路。

唯一的缺点是,如果访问者没有JS ...那么这没有任何作用。 如果一个人足够聪明以禁用JS并且他仍然使用ie6那么我认为那是用户问题..

http://jsfiddle.net/sr7WJ/ - 在第一个宽度值(带有javascript的那个)中有一些额外的东西是至关重要的,我个人相信它比它更多30个......但他们说2个就足够了。 你可能需要为ie6解决这个问题,或者在某些情况下使用条件评论。


3。 / 4。

http://matthewjamestaylor.com/blog/perfect-multi-column-liquid-layouts

http://www.maxdesign.com.au/articles/liquid/