网页的布局方式

1.什么是网页的布局方式?

网页的布局方式其实就是指浏览器是如何对网页中的元素进行排版的

1.标准流(文档流/普通流)排版方式

1.1其实浏览器默认的排版方式就是标准流的排版方式

1.2在CSS中将元素分为三类, 分别是块级元素/行内元素/行内块级元素

1.3 在标准流中有两种排版方式, 一种是垂直排版, 一种是水平排版

垂直排版, 如果元素是块级元素, 那么就会垂直排版

水平排版, 如果元素是行内元素/行内块级元素, 那么就会水平排版

2.浮动流排版方式

2.1浮动流是一种"半脱离标准流"的排版方式

2.2浮动流只有一种排版方式, 就是水平排版. 它只能设置某个元素左对齐或者右对齐

注意点:

1.浮动流中没有居中对齐, 也就是没有center这个取值

2.在浮动流中是不可以使用margin: 0 auto;

特点:

1.在浮动流中是不区分块级元素/行内元素/行内块级元素的

无论是级元素/行内元素/行内块级元素都可以水平排版

2.在浮动流中无论是块级元素/行内元素/行内块级元素都可以设置宽高

3.综上所述, 浮动流中的元素和标准流中的行内块级元素很像

3.定位流排版方式

浮动元素的脱标

1.什么是浮动元素的脱标?

脱标: 脱离标准流

当某一个元素浮动之后, 那么这个元素看上去就像被从标准流中删除了一样, 这个就是浮动元素的脱标

2.浮动元素脱标之后会有什么影响?

如果前面一个元素浮动了, 而后面一个元素没有浮动 , 那么这个时候前面一个元就会盖住后面一个元素

浮动元素的排序规则

1.浮动元素排序规则

1.1相同方向上的浮动元素, 先浮动的元素会显示在前面, 后浮动的元素会显示在后面

1.2不同方向上的浮动元素, 左浮动会找左浮动, 右浮动会找右浮动

1.3浮动元素浮动之后的位置, 由浮动元素浮动之前在标准流中的位置来确定

浮动元素贴靠现象

1.什么是浮动元素贴靠现象?

1.如果父元素的宽度能够显示所有浮动元素, 那么浮动的元素会并排显示

2.如果父元素的宽度不能显示所有浮动元素, 那么会从最后一个元开始往前贴靠

3.如果贴靠了前面所有浮动元素之后都不能显示, 最终会贴靠到父元素的左边或者右边

浮动元素字围现象

1.什么是浮动元素字围现象?

浮动元素不会挡住没有浮动元素中的文字, 没有浮动的文字会自动给浮动的元素让位置,这个就是浮动元素字围现象

1.企业开发中什么时候使用标准流什么时候使用浮动流?

垂直方向使用标准流, 水平方向使用浮动流

2.拿到一个很复杂的界面如何入手?

2.1从上至下布局

2.2从外向内布局

2.3水平方向可以先划分为一左一右再对左边或者右边进行进一步布局

浮动元素高度问题

1.在标准流中内容的高度可以撑起父元素的高度

2.在浮动流中浮动的元素是不可以撑起父元素的高度的

清除浮动

定义一个类

.clear:after{

display: block;

content:'';

clear: both;

}

1.清除浮动的第一种方式

给前面一个父元素设置高度

注意点:

在企业开发中, 我们能不写高度就不写高度, 所以这种方式用得很少

1.清除浮动的第二种方式

给后面的盒子添加clear属性

clear属性取值:

none: 默认取值, 按照浮动元素的排序规则来排序(左浮动找左浮动, 右浮动找右浮动)

left: 不要找前面的左浮动元素

right: 不要找前面的右浮动元素

both: 不要找前面的左浮动元素和右浮动元素

注意点:

当我们给某个元素添加clear属性之后, 那么这个属性的margin属性就会失效

1.清除浮动的第三种方式

隔墙法

2.外墙法

2.1在两个盒子中间添加一个额外的块级元素

2.2给这个额外添加的块级元素设置clear: both;属性

注意点:

外墙法它可以让第二个盒子使用margin-top属性

外墙法不可以让第一个盒子使用margin-bottom属性

3.内墙法

3.1在第一个盒子中所有子元素最后添加一个额外的块级元素

3.2给这个额外添加的块级元素设置clear: both;属性

注意点:

内墙法它可以让第二个盒子使用margin-top属性

内墙法它可以让第一个盒子使用margin-bottom属性

4.外墙法和内墙法区别?

外墙法不能撑起第一个盒子的高度, 而内墙法可以撑起第一个盒子的高度

5.在企业开发中不常用隔墙法来清除浮动

伪元素选择器

1.什么是伪元素选择器?

伪元素选择器作用就是给指定标签的内容前面添加一个子元素或者给指定标签的内容后面添加一个子元素

2.格式:

标签名称::before{

属性名称:值;

}

给指定标签的内容前面添加一个子元素

标签名称::after{

属性名称:值;

}

给指定标签的内容后面添加一个子元素

1.清除浮动的第四种方式

利用伪元素选择器清除浮动

本质上就是内墙法, 只不过是直接通过CSS代码添加了内墙, 其它特性和内墙法都一样

注意点:

IE6中不支持这种方式, 为了兼容IE6必须给前面的盒子添加*zoom:1;属性

清除浮动方式五

1.overflow: hidden;作用

1.1可以将超出标签范围的内容裁剪掉

1.2清除浮动

1.3可以通过overflow: hidden;让里面的盒子设置margin-top之后, 外面的盒子不被顶下来

定位流

定位流

1.定位流分类

1.1相对定位

1.2绝对定位

1.3固定定位

1.4静态定位

2.什么是相对定位?

相对定位就是相对于自己以前在标准流中的位置来移动

3.相对定位注意点

3.1相对定位是不脱离标准流的, 会继续在标准流中占用一份空间

3.2在相对定位中同一个方向上的定位属性只能使用一个

3.3由于相对定位是不脱离标准流的, 所以在相对定位中是区分块级元素/行内元素/行内块级元素

3.4由于相对定位是不脱离标准流的, 并且相对定位的元素会占用标准流中的位置, 所以当给相对定位的元素设置margin/padding等属性的时会影响到标准流的布局

4.相对定位应用场景

4.1用于对元素进行微调

4.2配合后面学习的绝对定位来使用

定位流-绝对定位

1.什么是绝对定位?

绝对定位就是相对于body来定位

2.绝对定位注意点

2.1绝对定位的元素是脱离标准流的

2.2绝对定位的元素是不区分块级元素/行内元素/行内块级元素

绝对定位-参考点

1.规律

1.默认情况下所有的绝对定位的元素, 无论有没有祖先元素, 都会以body作为参考点

2.如果一个绝对定位的元素有祖先元素, 并且祖先元素也是定位流, 那么这个绝对定位的元素就会以定位流的那个祖先元素作为参考点

2.1只要是这个绝对定位元素的祖先元素都可以

2.2指的定位流是指绝对定位/相对定位/固定定位

2.3定位流中只有静态定位不行

3.如果一个绝对定位的元素有祖先元素, 并且祖先元素也是定位流, 而且祖先元素中有多个元素都是定位流, 那么这个绝对定位的元素会以离它最近的那个定位流的祖先元素为参考点

绝对定位-注意点

1.如果一个绝对定位的元素是以body作为参考点, 那么其实是以网页首屏的宽度和高度作为参考点, 而不是以整个网页的宽度和高度作为参考点

2.一个绝对定位的元素会忽略祖先元素的padding

绝对定位-子绝父相

相对定位弊端:

相对定位不会脱离标准流, 会继续在标准流中占用一份空间, 所以不利于布局界面

绝对定位弊端:

默认情况下绝对定位的元素会以body作为参考点, 所以会随着浏览器的宽度高度的变化而变化

子绝父相

子元素用绝对定位, 父元素用相对定位

绝对定位-水平居中

1.如何让绝对定位的元素水平居中

只需要设置绝对定位元素的left:50%;

然后再设置绝对定位元素的 margin-left: -元素宽度的一半px;

定位流-固定定位

1.什么是固定定位?

固定定位和前面学习的背景关联方式很像, 背景定位可以让背景图片不随着滚动条的滚动而滚动, 而固定定位可以让某个盒子不随着滚动条的滚动而滚动

注意点:

1.固定定位的元素是脱离标准流的, 不会占用标准流中的空间

2.固定定位和绝对定位一样不区分行内/块级/行内块级

3.IE6不支持固定定位

定位流-z-index属性

1.什么是z-index属性?

默认情况下所有的元素都有一个默认的z-index属性, 取值是0.

z-index属性的作用是专门用于控制定位流元素的覆盖关系的

1.默认情况下定位流的元素会盖住标准流的元素

2.默认情况下定位流的元素后面编写的会盖住前面编写的

3.如果定位流的元素设置了z-index属性, 那么谁的z-index属性比较大, 谁就会显示在上面

注意点:

1.从父现象

1.1如果两个元素的父元素都没有设置z-index属性, 那么谁的z-index属性比较大谁就显示在上面

1.2如果两个元素的父元素设置了z-index属性, 那么子元素的z-index属性就会失效, 也就是说谁的父元素的z-index属性比较大谁就会显示在上面

html文件实践总结,html,css学习实践总结相关推荐

  1. html css 最佳实践,30个CSS最佳实践 | Soo Smart!

    1. Make it Readable 书写格式可读 2. Keep it Consistent 当你开始创建自己的CSS标准时,你就已经开始变得更专业更精通.标准是一致的保证. 3. Start w ...

  2. css中怎么加入立体模型,CSS学习笔记二:css 画立体图形

    继上一次学了如何去运用css画平面图形,这一次学如何去画正方体,从2D向着3D学习,虽然有点满,但总是一个过程,一点一点积累,然后记录起来. Transfrom3D 在这一次中运用到了一下几种属性: ...

  3. 个人网站学习实践(wordpress教程)

    个人网站学习实践(wordpress教程) from: http://www.xifengxx.com/wordpress-study 序: 还在上大学的时候,便有建立个人网站的想法. 那时清闲,去图 ...

  4. 安装gym库_强化学习Gym库学习实践(一)

    最近看了一篇研究方向相关的文章,介绍了一种DQN的应用,感觉还挺新鲜的.想着把这篇文章复现出来,就开始学习强化学习的相关知识,作为一名小白,这一路走的可是真的十分艰难(我太菜了啊!) 看了莫烦Pyth ...

  5. 20169212 2016-2017-2 《网络攻防实践》第四周学习总结

    20169212 2016-2017-2 <网络攻防实践>第四周学习总结 教材学习中的问题和解决过程 wireshark学习 主机:Kali ip:192.168.1.117 目标:www ...

  6. 【Python爬虫学习实践】基于BeautifulSoup的网站解析及数据可视化

    在上一次的学习实践中,我们以Tencent职位信息网站为例,介绍了在爬虫中如何分析待解析的网站结构,同时也说明了利用Xpath和lxml解析网站的一般化流程.在本节的实践中,我们将以中国天气网为例,并 ...

  7. 20159206《网络攻防实践》第四周学习总结

    20159206<网络攻防实践>第四周学习总结 教材学习内容总结 本章主要介绍了网络嗅探和协议分析 网络嗅探是一种常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监 ...

  8. Nagios学习实践系列

    其实上篇Nagios学习实践系列--基本安装篇只是安装了Nagios基本组件,虽然能够打开主页,但是如果不配置相关配置文件文件,那么左边菜单很多页面都打不开,相当于只是一个空壳子.接下来,我们来学习研 ...

  9. python爬去百度百科词条_Python爬虫入门学习实践——爬取小说

    本学期开始接触python,python是一种面向对象的.解释型的.通用的.开源的脚本编程语言,我觉得python最大的优点就是简单易用,学习起来比较上手,对代码格式的要求没有那么严格,这种风格使得我 ...

最新文章

  1. Redis 是并发安全的吗?你确定?
  2. wpf scrollviewer 两个事件相互影响_WPF绘制3D效果显示密集立体集装箱
  3. 算法积累之算法时间复杂度
  4. 批处理(.bat)无限循环,定时,固定时间间隔
  5. 【Python】条件及循环语句
  6. Redis源代码分析之sds, 动态数组
  7. [Diary]我也要向菁儿检讨一下
  8. Java基础题笔记2
  9. 游族内部信:年终奖如期发放 继续招聘全球化游戏人才
  10. 4.18. 创建与修改时间
  11. 我的2009:知识管理篇
  12. 面试官:为什么要用 Spring?它到底解决了什么问题?
  13. C++实现离散数学之真值表(试着自写头文件)
  14. 火山PC模拟鼠标操作
  15. Thinkpad E430C 跳过电池检测更新bios
  16. 【转】如何使用visual studio将你的程序打包成安装包
  17. 超级爆笑:2008高考各省零分作文大全
  18. 【闲】获取视频选集(每集)名字
  19. java判断工作日_java 查询指定月份的工作日(不包括法定节假日)
  20. Visual Studio2019下载安装

热门文章

  1. 云时代,运维工程师如何成长?
  2. 这项标准,支付宝干成了!中国将有更多主导权!
  3. 几个 Python“小伎俩” | 内附代码
  4. Java 发展简史:初生遇低谷,崛起于互联网
  5. 马云获福布斯终身成就奖;华为推出首款 4G 芯片 Balong 711;PyPy 7.2 发布 | 极客头条...
  6. 中国网吧 20 年往事,端游式微、手游主宰
  7. 凉山火灾启示录:面对大火,AI 能做些什么?
  8. Google 的隐私噩梦来了......
  9. 昔日最有前途的 Java 最终还是败给了晚辈 Python
  10. 数据结构与算法之顺序队列