• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > css网站布局实录学习笔记第三部分网页布局与定位

css网站布局实录学习笔记第三部分网页布局与定位

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含css网站布局,网页布局等相关知识,佚名 希望在学习及工作中可以帮助到您

第三章 CSS网页布局与定位

3.1 div

几乎XHTML中的任何标签都可以用于浮动与定位,而div首当其冲。对于其他标签而言,往往有它自身存在的目的,而div元素存在的目的就是为了浮动与定位。

3.1.1 div是什么

div是XHTML中制定的、专门用于布局设计的容器对象。在传统表格式布局中,之所以能够进行页面的排版布局设计,完全依赖于表格对象table。如今,接触另一种布局方式——CSS布局。div正是这种布局方式的核心对象。仅从div的使用上说,做一个简单的布局只需要依赖两样东西:div与CSS。因此有人称CSS布局为div+css布局。

3.1.2 如何使用div

只需要应用<div></div>标签,将内容放置其中,便可以应用div标签。但是,div标签之声一个标识,作用是把内容标识成一个块区域,并不负责其他事情。

div标签中除了直接放入文本外,也可以放入其他标签,还可以多个div进行嵌套使用,最终目的是合理地标识出内容区域。

在使用div标签时,可以加入一些属性,比如id、class、align、style等。在CSS布局方法,为了实现内容与表现的分离,不应当将align、style两个属性编写在XHTML页面的div标签中,因此,最终的div代码只能拥有以下两种形式:

3.1.3 理解div

在一个没有任何CSS应用的页面中,即使应用了div,也没有任何实际效果。那又如何理解div在布局上的重大潜能呢?尝试编写两个div,用于左分栏与右分栏,代码如下:

此时浏览器能够看到的仅仅是上下两行文字,并没有看出div的任何特征。

要记住一点,div是一个block对象——块对象(或者块级元素)。XHTML中的所有对象,几乎都默认为两种对象类型:

block块状对象:块对象指的是当前对象显示为一个方块。默认显示状态下,它将占据整行,其他的对象只能在下一行显示。
in-line行间对象(或者称内联元素):与block对象相反,它允许下一个对象与之共享一行进行显示。
块状div说明,它在页面中并非用于类似于文本那样的行间排版,而是用于大面积,大区域的块状排版。

从页面效果发现,网页中除了文字之外,没有任何其他效果。两个div之间的关系只是前后关系,并没有出现类似于表格的田字型,因此,div本身与样式没有任何关系。样式是需要编写CSS来实现的。

在CSS布局中,所要做的工作可以简单归集为两件事:一是使用div将内容标记出来,二是为了这个div编写所需的CSS样式。

3.1.4 并列与嵌套div结构

div可以多层进行嵌套使用,嵌套的目的是为了实现更为复杂的页面排版。比如:

上述代码中,为每个div定义了一个id名以供识别。可以看到id名为header、center和footer的3个div对象,它们之间属于并列关系,在网页布局结构中以垂直方向布局而至上而下。

在center中,为了内容的需要,又使用了一个左右分栏的布局,这两个div本身是并列关系,而它们都处于center之中,因此它们与center形成了一种嵌套关系。

注:在适当情况下,应当尽可能少地使用嵌套,以保证浏览器不用过分消耗资源来对嵌套关系进行解析,简单的嵌套结构更有利于对版式的理解与控制。

3.1.5 使用合适对象来布局

Web标准推荐使用尽可能符合页面中元素意义的标签来标识元素。在CSS布局中,要求尽可能多地使用XHTML所支持的各种标签,最终网页对象都将拥有良好的可读性。再通过进一步的CSS定义,其样式表现能力丝毫不比表格差,而且拥有比表格更多的样式控制方法,这正体现了CSS布局的基本优势。

XHTML标签与功能简述:






上述列举了全部的XHTML标签对象,但并非所有对象都会经常使用到。

3.2 一列固定宽度

使用div设置一个带有header、center和footer三个并列的布局,这3个div的基本表现形式正是:一列式布局。

一列式布局是所有布局的基础,也是最简单的布局形式。一列式布局是一种固定宽度的布局样式。

注:默认状态下,即在未设定div宽度的情况下,div将占据整行空间。

3.3 一列宽度自适应

自适应布局是一种非常灵活的布局形式,它能够根据浏览器窗口的大小,自动改变其宽度或高度值。

实际上,默认状态下的div将占据整行空间,即是宽度为100%的自适应布局。一列适应布局需要改变这个设置,将宽度由固定值改为百分比值的形式便可以完成。

 一列固定宽度居中

页面整体居中是网页设计中常见的形式。在传统表格式布局中,使用表格的align="center"属性来实现表格居中,再在其单元格中装内容,实现整个页面居中。

而div本身也支持align="center"属性,同样可以让div呈现居中状态。但是,CSS布局是为了实现表现与内容的分离,align对齐属性是一种样式代码,书写在XHTML的div属性中,有违于分离原则,因此应当使用CSS的方法来实现内容居中。居中的CSS样式:margin: 0px auto;

除了直接使用数值外,margin还支持一个值叫auto的属性值,auto值是让浏览器自动判断边距。在这里,给当前的div左右边距设置为auto,浏览器就会将div的左右边距设为相同,从而呈现出居中的状态。

注:margin属性用于控制对象的上、右、下、左(顺时针旋转)4个方向的外边距。当margin使用两个参数时,第一个参数表示上下边距,第二个参数则表示左右边距。

3.4 二列固定宽度

对于二列布局自然需要用到两个div。分别使用两个id为left和right的div。为了实现二列式布局,必须使用另一个属性——float。

float属性是CSS布局中非常重要的一个属性,用于控制对象的浮动布局。float的可选参数分别为:none/left/right。float使用none值时表示对象不浮动,使用left时对象将向左浮动,而使用right时对象将向右浮动。

3.5 二列宽度自适应

与一列自适应宽度布局设置一样,是通过对百分比宽度值进行指派。比如:设置左栏宽度为20%,右栏宽度为70%。为什么没有将右栏设置为80%?

这是因为,在CSS布局中,一个对象的宽度不仅仅由width值来决定。对象的真实宽度是由对象本身的宽(width)、对象的左右外边距(margin)以及左右边框(border),还有内边距(padding)等属性相加而成。

3.6 两列右列宽度自适应

在实际应用中,有时候需要左栏固定宽度,而右栏根据浏览器窗口大小自适应。这只需要设置左栏的宽度值,右栏不设置任何宽度值,并且右栏不浮动即可。

3.7 二列固定宽度居中

对于二列分类居中问题,再使用margin: 0px auto;似乎不能达到效果,这时就需要进行div的嵌套设计来完成。可以使用一个居中的div作为容器,将二列分栏的两个div放置在容器中,从而实现二列居中显示的效果。XHTML代码结构如下: 

CSS代码如下:

3.8 三列浮动中间列宽度自适应

如果希望有一个三列式布局中的左栏要求固定宽度并居左显示,右栏要求固定宽度并居右显示,而中间栏需要在左栏和右栏的中央,并根据左右栏的间距自动适应。这个布局单纯使用float属性与百分比值并不能够实现。因此需要寻找新的思路来解决。

绝对定位

绝对定位是通过position属性来实现的。position的可选参数分别为:static/absolute/relative。

对页面中的每个对象而言,默认的position属性都是static。使用position: absolute;将会变为绝对定位模式。当使用此属性时,可以使用top、right、bottom、left即上右下左4个方向的距离值,以确定对象的具体位置。CSS代码如下:

您可能想查找下面的文章:

  • css网站布局实录学习笔记第三部分网页布局与定位
  • css网站布局实录学习笔记第二部分XHTML与CSS基础
  • css网站布局实录学习笔记第一部分

相关文章

  • 2017-08-06使用z-index:-1 让一个层在所有层的下面当背景
  • 2017-08-06浅谈css margin重叠
  • 2017-08-06text-indent的用法包括块级元素等详细总结
  • 2017-08-06Css样式兼容IE6,IE7,FIREFOX的浏览器的写法示例介绍
  • 2017-08-06进一步理解CSS编程中的块级元素和行内元素
  • 2017-08-06div+css样式表的id和class常用命名规则
  • 2017-08-06ie6、ie7dom 元素重新渲染及zoom的使用
  • 2017-08-06设置一个div层的最小宽度或最小高度
  • 2017-08-06select下拉菜单option文字粗体的实现方法
  • 2017-08-06CSS控制二级菜单动态出现不只有js才能做到

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 纯CSS(无JS)实现的二级弹出菜单效果代码
    • CSS两列布局实现方式总结
    • CSS background全部汇总
    • DIV设置float后父容器无法定位高度的问题解决方法
    • 强制文本在一行内显示,并且后面有省略号效果的实现方法
    • 纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
    • CSS样式表中的position属性详细说明
    • CSS网页布局心得(样式优先级,块级元素,内联元素,display,position,float)
    • CSS中的line-height行高属性的使用技巧小结
    • CSS3中使用RGBA设置透明度的示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有