1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

转 DIV CSS网页布局的简单原理

本帖由 langzishenhua2010-03-28 发布。版面名称:前端开发

  1. langzishenhua

    langzishenhua New Member

    注册:
    2010-03-22
    帖子:
    2
    赞:
    0
    DIV CSS网页布局的简单原理
    用CSS 来布局其实很容易,更易于修改。如果你已经习惯用表格布局的话,起先会感觉比较困难,后来习惯了,估计你再也不想用表格布局了。

      你可以把这一页面的各个部分当作独立的版块来看待,无论你选择哪一块。你可以绝对或相对地用彼块取代此块。

      定位

      定位属性position用于定义一个元素是否absolute(绝对),relative(相对),static(静态),或者fixed(固定)。

      static值是元素的默认值,它会按照普通顺序生成,就如它们在HTML的出现一般。

      relative很像static,但可用top、right、bottom和left属性来偏移原始位置。

      absolute使元素从HTML普通流中分离出来,并把它送到一个完全属于自己的定位世界。在这个稍微疯狂的世界,这个绝对的元素可以放置到任何地方,只要设置了top、right、bottom和left的值。

      fixed的行为也很像absolute,但参考于浏览器窗口相对于页面而放置绝对的元素,所以,理论上,当页面滚动的时候,固定元素完全保持在浏览器视区中。为什么说理论上的?不为别的,在Mozilla和Opera中工作得很好,但IE不会。

      用绝对定位布局


    <div id="navigation">
    <ul>
    <li><a href="this.html">This</a></li>
    <li><a href="that.html">That</a></li>
    <li><a href="theOther.html">The Other</a></li>
    </ul>
    </div>
    <div id="content">
    <h1>52css.com</h1>
    <p>Welcome to 52css.com 52css.com.</p>
    <p>(52css.com)</p>
    </div>




      你可以用绝对定位来创建一个传统两列布局,只要在HTML中使用如下

    天龙八部私服面的类似规则:

      并且应用如下的CSS:

      #navigation { position: absolute; top: 0; left: 0; width: 10em; } #content { margin-left: 10em; }

      你将看到,长度为10em的导航条被设置在左边。因为导航是绝对定位的,对页面的其他部分的流动不网页游戏会有任何影响,所以所需要做的只是把内容区域的左边界宽度设置为与导航条宽度一样就可以了。

      实在是太容易了!然而你并不受这个两列方法的限制。用精明的定位,你可以布置你所如你所需的更多的块。比如,你需要增加第三列,你可以为HTML增加“navigation2”块并且应用如下CSS:

      #navigation { position: absolute; top: 0; left: 0; width: 10em; } #navigation2 { position: absolute; top: 0; right: 0; width: 10em; } #content { margin: 0 10em; /* setting top and bottom margin to 0 and right and left margin to 10em */ }

      绝对定位元素的唯一副作用是,因为它们生活自己的世界里,没有办法精确决定它们在哪儿结束。如果你使用上面的例子在一个少导航和传奇归来私服多内容区域,没有什么问题,但是,特别是使用长度和宽度的相对值时,你经常得放弃在下面放置任何事物如脚注的希望。如果你真的要做,与其绝对定位它们,不如浮动它们。

      浮动

      浮动将移动一个元素到同一线上的左边或者右边,而周围也会有内容浮动。

      浮动经常用在定位一个页面内的小型的元素(在本站的原始默认CSS中HTML初级指南和CSS初级指南的“下一页”连接传奇世界私服就是浮动到右边的。同样参阅伪元素中的:first-letter例子),但同样可以用在更大的块中,比如导航列。

      拿下面的HTML例子,你可以应用随后的CSS:

      #navigation { float: left; width: 10em; }

      #navigation2 { float: right; width: 10em; }

      #content { margin: 0 10em; }

      如果你不希望下一个元素环绕浮动对象,你可以使用clear(清除)属性。clear: left将清除左边元素,clear: right将清除右边元素,而clear: both会清除左边和右边。所以,举个例子,你需要一个页面脚注,你可以用id“footer”为HTML增加一个块,然后使用如下的CSS:

      #footer { clear: both; }
      嗯,你已经搞定了。一个脚注会出现在所有列的下边,不管任何一个列有多长。

      注意

      我们已经大体上介绍了地位
    中文网站目录和浮动,着重强调了页面的“大”块,但请记住,这些方法也可以用在这些块内的任何元素。传奇私服综合定位、浮动、边界、补白和边框,你可以再现任何的版式设计,在布局方面,没有CSS完成不了表格所能完成的的事情。

      使用表格布局的唯一理由是你试图适应古老的浏览器。这也是CSS实际上显示其先进的地方──在文件大小上,高易用性的页面只相当基于表格的页面的一小部分。
     
  2. cj2008

    cj2008 New Member

    注册:
    2010-03-12
    帖子:
    4
    赞:
    0
    学习了,可以在自己的站上大掌拳脚了 www.gw21.com
     
  3. yanzikoua

    yanzikoua New Member

    注册:
    2010-05-21
    帖子:
    10
    赞:
    0
    支持下。i know that.
     
  4. nihao6681

    nihao6681 New Member

    注册:
    2010-07-24
    帖子:
    60
    赞:
    0
    很不错啊 学习了
     
  5. 51xunhui

    51xunhui New Member

    注册:
    2010-07-16
    帖子:
    207
    赞:
    0
    嗯,不错哦,了解了
     
  6. hony88

    hony88 New Member

    注册:
    2010-02-03
    帖子:
    68
    赞:
    0
    还是新手,学习一下咯
     
  7. xfcpw

    xfcpw New Member

    注册:
    2009-07-29
    帖子:
    73
    赞:
    0
    合理的布局有利于seo的!
     
  8. kkis

    kkis New Member

    注册:
    2010-07-21
    帖子:
    64
    赞:
    0
    应该是不错的想法的。
     
  9. tysyy11202

    tysyy11202 New Member

    注册:
    2010-08-27
    帖子:
    30
    赞:
    0
    呵呵 很有意思 分享了!
     
  10. ylcherry

    ylcherry New Member

    注册:
    2009-06-09
    帖子:
    288
    赞:
    0
    这个 简单的原理确实是比较重要的了。。。。
     
  11. 枫林抉择

    枫林抉择 New Member

    注册:
    2010-07-27
    帖子:
    27
    赞:
    0
    其实本来也没有那么难!
     
  12. zlx1234

    zlx1234 New Member

    注册:
    2010-09-14
    帖子:
    280
    赞:
    0
    不错啊,学习了。
     
  13. 51xunhui

    51xunhui New Member

    注册:
    2010-07-16
    帖子:
    207
    赞:
    0
    路过,打酱油。。。。。。
     
  14. zlx1234

    zlx1234 New Member

    注册:
    2010-09-14
    帖子:
    280
    赞:
    0
    不错,学习了。
     
  15. liu6393502

    liu6393502 New Member

    注册:
    2010-09-19
    帖子:
    29
    赞:
    0
    相当的不错 值得学习
     
  16. qhdzj87

    qhdzj87 New Member

    注册:
    2010-10-22
    帖子:
    119
    赞:
    0
    正缺这篇文章呢!
     
  17. 9517853

    9517853 New Member

    注册:
    2010-11-02
    帖子:
    19
    赞:
    0
    不错,学习了。
     
  18. 9517853

    9517853 New Member

    注册:
    2010-11-02
    帖子:
    19
    赞:
    0
    不错,学习了。
     
  19. wmhtcdj

    wmhtcdj New Member

    注册:
    2011-04-27
    帖子:
    20
    赞:
    0
    不错的帖子 顶一下....................................................