嗷嗷答 - 嗷嗷好的公务员考试网络答题平台

CSS设置块元素水平垂直居中

作者:不烦恼 发布时间:August 24, 2011 分类:开心上网

很简单,但用的时候总是想不起来:

  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>CSS设置块元素水平垂直居中</title>
  4. <style type="text/css">
  5. #cm
  6. {
  7. height:200px;
  8. width:400px;
  9. margin:-100px 0px 0px -200px;
  10. padding:0;
  11. position:absolute;
  12. top: 50%;
  13. left: 50%;
  14. }
  15. </head>
  16. <header>
  17. <hgroup>
  18. </hgroup>
  19. <nav>
  20. </nav>
  21. </header>
  22. <section>
  23. <div id="cm">
  24. <p>CSS设置块元素水平垂直居中</p>
  25. </div>
  26. </section>
  27. <aside>
  28. </aside>
  29. <footer>
  30. </footer>
  31. </body>
  32. </html>

已有 6 条评论 »

  1. iDE@ iDE@

    喔喔,使用了 HTML5的标准格式。

    水平居中,用 margin:0 auto; 应该可以了吧.

    垂直居中,相对值,也不错喔:
    top: 50%;
    left: 50%;

  2. margin:-100px 0px 0px -200px;上 右 下 左,这个像素大小怎么来确定的呢?看不懂。

    1. 蚂蚱 蚂蚱

      哈哈,原来我也一时也迷糊,后来看了下,这个大小就是靠这个块元素大小来设定的。

    2. height:200px; /*高度200*/
      width:400px; /*宽度400*/
      margin:-100px 0px 0px -200px; /*向上偏移100(高度的50%)向左偏移200(宽度的50%)*/

  3. 蚂蚱 蚂蚱

    margin:-100px 0px 0px -200px; 在这里有没有用?后面 top 和 left 定位了。

    1. 有用,而且非常重要
      top 和left可以看成是将块元素左上角定位在了中心
      所以需要用负边距再分别左移和上移块元素宽度和高度的50%

添加新评论 »