DIV+CSS布局概述、属性(浮动、定位等)、布局类型、常见布局技巧

布局概述

DIV+CSS布局:网页html通过DIV标签+CSS样式表代码开发制作的(html)网页的统称

网页布局

目的:使页面结构清晰、有条理、易读

思想

  • 确定"版心":页面主体内容所在位置 (通常在页面中水平居中)
  • 分析页面中的模块:头部(header)、导航(nav)、焦点图(banner)、内容(content)、页面底部(footer)
  • 控制页面中的模块:通过盒子模型,使用DIV+CSS进行模块的控制

过程

  • 准备好相关网页元素,基本都是盒子box
  • 利用CSS设置好盒子样式,摆放到相应位置
  • 往盒子里装内容

页面元素定位机制

1.流式布局:按照元素的类型和HTML源文件出现的顺序进行定位

  • 块布局(block):从上到下依次排列
  • 水平布局(inline):从左到右一行中布局

文档流(标准流、普通流):浏览器根据元素在html文档中出现的顺序,从左向右,从上到下依次排列

  • 块级元素会独占一行,从上向下顺序排列
    常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table
  • 行内元素会按照顺序,从左到右顺序排列,碰到父元素则自动换行
    常用元素:span、a、i、em等

2.浮动布局(float):当元素浮动时,不再处于普通文档中,不占据空间,但是会缩短行宽,产生文字环绕的效果

典型应用:多个块级元素一行内排列显示

网页布局第一准则多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动

注意:

  • 浮动和标准流的父盒子搭配。 先用标准流的父元素排列上下位置,内部子元素采取浮动排列左右位置
  • 一个元素浮动后,理论上其余兄弟元素也应浮动。 浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流

3.定位布局(position)

组成定位模式+边偏移

定位模式:用于指定一个元素在文档的定位方式

  • 绝对定位(position:absolute):通过页面坐标(页面左上角为初始点)方式来定位元素。使用绝对定位后元素不会占用文档流空间
  • 相对定位(position:relative):将它所在的位置(文档流位置)为初始点,通过设置垂直和水平位置

边偏移:决定了该元素最终位置

注意:

  • 使用相对定位,原来在标准流的位置继续占有。使用绝对定位,不再占有原先位置
  • 如果没有父元素或者父元素没有定位,则以浏览器为准定位(Document文档)
  • 如果父元素有定位,则以最近一级有定位的父元素为参考
  • 父容器使用相对定位。子元素使用绝对定位 页面左上角则不是初始定位而是父容器的左上角
  • 与定位相关的属性left、top、right、bottom只有使用了定位属性(position)后才有效,只能同时使用相邻的两个坐标属性,不能同时使用相对两个属性

子绝父相

  • 子元素使用绝对定位,不占有位置,可以放到父元素任何一个地方,不影响其它兄弟元素
  • 父元素需要加定位限制子元素在父元素显示,因此要使用绝对定位,占有位置

总结:相对定位经常用来作为绝对定位的父级

布局常用属性

浮动属性(float)

  • 指设置了浮动属性的元素会脱离标准文档流的控制,移动到其父元素中指定位置,浮动的盒子不再保留原先的位置
  • 浮动的元素互相贴靠在一起(不会有缝隙),父级宽度装不下浮动盒子则会另起一行对齐
  • 浮动的元素会具有行内块元素的特性。
    行内元素有浮动后,不需要转换块级/行内块元素就可以直接给高度和宽度
    块级盒子没有设置宽度,默认和父级一样宽,添加浮动后,大小根据内容来确定
选择器{
	float:属性值;
}
属性值描述
left向左浮动
right向右浮动
none不浮动(默认值)

清除属性(clear)

由于浮动元素不再占用原文档流中的位置,所以会对页面中其他元素的排版产生影响,如果要避免这种影响,就需要对元素清除浮动。

清除浮动原因: ①父级没高度 ②子盒子浮动 ③影响下面布局,清除浮动
清除浮动策略: 让浮动只在父盒子内部影响,不影响父盒子外的其他盒子

选择器{
	clear:属性值;
}
属性值描述
left清除左浮动影响
right清除右浮动
both同时清除左右两侧浮动影响(常用)

清除浮动方法(4种):

  • 额外标签法:在浮动元素末尾添加空标签(必须为块级元素) 设置clear:both属性
    优:通俗易懂、书写方便 缺:结构化差,无意义标签
  • 父级添加overflow:overflow:hidden、auto或者scroll
    优:代码简洁 缺:无法显示溢出部分
  • :after 伪元素法:给父元素添加
    优:没有增加标签,结构更简单 缺:照顾低版本浏览器
.clearfix:after{
	content:"";
	disply:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clearfix{ /*  IE6、7专有*/
	*zoom:1;
}
  • 双伪元素清除浮动:给父元素添加
    优:代码更简洁 缺:照顾低版本浏览器
clearfix:before,.clearfix:after{
	content:"";
	display:table;
}
.clearfix:after{
	clear:both;
}
.clearfix{
	*zoom:1;
}

定位属性(position)

浮动布局虽然灵活,但是却无法对元素的位置进行精确的控制。在CSS中,通过定位属性可以实现网页中元素的精确定位。

选择器{
	position:属性值;
}
属性值描述
static自动定位(默认)
relative相对定位 相对于元素在文档流中的位置进行定位 会保存
absolute绝对定位 相对于已经定义好的父元素位置进行定位(脱离文档流)不会保存
fixed固定定位 相对于浏览器窗口进行定位 (脱离文档流)跟父元素无关,不随滚动条滚动
sticky粘性定位 以浏览器可视窗口为参照,占有原先位置,必须添加top(left、right、bottom)才有效

注意:absolute和relative的区别

定位的拓展:

1、固定定位盒子在版心右侧位置

  • 让固定定位的盒子left:50%
  • 让固定定位的盒子margin-left:版心宽度的一半

2、绝对定位盒子居中

加了绝对定位盒子不能通过margin:0 auto水平居中

  • 让盒子左侧移动到父元素水平中心位置:left:50%
  • 让盒子向移动到自身宽度一半:margin-left:- px(注意是负值)

(垂直居中同理)

3、脱标的盒子不会触发外边距塌陷

浮动元素、绝对定位(固定定位)元素都不会触发外边距合并问题

4、绝对定位(固定)会压住盒子

  • 浮动元素不会压住标准流盒子里的文字(图片) 。因为浮动元素目的最初是文字环绕效果。
  • 绝对定位(固定)会压住下面标准流的内容

5、定位特殊性

绝对定位和固定定位和浮动类似

  • 行内元素添加绝对或固定定位,可直接设置高度和宽度
  • 块级元素添加绝对或固定定位,如果不给高度或宽度,默认大小是内容的大小

偏移量:精确定位元素的位置,取值是数值或百分比

属性值描述
top顶端偏移量,相对于父元素上边线距离
right右侧偏移量
left左侧偏移量
bottom底部偏移量

溢出属性(overflow)

用于指定当CSS内容溢出元素框时发生的情况。

选择器{
	overflow:属性值;
}
属性值描述
visible内容溢出边框以外(默认值)
scroll提供滚动机制(带有滚动条)
hidden内容被修剪,溢出部分被隐藏
auto如果内容被修剪,则显示器会显示修剪内容

层叠属性(Z-index)

当对元素进行定位时,可能会出现堆叠现象,用该属性设置元素的堆叠顺序。

  • 取值:正整数、负整数、0(默认)不能加单位
  • 如果属性值相同,按照书写顺序,越往后越大
  • 只有定位盒子才有z-index属性

布局类型

常见类型

分为以下四种:

单列布局

网页布局的基础,所有复杂的布局都是在此基础上演变而来的。
在这里插入图片描述

<div id="d1"></div>
<div id="d2"></div>

一列固定宽度并自动居中

#d1{
	height: 120px;
	width: 1000px;
	background:blue;
	margin: auto;
}

一列自适应宽度(盒子模型随浏览器变化)

#d2{
	height: 200px;
	background: greenyellow;
	margin: auto;
}

双列布局

和“一列布局”类似,只是网页内容被分为了左右两部分。
在这里插入图片描述

<div id="main">
    <div id="d3"></div>
    <div id="d4"></div>
</div>

两列自适应宽度

#d3{
    height: 350px;
    width: 120px;
    background: red;
    float: left;
}
#d4{
	height: 350px;
    width: 70%;
	background: blue;
}

两列固定宽度居中

#d3{
	height: 300px;
	width: 120px;
	background: red;
	float: left;
}
#d4{
	height: 350px;
	width: 650px;
	background: blue;
	margin-left: 120px;
}
#main{
	width: 770px; 
	 margin: auto;
}

三列布局

对于一些大型网站,特别是电子商务类网站,由于内容分类较多,通常需要采用“三列布局”的页面布局方式。
在这里插入图片描述

<div id="main">
    <div id="d1"></div>
    <div id="d2"></div>
    <div id="d3"></div>
</div>

三列自适应宽度

#d1{
    height: 200px;
    width: 300px;
    background: red;
    float: left;
}
#d2{
    height: 200px;
    width: 300px;
    background: blue;
    float: left;
}
#d3{
    height: 200px;
    width: 300px;
    background: greenyellow;
    float: left;
}

三列固定宽度居中

#d1{
    height: 200px;
    width: 300px;
    background: red;
    float: left;
}
#d2{
    height: 200px;
    width: 300px;
    background: blue;
    float: left;
}
#d3{
    height: 200px;
    width: 300px;
    background: greenyellow;
    float: left;
}
#main{
    width: 900px;
    margin:0 auto;
}

通栏布局

无论布局类型是单列布局、两列布局或者多列布局,为了网站的美观,网页中的一些模块,例如头部、导航、焦点图或页面底部等经常需要通栏显示。
在这里插入图片描述

上图导航栏、页面底部设置为通栏后,无论页面放大或缩小,该模块都将横铺于浏览器窗口中。

HTML5中语义标签

标签作用
thead表格头部
tbody表格主体
header页面头部
nav导航栏
footer页面或区域的底部
article页面中独立的文档内容
section页面内容进行分块
aside页面的附属信息(侧边栏、广告)

命名规范

遵循规则

  • 避免使用中文命名
  • 不能以数字开头
  • 不能占有关键字
  • 用最少的字母达到最好理解的意义

两种命名方式

  • 驼峰式命名:除第一个单词外,其他首字母大写 例如:navOne
  • 帕斯卡命名:每个单词间用 “_” 连接 例如:table_1

网页模块命名规范

相关模块
在这里插入图片描述
CSS文件
在这里插入图片描述

常见布局技巧

margin负值运用

在这里插入图片描述

  • 让每个盒子margin 往左侧移动 -1px 正好压住相邻盒子边框
  • 鼠标经过某个盒子的时候,提高当前盒子的层级即可(①如果没有有定位,则加相对定位(保留位置),②如果有定位,则加z-index)
 ul li{
    float: left;
    list-style: none;
    width: 150px;
    height: 200px;
    border: 1px solid red;
    margin-left: -1px;
}
ul li:hover{
    /* 加相对定位 */
    /* position: relative;
    border: 1px solid blue; */
    /* 加z-index */
    z-index: 1;
    border: 1px solid blue;
}

文字围绕浮动元素

巧妙运用浮动元素不会压住文字的
特性
文字用p标签,图片采用float属性,排版时,可调整间距,即可让文字围绕浮动元素

CSS 三角强化

在这里插入图片描述

<div class="price">
    <span class="miaosha">
        ¥1650
        <i></i>
    </span>
    <span class="origin">¥5650</span>
</div>
.price {
    width: 160px;
    height: 24px;
    line-height: 24px;
    border: 1px solid red;
    margin: 0 auto;
}

.miaosha {
    position: relative;
    float: left;
    width: 90px;
    height: 100%;
    background-color: red;
    text-align: center;
    color: #fff;
    font-weight: 700;
    margin-right: 8px;
}

.miaosha i {
    position: absolute;
    right: 0;
    top: 0;
    width: 0;
    height: 0;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
    border-width: 24px 10px 0 0;
}

.origin {
    font-size: 12px;
    color: gray;
    text-decoration: line-through;
}
  • 30
    点赞
  • 259
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
CSS网站布局实录:基于Web标准的网站设计指南(第2版)》内容提要: 本书是一本讲述基于Web标准的应用CSS进行网站布局设计与重构的典范之作。 本书以实例为主,一步步地告诉大家如何进行符合Web 2.0标准的CSS布局设计。具备了知识全面、完美应用(CSS选择器、样式继承、层叠、格式化、XML标签、CSS滤镜等。文本、图像、超链接、列表、菜单、网站导航、表单、数据表格、浮动布局CSS布局控制。),智能、创造型布局思维(智慧、完美视觉艺术效果之CSS布局技巧CSS Hack实践战略),Web技术团队倾情奉献(来自CSS布局与Web标准应用之先驱——闪客帝国... [显示全部] 《CSS网站布局实录:基于Web标准的网站设计指南(第2版)》图书目录: 第1章 Web标准与CSS布局概述 1.1 Web标准的历史及发展 1.1.1 什么是Web标准 1.1.2 Web表现层技术 1.1.3 Web标准的历史 1.2 Web标准的构成 1.2.1 结构(Structure) 1.2.2 表现(Presentation) 1.2.3 行为(Behavior) 1.3 Web标准有什么好处 1.4 CSS布局与table布局的区别 1.4.1 CSS 2.0的优势 1.4.2 传统的table布局CSS布局 1.5 向Web标准过渡 1.5.1 从HTML转向XHTML 1.5.2 发挥CSS 2.0的作用 1.6 常见问题 1.6.1 什么样的网站才符合Web标准 1.6.2 使用Web标准之后表格还有用吗 1.6.3 可以继续使用HTML来设计网页吗 1.6.4 为什么不直接使用到XML 1.6.5 学习CSS布局比表格困难吗 1.6.6 CSS布局是否意味着必须手写代码 1.6.7 什么叫网站重构 1.6.8 使用Web标准之后就不再存在兼容性问题了吗 1.6.9 有没有Web标准方面的优秀图书或网站 1.6.10 使用CSS设计只能做出简单的网页吗 1.7 面向现在与未来的设计 1.7.1 Web标准与Web 2.0 1.7.2 用户体验技术 1.7.3 用户体验设计的发展趋势 第2章 XHTMLCSS基础 2.1 XHTML基础 2.2 选择合适的DTD 2.3 选择合适的标签 2.4 给CSS留下接口 2.5 良好的XHTML编写习惯 2.6 CSS语法结构 2.6.1 CSS属性与选择符 2.6.2 类型选择符 2.6.3 群组选择符 2.6.4 包含选择符 2.6.5 id及class选择符 2.6.6 标签指定式选择符 2.6.7 组合选择符 2.6.8 伪类及伪对象 2.6.9 通配选择符 2.7 CSS数据单位 2.8 应用CSS到网页中 2.8.1 行间样式表 2.8.2 内部样式表 2.8.3 外部样式表 2.9 样式优先权问题 2.9.1 写法优先权 2.9.2 选择符优先权 2.9.3 样式继承 2.9.4 !important语法 2.10 代码注释 2.11 CSS开发环境与调试环境 第3章 CSS网页布局定位 3.1 认识div 3.1.1 div是什么 3.1.2 如何使用div 3.1.3 理解div 3.1.4 并列与嵌套div结构 3.1.5 使用合适对象来布局 3.2 一列固定宽度 3.3 一列宽度自适应 3.4 二列固定宽度 3.5 二列宽度自适应 3.6 两列右列宽度自适应 3.7 二列固定宽度居中 3.8 三列浮动中间列宽度自适应 3.9 高度自适应 3.10 盒模型详解(.Box Model) 3.10.1 什么是盒模型 3.10.2 盒模型的细节 3.10.3 上下margin叠加问题 3.10.4 左右margin加倍问题 3.11 深入浮动(Float) 3.11.1 文档流(Document Flow) 3.11.2 浮动定位 3.11.3 浮动的清理(Clear) 3.11.4 何时选用浮动定位 3.12 绝对定位与相对定位 3.12.1 绝对定位 3.12.2 相对定位 3.12.3 何时选用绝对与相对定位 第4章 CSS网站元素设计 4.1 用CSS设计网站导航 4.1.1 横向导航 4.1.2 纵向导航 4.1.3 下拉及多级弹出式菜单 4.1.4 门户网站的导航设计(闪客帝国) 4.2 背景控制 4.2.1 背景颜色 4.2.2 背景图片 4.2.3 背景定位 4.2.4 背景滚动 4.2.5 背景属性缩写 4.2.6 基于背景控制的导航优化 4.3 使用列表元素 4.3.1 ul无序列表 4.3.2 ol有序列表 4.3.3 改变项目符号样式 4.3.4 使用图片自定义项目符号 4.3.5 使列表变为段落 4.3.6 列表缩进排版 4.3.7 复杂列
使用div+css开发个人网站毕业设计 目 录 前 言 1 第一章 网站开发背景 2 第一节 web概述 2 一、认识WEB 2 二、认识WEB2.0标准 2 第二章 DIV+CSS详解 5 第一节 DIV+CSS简介 5 第二节 级联样式表简介 6 第三节 DIV+CSS布局的优点 6 一、利于搜索引擎蜘蛛爬行 6 二、易于修改 7 三、减少网页加载时间 7 四、代码精简 7 五、相对表格的嵌套问题 8 六、搜索排名的影响 8 第四节 div+css布局方式 8 第五节 div+css理论概述 9 一、理解CSS盒子模型 9 二、转变思路 10 三、实现结构与表现分离 11 第六节 div+css的兼容性问题 11 一、div的垂直居中问题 11 二、margin加倍的问题 11 三、浮动ie产生的双倍距离 11 四、IE与宽度和高度的问题 11 五、页面的最小宽度 12 六、DIV浮动IE文本产生3象素的bug 12 七、IE捉迷藏的问题 12 八、IE6下为什么图片下有空隙产生 12 第二章 开发工具的介绍 13 第一节 梦幻网页的编织者——Dreamweaver 13 第二节 图形、图像编辑设计软件制作软件——Adobe Photoshop cs2 13 第三章 网站总体分析和设计 15 第一节 网站开发的需求分析 15 第二节 网站的总体设计 16 第三节 整体风格设计 19 一、页面属性设计 19 二、色彩搭配 19 三、连接效果 20 四、导航设计 20 五、细节设计 21 第四节 首页设计 21 一、DIV分布和概述 21 二、搜索关键字与描述 23 第五节 其他页面设计 23 第四章 网站的测试 29 第五章 后续工作 30 结 论 31 结束语 32 附录一:网站首页效果图 33 附录二:部分代码 34 前 言 当今世界已进入信息时代,Internet成为21世纪最受关注的行业之一,它的飞速发展 和在全球范围的普及应用正在给人类生活带来革命性变化。网络技术的发展也取得了巨 大的成就,为网站开发提供了很好的技术支持。网站已经成为现阶段众多企业不可或缺 的网络营销平台,互联网应用规模正不断扩大。其中,特别是中小型企业,对于网络平 台搭建的需要求相当的迫切。各大门户网,企业网都在WEB2.0的标准上,采用CSS+DIV布局网站,所以才有了此次的选题。 论文详细论述了一个基于公司网站的开发的设计过程。在技术上,采用了 Dreamweaver网站开发工具,以 HTML的超大功能结合 JAVAScript 的客户端语言,并加以 FLASH 等动画以增加网站的动态效果。这样的构造有利于以后对网站系统开发的把握,并给以 后的开发积累一定的经验,提升编程能力。其中,最主要的就是介绍和展示DIV+CSS在网 页中的最用和魅力。 本文实现了首页、新闻、案例、介绍、联系、搜索、留言、联系我们、等功能,全面 化个人网站的需求。 论文组织如下:首先阐述了该系统的开发背景、意义,详细介绍了div+css理论知识 ;其次介绍了相关的开发工具及技术基础;接着对网站的需求进行了分析,并提出了具 体的设计方案;然后展现了整个系统的具体实现,包括网页的设计和连接,各功能模块 的实现;最后对该网站进行了严格的测试。 第一章 网站开发背景 第一节 web概述 一、认识WEB web本意是蜘蛛网和网的意思。现广泛译作网络、互联网等技术领域。表现为三种形 式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(HTTP)等。W eb(World Wide Web,简称WWW,又称万维网)是目前Internet上应用最广泛也是最重要的信息服务类型, 它的影响已经进入了Internet上 的广告、新闻、电子商务和展示信息等各个服务领域。 Web采用浏览器/服务器(B/S)工作模式,其运作模式可以描述为:请求 处理 应答。W eb以超文本标记语言HTML(Hyper Text Markup Language)与超文本传输协议HTTP(Hyper Text Transfer Protocol)为基础,通过浏览器为用户提供方便友好的信息浏览界面。 Web将位于全世界互联网上不同网址的相关信息有机地编织在一起。在Web服务方式中, 信息以页面(或称Web页)的形式存储在Web服务器中,这些页面采用超文本的方式对信 息进行组织,通过链接将一页信息链接到另一页信息。这些相互链接的页面既可以放置 在同一台主机上,也可以放置在不同的主机上。页面到页面的链接信息由统一资源定位 器URL(Uniform Resource Locator)维持。用户通过客户端应用程序(即浏览器)向Web服务器发出请求,服务器根 据客户端的请求将保存在服务器中的某个
1.css概述 1.问题 HTML属性修饰有一定局限,是不太便捷 2.css的语法规范 1.使用css样式方式 1.内联样式 行内样式 特点:将css样式定义在HTML标记中 语法:中先增加一对<style></style>,在<style>标记写样式规则 样式规则:由选择器和样式声明组成 3.外部样式 独立于任何网页位置处,声明一个样式文件(.css为后缀),在文件中声明样式,在使用的网页中引入.css文件。 使用步骤: 1.创建样式表文件(.css) 2.在样式文件中编写样式规则 3.在网页中对样式文件进行引入 <link rel="stylesheet" href="URL../.css"> 3.CSS样式特征 1.继承性 必须是父子(有层叠嵌套的关系)结构 大部分的css效果是可以 2.优先级 1.浏览器默认样式 2.内部样式和外部样式(就近原则) 3.内联样式 4.!important; 绝对优先使用() 格式 p{ color:red !important; } 2.css选择器 1.选择器的作用 规范页面中那些元素能够使用定义好的样式。 2.选择器详解 1.通用选择器 *{样式} 2.元素选择器 p{样式} 3.类选择器 1. 声明 .class名{样式} 2.引用可以引用多个类名用空格隔开 4.id选择器 #id名{样式} 3.特殊选择器 1.群组选择器 #id ,.class{样式} 1.子选择器 #id>.class{样式} 1.分类选择器 div .class{样式} 4.伪类选择器 作用:匹配元素不同状态的选择器 语法:所有的伪类都是以 : 作为开始 选择器:伪类选择器{样式} 伪类分类 1.伪类链接 :link 匹配尚未访问的超级链接状态 :visited 匹配访问过的元素的状态 2.动态伪类 :hover 匹配鼠标悬停在元素上时的状态

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值