13.2 单列布局


这显然是最筒单的一种布局形式。通过这个例子,希望读者能够顺便复习前面圆角框的制作方法。实现的效果如图1所示。本案例文件位于网页学习网CSS教程资源中“第13章\1-1-1.htm”。


图1 单列固定宽度的页面布局

一、放置第一个圆角框

先在页面中放置第一个圆角框,HTML代码如下。lodidance.com

折叠展开XML/HTML 代码复制内容到剪贴板

  1. <body>
  2. <div id="header">
  3. <div class="rounded">
  4. <h2>Page Header</h2>
  5. <div class="main">
  6. <p>
  7. 这是一行文本,这里作为样例,显示在布局框中。<br/>
  8. 这是一行文本,这里作为样例,显示在布局框中。 </p>
  9. </div>
  10. <div class="footer">
  11. <p>
  12. 查看详细信息>>
  13. </p>
  14. </div>
  15. </div>
  16. </div>
  17. </body>

这组<div>……</div>之间的内容是固定结构的,其作用就是实现一个可以变化宽度的圆角框。要修改内容,只需要修改相应的文字内容或者增加其他图片内容即可。

注意:不要修改这组代码的结构。当需要多个圆角框时,直接复制并修改其中相应内容即可。

二、设置圆角框的CSS样式

为了实现圆角框效果,相应的CSS样式代码如下:

折叠展开CSS 代码复制内容到剪贴板

  1. body {
  2. background: #FFF;
  3. font: 13px/1.5 Arial;
  4. margin:0;
  5. padding:0;
  6. }
  7. .rounded {
  8. background: url(images/left-top.gif)   top left no-repeat;
  9. width:100%;
  10. }
  11. .rounded h2 {
  12. background:
  13. url(images/rightright-top.gif)
  14. top rightright no-repeat;
  15. padding:20px 20px 10px;
  16. margin:0;
  17. }
  18. .rounded .main {
  19. background:
  20. url(images/rightright.gif)
  21. top rightright repeat-y;
  22. padding:10px 20px;
  23. margin:-2em 0 0 0;
  24. }
  25. .rounded .footer {
  26. background:
  27. url(images/left-bottombottom.gif)
  28. bottombottom left no-repeat;
  29. }
  30. .rounded .footer p {
  31. color:#888;
  32. text-align:rightright;
  33. background:url(images/rightright-bottombottom.gif) bottombottom rightright no-repeat;
  34. display:block;
  35. padding:10px 20px 20px;
  36. margin:-2em 0 0 0;
  37. font:0/0;
  38. }

上面代码中的第一段是对整个页面的样式定义,例如文字大小等,其后的5段以.rounded开头的CSS样式都是为实现圆角框进行的设置。

注意:背景图片的路径不要弄错,否则将无法显示背景图片。

以上CSS代码在后面的制作中,都不需要调整,直接放置在<style></style>之间即可。此时网页的效果目前这个圆角框还没有设置宽度,因此它会自动伸展。

现在来给它设置固定的宽度。注意这个宽度不要设置在“.round”相关的CSS样式中,因为该样式会被页面中的各个部分公用,如果设置了固定宽度,其他部分就不能正确显示了。

因此,应该为该圆角框单独设置一个id,把针对它的CSS样式放到这个id的样式定义部分。设置margin实现在页面中居中,并用width属性确定固定宽度,代码如下:

折叠展开CSS 代码复制内容到剪贴板

  1. #header,#pagefooter,#content{
  2. margin:0 auto;
  3. width:760px;}

然后,在HTML部分的<div class="rounded">……</div>的外面套一个div,代码如下:

折叠展开XML/HTML 代码复制内容到剪贴板

  1. <div id="header">
  2. <div class="rounded">
  3. ……
  4. </div>
  5. </div>

这时,在Firefox中的效果如图1所示,正确地实现了期望的效果。

但是在IE 6中的效果可以看到背景图像发生错误,这是由于IE 6本身的错误造成的,在IE 7中已经修正了这个错误。为了使背景图像在IE 6中也能正确显示,需要对圆角框设置增加对宽度的设置。实际上如果不设置为100%,也应该按照100%显示,但是人为设置lOO%后,会强制IE 6重新计算相关数值,从而正确显示背景图片。

折叠展开CSS 代码复制内容到剪贴板

  1. .rounded {
  2. background: url(images/left-top.gif)   top left no-repeat;
  3. width:100%;
  4. }

修改后,在IE 6中的效果如图1所示。这是本章中最后一次修改关于“.rounded”部分的样式代码,以后就不会在涉及它的代码了,我们将把精力集中在如何制作出各种各样的完整页面布局上。

三、放置其他圆角框

接下来,将放置的圆角框再复制出两个,并分别设置id为“content”和“footer”,分别代表“内容”和“页脚”。相关代码如下:

折叠展开XML/HTML 代码复制内容到剪贴板

  1. <body>
  2. <div id="header">
  3. <div class="rounded">
  4. <h2>Page Header</h2>
  5. <div class="main">
  6. <p>
  7. 这是一行文本,这里作为样例,显示在布局框中。<br/>
  8. 这是一行文本,这里作为样例,显示在布局框中。 </p>
  9. </div>
  10. <div class="footer">
  11. <p>
  12. 查看详细信息>>
  13. </p>
  14. </div>
  15. </div>
  16. </div>
  17. <div id="content">
  18. <div class="rounded">
  19. <h2>Page Content</h2>
  20. <div class="main">
  21. <p>
  22. 这是一行文本,这里作为样例,显示在布局框中。<br />
  23. 这是一行文本,这里作为样例,显示在布局框中。
  24. </p>
  25. <p>
  26. 这是一行文本,这里作为样例,显示在布局框中。<br />
  27. 这是一行文本,这里作为样例,显示在布局框中。
  28. </p>
  29. </div>
  30. <div class="footer">
  31. <p>
  32. 查看详细信息>>
  33. </p>
  34. </div>
  35. </div>
  36. </div>
  37. <div id="pagefooter">
  38. <div class="rounded">
  39. <h2>Page Footer</h2>
  40. <div class="main">
  41. <p>
  42. 这是一行文本,这里作为样例,显示在布局框中。
  43. </p>
  44. </div>
  45. <div class="footer">
  46. <p>
  47. 查看详细信息>>
  48. </p>
  49. </div>
  50. </div>
  51. </div>
  52. </body>

本章以后的代码都采用这种省略的写法,以省略号代替重复部分。如果读者阅读到这里,不理解省略了哪些代码.请务必复习前面章节的内容,以保证能够顺利地继续学习。lodidance.com

每一个部分中的内容可以随意修改,例如更改每一个部分的标题,以及相应的内容,也可以把段落文字彻底删掉。

从CSS代码中可以看到,3个div的宽度都设置为固定值760像素,并且通过设置margin的值来实现居中放置,即左右margin都设置为auto,就像左右两边各有一个弹簧一样,把内容挤在页面中央。

此外还需要注意,在每个圆角框的下部都有一行文字,即图中用灰色文字写作“查看详细信息”,这段文字是不能直接删除的,因为它承担着放置背景图像的任务。如果不希望看到这行文字,可以把这几个字删除,但是<p>和</p>这对标记不能删除。

然而即使删除了这几个字,只要保留了p标记,就会有一定的高度,这样会使每个部分的下部留有较大的一段空白。如果要减小这段空白,可以用CSS将这个p标记的文字高度和行高设置为0。

至此,最简单的一种布局就完成了。

如果希望3个div都紧靠页面的左侧或者右侧,又该怎么办呢?方法很简单,只需要修改3个div的margin值即可,具体的步骤如下。

如果要使它们紧贴浏览器窗口左侧,可以将margin设置为“0 auto 0 0”,即只保留右侧的一根“弹簧”,就会把内容挤到最左边了;反之,如果要使它们紧贴浏览器窗口右侧,可以将margin设置为“0 0 0 auto”,即只保留左侧的一根“弹簧”,就会把内容挤到最右边了。

点击下载第8~17章CSS教程资源 返回《CSS教程布局之道》教程列表

编辑:网页学习网
本文地址:http://www.lodidance.com/css/jc/941.html

13.2 单列布局

时间: 2024-11-05 15:59:13

13.2 单列布局的相关文章

单列布局

<!DOCTYPE html><html><head> <title>单列布局</title> <style type="text/css"> body{ margin: 0;padding: 0; } .header{ height: 100px; width:800px;background: blue; } .main{ width: 800px;height: 300px;background: #ccc;

第13章、布局Layouts之RelativeLayout相对布局(从零開始学Android)

RelativeLayout相对布局 RelativeLayout是一种相对布局,控件的位置是依照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最经常使用,也是最灵活的一种布局. 我们以下通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.创建一个空白Activity 2.打开"res/layout/activity_main.xml"文件,改动成下面代码. (1)第①部分 <?xml version="1.0"

单列布局2

<!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-Typ

13聊天界面布局的完成

最终实现的效果: 先看上面的怎么实现: 分为三个部分,一是返回的按钮,二是中间聊天的用户名或者聊天的群名,三是删除按钮或者群详情的按钮. 整体使用相对布局. <RelativeLayout android:id="@+id/top_bar" android:layout_width="match_parent" android:layout_height="@dimen/height_top_bar" android:background=

Html和CSS布局技巧

单列布局水平居中 水平居中的页面布局中最为常见的一种布局形式,多出现于标题,以及内容区域的组织形式,下面介绍四种实现水平居中的方法(注:下面各个实例中实现的是child元素的对齐操作,child元素的父容器是parent元素) 作者: GD_SeHun 链接:http://www.imooc.com/article/2235来源:慕课网 使用inline-block和text-align:center来实现: .parent{text-align: center;} .child{display

Html与CSS布局技巧

一.单列布局 1.水平居中:(注:下面各个实例中实现的是child元素的对齐操作,child元素的父容器是parend元素) 1-1:使用inline-block和text-align实现: .parent{text-align: center;} .child{display:inline-block;} 优点:兼容性好: 不足:需要同时设置父元素和子元素: 1-2:使用margin:0 auto来实现 .child{width:200px;margin: 0 auto;} 优点:兼容性好;

CSS布局技巧大全

参考资料:http://www.imooc.com/article/2235 单列布局 水平居中 父元素text-align:center;子元素:inline-block; 优点:兼容性好: 不足:需要同时设置子元素和父元素 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport"

网页整体布局完全剖析—剖完你不进来看一下么?

作为前端小白,最基本的就是写网页了(虽然前端现在基本上可包揽全宇宙的事了),排网页更是基本生存技能了.本文总结了几乎所有的网页总体布局.               一.单列布局 1.单列固宽 思路:设置div的左右margin为auto <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>1-1-1 布局固定宽度</title> <st

CSS对 网页进行布局

一.单列布局:  margin:0 auto:将div模块居中 二.两列布局:(float标签将div进行浮动)   float:left; float:right; 三.三列布局:  ①.利用float直接对三个div模块进行浮动: ②.左右两边div固定,中间自适应(利用position:absolute;上 右 下 左)绝对定位来进行固定       左边:position:absolute;left:0:top: 0; 右边:position:absolute;right:0:top: