打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Div+Css布局方案选择float、relative+absolute、inline
Div+Css布局方案选择float、relative+absolute、inline-block

提到网页布局,相信Div与Table之争已经基本Game Over了。凡是略懂web标准的设计师都不会再用Table去布局。Div+Css这种方式方便优雅之余在列布局方面却一直不是很简洁,到网上搜索网站布局,大部分都是本文所述的float方法,然而需要注意的是,这并不是唯一的解决方案。下面是我所了解到的分列布局的集中方案(当然不包括Table)。为了简化,我们用同样的html代码只列举css的不同。

Html代码:

<div class="container">
    <div class="left">
        左侧内容
    </div>
    <div class="right">
        右侧内容
    </div>
</div>

1、float方法,这是目前最主流的解决方案,其中float属性是核心,:after伪类代码主要是让父对象的高与子对象的高相等,所以这里不用指定父对象的高。代码示例:

 <style type="text/css">
    .left
    {
        float:left;
        width:100px;
        height:100px;
        background-color:red;
    } 
    .right
    {
        float:right:
        width:300px;
        height:100px;
        background-color:green;
    }
    .container:after
    {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }
    .container
    {
        width:410px;
        zoom: 1;
    }
</style>

2、relative+absolute方法,很多国外的网站使用此方法,因为absolute的对象无法撑开父对象的高,所以要进行设置:

<style type="text/css">
    .left
    {
        position:absolute;
        left:0;
        width:100px;
        height:100px;
        background-color:red;
    } 
    .right
    {
        position:absolute;
        right:0;
        width:300px;
        height:100px;
        background-color:green;
    }
    .container
    {
        width:410px;
        position:relative;
        height:100px;
    }
</style>

3、inline-block方法,终极实现方法,最简洁合理的方法,目前仅Firefox3支持:

<style type="text/css">
    .left
    {
        display:inline-block;
        margin-right:10px;
        width:100px;
        height:100px;
        background-color:red;
    } 
    .right
    {
        display:inline-block;
        width:300px;
        height:100px;
        background-color:green;
    }
    .container
    {
        width:410px;
    }
</style>

这里说明一下,除了第三种没有完全实现之外,另外两种办法都有广泛的应用,当然可以在不同的特定条件下选择不同的方式,第一种设置通用性比较好,适用的范围比较光,缺点是代码啰嗦,并且在有些浏览器中会出现撑破、错位的情况。第二中方式不会错位,但只适用于固定高度的情况。其实,目前来讲这三种方式都无法实现几个子对象等高对齐,这是table的强项。具体运用哪一张方案还要看实际的情况,并且配合JS代码,基本都可以达到要求。最后贴一下运行效果(三种方式是一致的)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
CSS教程:实例讲解定位Position
对CSS中的Position、Float属性的一些深入探讨
十步图解CSS的position
深究CSS定位position的常用技法
css菜鸡的自我救赎
position:relative与position:absolute 区别
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服