3列、2列自适应布局,中部内容优先显示3列布局等方法

1. 固定宽度,中部DIV内容优先显示布局

说明:这种布局一般常见与社交网站,例如QQ空间,朋友网等等,特点是把中部信息的内容放在前面显示,左侧菜单内容最后显示。
实现方法:重点在于使用了margin-left:-960px;这样样式,如果能深入了解一下margin的负值和浮动原理就可以很好的理解此方法了。
下面是demo:

<!DOCTYPE>
<html>
<head>
    <meta charset="utf-8">
    <title>中间内容优先显示的3列布局</title>
    <style type="text/css">
    .warp{width: 960px;margin: 0px auto;}
    .main{float: left;width: 100%;}
    #dyleft {width: 200px;float: left;margin-left: -960px;background: #ccc;}
    #dycenter {margin: 0 210px;background: #ccc;}
    #dyright {float: right;width: 200px; margin-left: -200px; background: #ccc;}
</style>
</head>
<body>
    <div class="warp">
        <div class="main">
            <div id="dycenter">
                中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示中间内容优先显示
            </div>
        </div>
        <div id="dyright">
            右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px右栏固定宽度为200px
        </div>
        <div id="dyleft">
            左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px左栏固定宽度为200px
        </div>
    </div>
</body>
</html>

2. 高度自适应的三列布局

说明:之前很多人都在问的一个布局方法,在表格布局时代80%的网站都使用这样的布局,不过现在很少见了,刚刚由表格时代过渡到div时代的时候很多人都在纠结这个问题,当然实现的方法也很多,下面我这里的方法是总结过最好的了。
实现方法:主要用到了margin-bottom:-2000px和padding-bottom:2000px这2个样式,话说maring的负值还是很有意思的,值得深入了解一下。
下面是demo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DIV三列高度自适应-BY刘晓帆</title>
<style type="text/css">
*{padding:0;margin:0;}.main .box{float:left;width:300px;background-color:#FFF;margin-top:8px;margin-bottom:-2000px;margin-left:8px;display:inline;border:1px solid #999;padding-right:8px;padding-left:8px;padding-bottom:2000px;padding-top:8px;}.main{background-color:#CCC;overflow:hidden;width:986px;margin-right:auto;margin-left:auto;position:relative;}.main_bottom{background-color:#CCC;height:8px;width:986px;margin-right:auto;margin-left:auto;overflow:hidden;}.main .box .bottom_line{background-color:#999;height:1px;position:absolute;width:318px;bottom:0px;_bottom:-1px;left:8px;display:inline;overflow:hidden;}.main .box .bottom_line2{background-color:#999;height:1px;position:absolute;width:318px;bottom:0px;_bottom:-1px;left:334px;display:inline;overflow:hidden;}.main .box .bottom_line3{background-color:#999;height:1px;position:absolute;width:318px;bottom:0px;_bottom:-1px;left:660px;display:inline;overflow:hidden;}</style>
</head>
<body>
<div class="main">
  <div class="box">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <p>5</p>
    <p>6</p>
    <p>7</p>
    <div class="bottom_line"></div>
  </div>
  <div class="box">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <div class="bottom_line2"></div>
  </div>
  <div class="box">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>5</p>
    <p>6</p>
    <p>7</p>
    <div class="bottom_line3"></div>
  </div>
</div>
<div class="main_bottom"></div>
</body>
</html>

3. 中间宽度自适应3列布局

说明:典型的亚马逊网站的布局,中间内容是自适应的,左右为固定宽度。
实现方法:分2步,先固定左列,然后在右列里面在做文章,有浮动的div放在前面,左浮动的div不加浮动会自动上去,然后在设置右边距,此方法还可以延伸2列左栏自适应布局。
下面是demo:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>中间宽度自适应3列布局</title>
<style type="text/css">
*{padding: 0;margin:0;font-size: 12px;}
.warp{margin-left: 220px;}
.left{float: left;width:204px;border:solid 3px #F59494;}
.mid{margin-right: 276px;border:solid 3px #F59494;}
.right{float: right;width: 260px;border:solid 3px #F59494;}
</style>
</head>
<body>
<div class="wbox">
  <div class="left"><a href="#">左侧</a>左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧左侧</div>
  <div class="warp">
    <div class="box">
      <div class="right">右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧右侧</div>
      <div class="mid">中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间中间</div>
    </div>
  </div>
</div>
</body>
</html>

From:http://liuxiaofan.com/2013/02/20/1269.html

时间: 2024-10-11 15:55:37

3列、2列自适应布局,中部内容优先显示3列布局等方法的相关文章

[转]使用CSS3 Grid布局实现内容优先

使用CSS3 Grid布局实现内容优先 http://www.w3cplus.com/css3/css3-grid-layout-module.html 本文由大漠根据Rachel Andrew的<Giving Content Priority with CSS3 Grid Layout>所译,整个译文带有我们自己的理解与思想,如果译得不好或不对之处还请同行朋友指点.如需转载此译文,需注明英文出处:http://24ways.org/2012/css3-grid-layout,以及作者相关信息

如何通过css控制内容显示顺序 第二行的内容优先显示

我们有时进行网页设计时为了想让用户感兴趣的内容优先显示在前,又不想改动代码的先后顺序,要怎么操作呢?(或者换种说法:源代码中要先看到A再看到B,而视觉上是先B再A)举个简单的例子,想让第二行的内容在不改动代码的情况在视觉上显示在第一行.如图,左图是正常显示,想让它们对换一下顺序,像右图一样展示出来.   我们可以通过div+css的形式来定义 css中position的absolute(绝对)和relative(相对)两个参数,我们将上面右图的css作如下定义: .bock1 { width:3

如何在GridControl中显示图片列?控件DevExpress.XtraGrid.GridControl中显示图片列。

GridControl一列的ColumnEdit属性中选择PictureEdit,一个RepositoryItemPictureEdit添加完成.列的FieldName设置为Image列名,如img. GridControl绑定的数据,不管是DataTable.List或者其他源,添加一个列,列名为img. 以DataTable为例: Image xx=Image.FromFile("xxx"),yy=Image.FromFile("yyy"); dt.Column

解决CSS3多列样式column-width布局时内容被截断、错乱

一.问题 使用CSS3的column-width: auto | <length>属性时,出现排列的内容被截断,出现错位的现象. 二.原因 需要为图片容器设置高度,不然会崩掉. 三.解决方法 给需要分列的容器加上height:100%;overflow: auto;. 解决CSS3多列样式column-width布局时内容被截断.错乱

二列div宽度自适应

二列div宽度自适应:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在之前的教程已经介绍了一列div宽度自适应.实现自适应效果的主要手段就是设置对象的width属性值为百分数.代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com

获取table表格指定列的所有单元格的内容

获取table表格指定列的所有单元格的内容:本章节介绍一下如何获取表格指定列的所有单元格的内容,这可能在一些应用或者说扩展应用中会需要.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <titl

分列:将excel单元格的内容拆分为两列

提要:处理excel数据时有时需要把单元格的内容拆分为两列,可能方便外部软件的链接,可能使数据显示更明晰等等,有人说直接剪切加粘贴不就可以了吗,但是有时数据过多,这样处理很不效率,网上搜索的方法说插入某某函数可以实现,但是可能显得比较复杂,其实excel软件本身就带有"分列"的功能. 举例:如EXCEL中有一列的内容如下(其构成方法:型号+中文名称):φ1080×φ910×16花布φ1280×φ1100×20橡胶拍φ300×20红布耐温胶拍φ320×20绿布 ...(假如后面还有) 现

内容生成+计数器+多列

一.伪类内容生成 1. 通过 css 向已有的元素上增加新的文本(图片)内容 选择器:    1.:before     向匹配元素之前增加生成的内容     定位到匹配元素开始的位置    2.:after     向匹配元素之后增加生成的内容 eg: div:before{}     p:after{}    属性: 1.content    作用:配合 :before , :after伪元素插入生成的内容div:before{    content:"生成的内容:";     }

自适应XAML布局经验总结 (四)区域布局设计模式

本系列对实际项目中的XAML布局场景进行总结,给出了较优化的自适应布局解决方案,希望对大家有所帮助. 下面介绍区域布局设计模式. 7. 头尾模式 页面有时分为顶部栏,中间内容和底部栏三部分.这时可以使用Grid布局,分为3行,设置为Auto,*和Auto,分别放置顶部栏,中间内容和底部栏.顶部栏和底部栏由其中内容决定高度,中间内容充满剩余空间. <Window x:Class="BlendDemo.DP7" xmlns="http://schemas.microsoft