初学者简单学习CSS网页布局

2016-02-19 23:42 8 1 收藏

下面图老师小编要跟大家分享初学者简单学习CSS网页布局,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

【 tulaoshi.com - Web开发 】

CSS布局方法

通过上一章的学习,读者了解到了CSS强大的表现控制功能,特别是在布局方面有很大的优势。相对于代码条理混乱、样式杂糅在结构中的表格布局,CSS将带来全新的布局方法,让网页设计师更轻松、更自由。本章通过多个示例展示CSS布局网页的方法,并对CSS的盒模型作详细阐述。相信读者在深入理解盒模型后,布局网页、定位CSS网页元素将更加自如。

上一章学习了Web标准的概念以及XHTML和CSS的基本知识。XHTML主要用div标签进行网页的布局,而控制布局的工具是CSS代码,以使网页符合Web标准。所以很多网页设计师把这种布局方法的网页叫做Div+CSS网页。其实这是不太准确的说法,因为Web标准不太被行外人士所熟识,导致Div+CSS的概念取代了Web标准。Web标准不仅仅指用div标签布局(有时候也用其他标签布局),其含义非常广,需要代码编写良好的结构,有良好的语义以及可读性等。

所以Div+CSS制作的网页不一定符合Web标准,而符合Web标准的网页不一定完全由div标签布局。

 11.1.1  初识div

div标签在Web标准的网页中使用非常频繁,那么,相对于其他HTML继承而来的元素,div有什么特别之处呢?答案可能令读者失望,div标签什么特性也没有,一定要说其特性,不过是一种块状元素。正因为div没有任何特性,所以更容易被CSS代码控制样式。

div标签是双标签,即以div/div的形式存在,其间可以放置任何内容,包括其他的div标签。也就是说,div标签是一个没有任何特性的容器而已。在D:web目录下创建网页文件(XHTML1.0),命名为div.htm,编写div.htm文件代码如代码11.1所示。

 

代码11.1  默认的div标签:div.htm

 

!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=gb2312" /

title初识div标签/title

/head

body

div我是第1个div标签中的内容/div

div我是第2个div标签中的内容/div

div我是第3个div标签中的内容/div

/body

/html

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

在浏览器地址栏输入http://localhost/div.htm,浏览效果如图11.1所示。没有CSS的帮助下,div标签没有任何特别之处,只是无论怎么调整浏览器窗口,每个div标签占据一行。即默认情况下,一行只能容纳一个div标签。为了再次证明一行只能容纳一个div标签,笔者对div通过id选择符加入CSS代码,使div拥有背景色以及宽度,修改div.htm如代码11.2所示。

 

代码11.2  设置背景的div标签:div.htm

 

!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=gb2312" /

title初识div标签/title

style type="text/css"

    #top,#bt{background-color:#eee;

         }

    #mid{background-color:#999;

         width:250px;

         }

    #bt{width:120px;}

/style

/head

body

div id="top"第1个div标签中的内容/div

div id="mid"第2个div标签中的内容/div

div id="bt"第3个div标签中的内容/div

/body

/html

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

在浏览器地址栏输入http://localhost/div.htm,浏览效果如图11.2所示。

    

             图11.1  默认的div标签                      图11.2  设置背景的div标签

通过背景色的设置,可以从图11.2中看到div标签默认占据一行,宽度也为一行的宽度。通过宽度的设置可以发现,并不是因为div的宽度为一行导致无法容纳后面的div标签。无论宽度多小,一行始终只有一个div标签,读者须谨记。

div标签作为网页CSS布局的主力元素,其优势已经非常明显。相对于表格布局,div更加灵活,因为div只是一个没有任何特性的容器,CSS可以非常灵活地对其进行控制,组成网页的每一块区域。在大多数情况下,仅仅通过div标签和CSS的配合即可完成页面的布局,也难怪很多人称Web标准页为Div+CSS网页了。

 11.1.2  XHTML中的块状元素和内联元素

上一节提到了XHTML的布局核心标签是div,并且div属于XHTML中的块级元素。XHTML的标签默认为2种元素。

(1)块状元素。该元素是矩形的,有自己的高度和宽度。默认情况下,在父容器中占据一行,同一行无法容纳其他元素及文本。其他的元素将显示在其下一行,可以看做被块级元素挤下去的。块状元素就是一个矩形容器,边缘非常硬,CSS设置了高度和宽度后,形状无法被改变。

(2)内联元素。和块级元素相反,内联元素没有固定形状,也无法设置宽度和高度。内联元素形状由其内含的内容决定,所以在宽度足够的情况下,一行能容纳多个内联元素。有人说相对于块状元素是一个硬盒子,内联元素就是一个软软的布袋子(形状由内容决定)。

块状元素适合于大块的区域排版,所以常用来布局页面。而内联元素适合于局部元素的样式设置,所以常用于局部的文字样式设置。

 11.1.3  div元素的样式设置

读者要使用div元素进行网页布局,首先须学会使用CSS灵活地设置div元素的样式。本节就几个常用的示例学习div元素的多种样式设置,使读者快速理解div元素。作为单个div元素,width属性用于设置其宽度,height属性设置其高度。由于网页大多数用于计算机显示屏幕作媒介,所以常用像素作为固定尺寸的单位,即px。

 

  注意:在HTML元素中设置样式不需要填写单位,默认为像素。

 

当单位为百分比时,div元素的宽度和高度为自适应状态,即宽度和高度适应浏览器窗口尺寸而变化。在D:web目录下创建网页文件(XHTML1.0),命名为div_2.htm,编写div_2.htm文件代码如代码11.3所示。

 

代码11.3  设置div样式:div_2.htm

 

!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=gb2312" /

title设置div样式/title

style type="text/css"

#fst {

    background-color: #eee;

    border:1px solid #000;

    width:300px;

    height:200px;

}

#sec {

    background-color: #eee;

    border:1px solid #000;

    width:50%;

    height:25%;

}

/style/head

body

div id="fst"这是固定尺寸的宽度和高度/div

hr /

div id="sec"这是自适应尺寸的宽度和高度/div

/body

/html

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

为了更方便看到div的表现,笔者给2个div都设置了浅灰色背景色和黑色边框,在浏览器地址栏输入http://localhost/div_2.htm,浏览效果如图11.3所示。

图11.3  设置div样式

很明显,第1个div宽度和高度固定,形成了一个坚硬的盒子。而第2个div由于设置其宽度为50%,其宽度随着浏览器的宽度变化而变化。但是问题出现了,第2个div的高度虽然设置为25%,按理说其高度应该随着浏览器的高度变化而变化。然而在示例中div高度仅和文本高度相当,好像高度设置没有起作用。

其实设置高度自适应有一个前提,div的高度自适应是相对于父容器的高度,本例中div父容器为body或者html(不同浏览器解析方式不同)。body或者html在本例中没有设置高度,div的高度自适应没有参照物,也就无法生效。

接下来在CSS中设置body和html的高度,就可解决div的高度自适应问题。body和html的高度直接设置为100%即可,不会对页面有任何影响。在div_2.htmd的CSS部分加入如代码11.4所示的代码。

 

代码11.4  设置div样式:div_2.htm

 

html,body{height:100%;}         

为了考虑多种浏览器的兼容性,html和body同时设置100%宽度。在浏览器地址栏输入http://localhost/div_2.htm,浏览效果如图11.4所示。

调整浏览器高度后,第2个div的高度随之变化。各种浏览器对XHTML和CSS的解析方式有差异,在后面将详细讨论解决办法,以解决浏览器的兼容性问题。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

图11.4  设置div标签高度自适应

 11.1.4  布局页面的宽度

由于浏览者的显示分辨率不同,浏览者常见显示分辨率(单位:像素)为800×600、1024×768、1280×1024、1440×960等。所以在布局页面时,要充分考虑页面内容的布局宽度,一旦内容宽度超过显示宽度,页面将出现水平滚动条。

 

  说明:尽量保证网页只有垂直滚动条,才符合浏览者的习惯,所以高度不需要考虑,由页面内容决定网页高度。

 

页面布局宽度一般考虑最小显示分辨率的浏览用户,即过去浏览用户的显示分辨率最小为800×600(15寸CRT显示器),其最小宽度为800像素。浏览器的边框及滚动条部分约占24像素左右,所以布局宽度为分辨率的水平像素减去24像素。所以过去网页布局宽度一般为778像素,再宽就会使页面产生水平滚动条。

由于计算机设备的飞速发展,现在使用800×600显示分辨率的用户很少了,现在页面布局宽度最大不超过1002 ~1003像素(考虑到最小宽度1024像素,即1024×768显示分辨率)。

 11.1.5  布局页面水平居中

为了适应不同浏览用户的分辨率,网页设计师要始终保证页面整体内容在页面居中。使用HTML表格布局页面时,只需要设置布局表格的align属性为center即可。而div居中没有属性可以设置,只能通过CSS控制其位置。

在布局页面前,网页制作者一定要把页面的默认边距清除。为了方便操作,常用的方法是使用通配选择符*,将所有对象的边距清除,即margin属性和padding属性。margin属性代表对象的外边距(上、下、左、右),padding属性代表对象的内边距,也叫填充(上、下、左、右)。

 

  说明:margin属性和padding属性类似于表格单元格的cellspacing属性和cellpadding属性,不过margin属性和padding属性作用于所有块状元素。

 

使div元素水平居中的方法有多种,常用的方法是用CSS设置div的左右边距,即margin-left属性和margin-right属性。当设置div左外边距和右外边距的值为auto,即自动时,左外边距和右外边距将相等,即达到了div水平居中的效果。在D:web目录下创建网页文件(XHTML1.0),命名为div_align.htm,编写div_align.htm文件代码如代码11.5所示。

 

代码11.5  设置div水平居中:div_align.htm

 

!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=gb2312" /

title设置div水平居中/title

style type="text/css"

*{margin:0px;

 padding:0px;

 }

#all{width:75%;

   height:200px;

   background-color:#eee;

   border:1px solid #000;

   margin-left:auto;

   margin-right:auto;

   }

/style

/head

body

   div id="all"布局页面内容/div

/body

/html

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

为了更方便看到div的表现,笔者给div设置了浅灰色背景色和黑色边框,在浏览器地址栏输入http://localhost/div_align.htm,浏览效果如图11.5所示。

是不是很简单?设置外边距的CSS代码可以进一步简化,使用margin属性,编写方法为:

margin:0px auto;

图11.5  设置div水平居中

margin属性值前面的0代表上边距和下边距为0像素,auto代表左边距和右边距为auto,即自动设置。读者注意,0px和auto之间使用空格符号分隔,而不是逗号。还有一种方法是使用html或body的text-align属性,设置其值为center,即所有对象将居中。这样将导致页面文本居中,所以不作推荐,其编写方法为:

html,body{text-align:center;}

来源:https://www.tulaoshi.com/n/20160219/1630460.html

延伸阅读
标签: 电脑应用
       下面是由图老师网小编亲自出手而且制作成功了的,大家可以试试,如果还是不会的话,可以qq联系我们。 本教程是关于3DMax制作茶几的实例教程,教程制作过程相对比较简单,作者通过建模、灯光、渲染几个部分为你介绍茶几的实现过程,感兴趣的3D初学者不妨也动手试试! 生活中你一定...
初学化妆问题 其实,对于初学化妆的人来说,因为缺乏基本的经验,所以可以在别人化妆的时候,自己在一旁观看。在观看的时候,一定要充分发挥大脑的记忆作用,这样在观摩别人化妆几次之后,会在心里留下一个大概的步骤与印象,努力将它们补充全面。 然后,可以先用自己进行实验,千万不要觉得这样做是非常愚蠢的,只要可以...
标签: 化妆
对于刚开始学化妆的妹纸们,如果有个化妆教程一步一步对着画那真是太好了,初学者化妆教程,分享给刚学化妆的妹纸们。 初学者化妆教程 初学者怎么化妆 步骤: 1、首先在上底妆前,还是要进行基础的护肤步骤,护肤之后化妆才不会对皮肤造成大的伤害。在涂好BB爽/粉底霜后,首先在黑眼圈的地方点涂橙色系遮瑕膏,橙色对于黑...
标签: Web开发
原文地址:http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery 最好有javascript以及dom方面的知识,这对于理解其中的代码很有帮助,不了解也不要紧,因为代码本身就很简洁。 这篇指南包括了 hello jquery、基本的selector、event、ajax、FX、以及一些插件。 tips:当你看到这篇文章时最好在第一时间看完,不要放到收藏夹里...
标签: Web开发
本文介绍了几乎所有关于对象的基本概念,什么是对象,如何创建对象,对象的属性的设置和读取,删除属性的方法,构造函数,对象原型,父类,子类,继承等等。 1.对象 * 对象是一种复合数据类型,它们将多个数据值集中在一个单元中,而且运行使用名字来存取这些值。解释对象的另一种方式是,对象是一个无序的属性集合,每个属性都有自己...

经验教程

969

收藏

77
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部