浅谈web布局中的“float”属性  

  对于刚学习web前端的同学,布局和排版都是一个难点。虽然我们能够通过各种调试实现我们希望得到的页面效果,但是如果不把其中的道理弄清楚的话,在下次布局的时候,也无法对整体页面有一个比较全面的掌控。只要弄清楚其中的道理,实现页面的良好布局并不是一件特别难的事情。下面,我就谈谈我学习布局的经验~初来乍到,多多指教~!

1.理解“流”

  要学会web布局,首先要理解“流”的概念和工作原理。“流”,形象一点说,就像水流一样,浏览器从html文件的开头,把元素流入页面中,块级元素独占一行,内嵌元素共享一行,按html文件中的顺序一个接一个的把它们“流”到页面上,直到将最后一个元素放到页面上,这就是我们常说的“正常文档流”。这是浏览器默认的元素放置方式。这些元素按照它们的规则和顺序被放置在同一层中。

块级元素独占一行,内嵌元素共享一行

  很简单,块级元素在文档流中前后都有换行,故独占一行。而内嵌元素呢?内嵌元素会在水平方向上一个接一个地流,从左到右直到没有足够的空间,就流到下一行。

2.“float”浮动的原理

  在我们的布局工具中,有一个叫“float”属性,意思是“浮动”。“float”属性有两个值:“left”、“right”。简单来说,“float”属性就是让一个元素尽可能的靠左或靠右。既然叫做“浮动”,那么它当然是漂浮在正常文本流之上的。因此,它脱离了正常文本流,然后再文本流之上,尽可能的浮动到左(右)边。那么,原先页面中的元素会如何放置呢?

  就像湖里的水流一样,你从中舀走一碗,旁边的水流就会填充过来,湖面还是如镜面一般平坦。当文本流中的一个元素被“float”漂浮起来时,跟在它后面的元素就会填充它原本的位置。

对于正常文档流中的元素,被“float”的元素就像不存在一样。你甚至会发现,浮动元素遮住了下面正常文本流中的块元素。注意!正常文本流中的内嵌元素可不同,当内嵌元素遇到浮动元素时,它们会包围在浮动元素边界的周围(最初“float”就是用于实现文字环绕图片的效果的)。

3.使用“float”,你还需要知道:

  “float”属性浮动的位置跟你的html文件中添加了“float”属性的元素的位置顺序有关,浮动元素只会跟在它的上一个元素(html文件中,浮动元素的上一个元素)后面进行浮动。

web学习总结之布局的更多相关文章

  1. (数据科学学习手札103)Python+Dash快速web应用开发——页面布局篇

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...

  2. Web学习之css

    CSS指层叠样式表(Cascading Style Sheets),CSS 是标准的布局语言,用来控制元素的尺寸.颜色.排版.CSS 由 W3C 发明,用来取代基于表格的布局.框架以及其他非标准的表现 ...

  3. WEB学习感受

    web学习感受 1.html前端知识比较好学,各种标签只需要记住关键的就行例如:body h1,p,div,tr,td,ul,li,就行了. 2.css学习前期还好, 后期关键布局和样式知识点较多,而 ...

  4. 零基础快速入门web学习路线(含视频教程)

    下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利 ...

  5. WEB学习路线2019完整版(附视频教程+网盘下载地址)

    WEB学习路线2019完整版(附视频教程+网盘下载地址).适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利.高薪水的职业了.所以现在学习web前端开发的技术人员也是 ...

  6. 【Flutter学习】页面布局之基础布局组件

    一,概述 Flutter中拥有30多种预定义的布局widget,常用的有Container.Padding.Center.Flex.Row.Colum.ListView.GridView.按照< ...

  7. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

  8. 【转载】Web移动端Fixed布局的解决方案

    特别声明:本文转载于EFE的<Web移动端Fixed布局的解决方案>.如需转载,烦请注明原文出处:http://efe.baidu.com/blog/mobile-fixed-layout ...

  9. 12个学习 CSS3 网站布局设计的优秀案例

    网络上有很多的 CSS 画廊站点供大家对各类网站作品进行打分和评论,每天有数以百计的优秀网站被推荐上面,这对于网页设计师来说是很好的灵感来源.今天,我们选择了15赢得 CSS 设计大奖的优秀作品,帮助 ...

随机推荐

  1. C和指针 (pointers on C)——第十一章:动态内存分配(下)习题

    1.编写calloc,内部用malloc. void *calloc (size_t n, size_t size) { char * memory; memory =(char*) malloc(n ...

  2. 读改善c#代码157个建议:建议7~9

    目录: 建议7:将0值作为枚举的默认值 建议8:避免给枚举类型的元素提供显示的值 建议9:习惯运算符重载 一.建议7:将0值作为枚举的默认值 允许使用的枚举类型有:byte.sbyte.short.u ...

  3. Linux网络编程一站式学习

    提要 学过非常多遍计算机网络,依旧不会网络编程. 看完这篇文章之后就不会是这样了. 环境:Ubuntu14.04 64bit 何为Socket 是基于TCP/IP的网络应用编程中使用的有关数据通信的概 ...

  4. 最大流量dinci模板

    我们知道.增广路径EK时间是在充电算法的O(n*m^2).找到最短增广路径的时间复杂度为O(m*n^2).这样的时间复杂度主要是寻找扩充道路. 这里也有一个演示Dinci算法,使用BFS层次结构图,然 ...

  5. Oracle压缩总结2— 估计表压缩效应

    使用压缩前,我们可以估算压缩能有多大效果. 11gr2我已经能够使用dbms_comp_advisor,具体代码见附件.只需要运行两个文件dbmscomp.sql和prvtcomp.plb.然后使用D ...

  6. 基于hadoop的电影推荐结果可视化

    数据可视化 1.数据的分析与统计 使用sql语句进行查询,获取所有数据的概述,包括电影数.电影类别数.人数.职业种类.点评数等. 2.构建数据可视化框架 这里使用了前端框架Bootstrap进行前端的 ...

  7. git 配置多个SSH-Key(转)

    摘要 我们在日常工作中会遇到公司有个gitlab,还有些自己的一些项目放在github上.这样就导致我们要配置不同的ssh-key对应不同的环境. 目录[-] 1,生成一个公司用的SSH-Key 2, ...

  8. JavaScript语言核心之词法结构

    编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语句之间如何分割的等规则. 1.1字符集 JavaScript ...

  9. Js 正则表达式 写了一个正整数或小数点或分数前两个正则表达式

    写了一个正整数或小数点或分数前两个正则表达式 /^[0-9]+([.]{1}[0-9]{1,2})? $/ 版权声明:本文博客原创文章.博客,未经同意,不得转载.

  10. (札记)Java应用架构设计-模块化模式与OSGi

    本书主要模块化模式的优点.模块化方法与模式.OSGi简单使用等内容.分3大部分: 第一部分介绍了模块化概念.为什么要模块化,以及一些模块化要考虑的东西,如模块粒度,依赖关系,重用性灵活性等. 第二部分 ...