CSS和div布局页面

  • CSS和div布局页面
  • 一、什么是布局
    • 网页布局
    • 页面元素定位机制
  • 二、布局属性
    • 浮动
    • 清除浮动
    • 定位
      • 绝对定位
      • 相对定位
      • 固定定位

一、什么是布局

网页实质是块与块之间的位置,块挨着块,块嵌套块,块叠着块。css网页布局指的是利用css对网页内容的布局进行规划,将主次内容进行归纳和区分;以最适合浏览的方式,将图片、文字等内容遵循一定的原则,放置到页面不同的位量给用户良好的浏览阅读体验。DIV+CSS布局就是网页html通过DIV标签+CSS样式表代码开发制作的(html)网页的统称。

网页布局

进行网页布局的目的是为了使页面结构清晰,易读,更有条理性。网页布局有很多种方式,一般分为以下几个部分:头部区域、菜单导航区域、内容区域、底部区域。

这里大概总结网络布局的一般步骤:
1、确定版心:网页的主体内容,在页面中水平居中显示
2、分析页面中的模块:头部(header)、导航(nav)、焦点图(banner)、内容(content)、页面底部(footer)。
3、控制页面中各个模块:通过盒子模型,使用DIV+CSS进行模块的控制。

页面元素定位机制

1、普通流方式:由元素在html文件中的位置决定(由标签在文件中的位置来决定)。
这种方式是按标准文档流进行布局的,也是默认的布局方式,这种布局方案,是最简单的一种布局方案。
所以 它也存在比较明显的缺点:就是功能太弱。如果只使用流式布局,并不能完成复杂页面的开发。因为复杂页面中有很多的盒子,需要并排显示。

2、浮动方式:元素在页面中可以左右移动,直到碰到包含框或其他浮动框。浮动发明的原因,刚开始是让文字环绕浮动的元素,形成字围效果,可以这么说,浮动就是元素脱离原有的标准文档流,移动到其父元素中指定的位置。

3、绝对定位:直接将元素定位到页面的任何位置(设置元素在页面中的位置坐标)。
这种方式的运用场景很多,比如说让块级元素水平垂直居中。
在写一些效果时,绝对定位使用的还是比较多,如:轮播图…
在写动画时,会也使用到绝对定位。

二、布局属性

浮动

1、浮动:元素脱离原有的标准文档流,移动到其父元素中指定的位置
2、浮动的实现:在元素的CSS中添加float属性

(注意,浮动元素不占据空间,以两个div为例, 正常是俩都显示出来,占据2空间,加浮动后,div就会叠加显示在一个位置, 此时要想让两个div正常显示一般使用到margin-left:浮动div的宽度,或者也是使用浮动。如果不设置,div叠加在一个位置时,只是位置叠加,但div中的内容不会被覆盖,如果后面的div没有指定宽度则自动横向填充完整,文字过多则会跑到第一个div下面形成文字环绕效果。如果指定宽度则去掉被覆盖的宽度显示,其它的文字到浮动div下面显示,即产生文字环绕效果。)

使用浮动的目的是为了让块级元素可以并排显示。然而浮动的元素会以它后面的兄弟元素以及父元素造成影响,因此我们需要清除浮动。

清除浮动

1、原因:浮动的元素离开了原有的文档流,它会对页面中其他元素的排版产生影响。为了消除这种影响,可以使用clear属性消除浮动。
clear属性:

2、对父元素造成影响
当父元素中的所有元素都浮动了,并且父元素没有设置高度,父元素的高度就会变成0,也叫父元素高度塌陷。如果造成了影响,我们需要清除这种影响,清除这种影响,我们叫也清除浮动。
解决办法有:
(1)加高法。手动给父元素加上高度 用的不多。在写页面时,如果说盒子的高度就是靠内容撑起来的,此时,使用加高法,就不适合。
(2)overflow:hidden :它的本意并不是用来清除浮动,但是它有这么一个作用,可以清除浮动元素对父元素造成的影响。
(3)伪元素法:创建一个伪元素 ::after表示在father内部的最后面创建一个元素这个元素就是一个伪元素。
3、对兄弟元素造成影响
解决办法:
用clear的相关属性消除对应的浮动。

定位

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

绝对定位

1、决定定位:可以把元素精确定位到页面中的某个地方。

position: absolute;
top:30px;
left: 45px;

2、运用场景:
①让块级元素水平垂直居中。
②在写一些效果时,绝对定位使用的还是比较多,如:轮播图。
③在写动画时,会也使用到绝对定位。
3、注意:
①元素绝对定位后,它与普通文档流就没有关系,不占据普通文档流的空间。
②绝对定位也需要设置偏移量,有两个方向: left right 另一个方向是top bottom,设置偏移量,一般是两个方向选其一。
③定位完,还可以通过margin调整它的位置。
④绝对定位的元素的位置是相对于最近的父元素而言的,因此可以简记:子绝父相。

相对定位

1、相对定位:元素以它所在的普通流中的位置为起始点进行定位(设置坐标)。

 position: relative; /*相对定位*/top:150px;left: 150px;

2、运用场景:在原本的位置基本上,进行偏移时,可以使用相对定位。
①对一个盒子的位置进行微调。
②position:relative 这一行代码还有一个作用,设置绝对定位的参数点。
3、注意:
①相对定位的元素脱离标准文档流,但是它原本的位置还是被自己占用着,别人无法占用。
②当进行了相对定位,基本上都要通过top, left, bottom, right来设置偏移量。
③如果设置了margin也会影响位置。

固定定位

1、固定定位是参考与整个浏览器的窗口。也需要设置偏移量:top right bottom left

 position: fixed; /*固定定位*/

2、注意:
①完全脱离标准文档流。
②固定定位的参考点是浏览器的窗口,不会随着内容的滚动而滚动。
③对于固定定位,有些低版本浏览器支持并不好,使用的时候,需要考虑兼容性问题。

CSS和div布局页面相关推荐

  1. 应用css div进行页面布局设计,利用CSS与DIV进行页面布局.ppt

    <利用CSS与DIV进行页面布局.ppt>由会员分享,可在线阅读,更多相关<利用CSS与DIV进行页面布局.ppt(6页珍藏版)>请在人人文库网上搜索. 1.利用CSS与DIV ...

  2. 关于css加div布局和表格布局,菜鸟学习笔记:表格布局和div+css布局

    网页布局可以通过表格和div元素来实现(注:table布局已经淘汰),首先我们来看看table布局 表格布局 导航 推荐文章 一个猴子成长史 你看个毛线 我就瞅你咋地 村里出了个半边天 一个猴子的成长 ...

  3. css中div布局学习(1)

    看完慕课网中的div布局,简单记录一下里面的内容: 1.实现效果: 上面实现效果主要是考虑如何实现块元素居中的问题,关键代码: margin: 0 auto; 实现代码: <!DOCTYPE h ...

  4. 信息导航与网站设计 采用HTML+CSS+DIV布局页面

    期末作业:根据本课程所学内容 布局如下页面 要求:导航条的内容要链接到自己的作品页面(从7次作业中选6个),页面中间的DIV要按照图示要求并根据自己的情况填写上相应的内容,可以使用列表也可以使用段落, ...

  5. 一个初级前端结合css、div谈一谈屏幕尺寸、分辨率、缩放概念题

    写在前面: 本文作为本人学习总结之用,同时分享给大家~ 个人前端博客网站:https://zhangqiang.hk.cn 欢迎加入博主的前端学习qq交流群::706947563,专注前端开发,共同学 ...

  6. html图片位于div最底部,div置于页面底部

    一直对于页面置底有一些困惑,下面这个例子不知道能不能解决 foot置底 /*html 和 body 的高度必须*/ html,body { height:100%;} .wrap { position ...

  7. 如何用div+css布局页面

    如今web2.0炒的很厉害,先不去管它web2.0究竟是什么东西,反正div+css好像是火的不行了.各大知名站点都赶时髦似的把原来的表格布局翻新成了div+css,并美其名曰"本站符合we ...

  8. html div将页面划分,css+div网页布局

    div+css排版是最新的网页排版理念,完全有别旧的排版方式(比如说table排版).首先在页面整体上进行div标签划分内容区域,然后再用css进行定位,最后再对相应的区域添加内容.div+css这种 ...

  9. 利用Div CSS(嵌套 盒模型)布局页面完整实例流程

    Div CSS(嵌套 盒模型)布局页面完整实例流程: <!DOCTYPE html> <html>  <head>   <meta charset=" ...

最新文章

  1. c++区块链实例_确定技术任务了解区块链限制 开发区块链你该做哪些准备工作?...
  2. 延长线段ab到c的画法有几种_终于有人把趋势线的正确画法和错误画法讲透彻了,字字精华,原来大多数人都画错了...
  3. SpringMVC 类扫描原理解析
  4. elk集群配置配置文件中节点数配多少
  5. Java黑皮书课后题第11章:11.1(Triangle类)设计一个名为Triangle的类来继承GeometricObject类。该类包括:
  6. java web 服务器环境搭建之jdk安装
  7. 【树莓派学习笔记】五、处理、自动重命名并另存为图片
  8. java matching_LeetCode第[44]题(Java):Wildcard Matching
  9. iterator adapter inserter
  10. inDesign教程,如何创建杂志风标注?
  11. 最新网卡驱动下载win7
  12. A Simple but Tough-to-Beat Baseline for Sentence Embeddings阅读笔记
  13. JSONObject.fromObject爆红,显示无fromObject方法
  14. 大数据监控大屏系统,有这些demo就足够了!
  15. 用tar给linux .rar解压,Linux 下解压 rar 文件的方法
  16. iPhone4S、iPod5代、iPad2、iPad3、mini1代完美绕激活工具Sliver发布全新6.0版,支持工厂激活FMI OFF
  17. ECshop 数据库表结构字段说明
  18. 互联网日报 | 蔚来汽车股价年内涨幅近十倍;小米成立可穿戴部;恒大物业拟12月2日港交所上市...
  19. 【STM32训练—WiFi模块】第一篇、STM32驱动ESP8266WiFi模块获取网络时间
  20. MT管理器和高级终端Termux

热门文章

  1. 程序分析-klee工具分析
  2. [从头学绘画] 第15节 六十四式八卦掌 (25-32)
  3. LaTex转Word最佳实践
  4. Linux系统的tomcat以daemon模式启动
  5. matlab小波分析毕业设计,基于matlab的小波去噪分析毕业论文
  6. 简单的双人格斗小游戏
  7. 测试开发之路--喷喷埋雷的事,吵吵代码的情
  8. 2023子比主题美化插件
  9. 零食很忙:家门口的零食集合店,凭什么遍地生花?
  10. MAC安装Matlab地图绘制工具包m_map