<html>
<head>
    <style type="text/css">
        div#container {width: 100px;
           /* 整个大的div的长度*/
        }div#header {/*不设定长度的,又不设置浮动的,自动填满最外层容器长度。
          这个header的长度就是100,
          如果设置成float而不设置长度宽度,div长度就会变成字体所占长度。*/
            background-color: cadetblue;

        }div#left {/* width: 50px;*/
            background-color: bisque;
            float: left;
            height:100px;
            /*将此标签设置成向左浮动,可以想象成这个标签漂浮起来了1层。不设置的为1层,设置了得为2层
            比不设置浮动的要高一层*/
        }div#content {/* width: 40px;*/
            background-color: deeppink;
            float: left;
            /*设置向左浮动,因为上一个div也是向左浮动的,
            所以这个div会跟上一个div从左向右排列而不会换行
            如果没有直接设置长度或者高度,会依靠字长来填充长度,字高来填充高度.
            假如字过长,也就是长度过长(直接设置过大的width也会)
            (如果手动设置了div的长度而相加又不大于最大长度,那么就不会造成div创建在下一行,
            这个例子比如手动设置content的长度,而与left相加又不大于100,那么content不会创建在下一行。
            即使字长再长,也不会影响div的长度,div的长度是手动设置的,创建div在什么位置时比较的是div,而上边情况是因为没有手动设置div,依靠字长来确定div长度,最后也是比较的div长度。
            这里可以把content的width值取消注释 就能看出结果。)
            跟前面的容器长度加起来超过了这一行的最大容器长度,就会换到相同层数的div的下边去创建div,
            此例子就是在left下边去了。
            而且创建了之后,即使超过了最大容器div的长度,也不会出现换行的情况,除非加空格或者回车可以换行。
            也就是长度超过最大容器长度,文字不会自动换行,会在同一行呈现文字。
            (两个float创建时,第二个float不设置长度,用字长代替,只要字长大于剩下的长度时,直接在第一个float下面创建div,回车缩短长度不管用.
            至于什么觉得长度多了按下回车 直接创建第二行,这样创建第二个div,可能是跟固定长度时然后打字根据字长判断高度记混了。
            你还跟第一个创建float,第二个创建不是clear,也不是float。的形式弄混了,这个直接建在第一层了,div固定,只是显示问题。)

            总结一下,也就是该在那个位置创建div(层数=1会换行创建,层数=2,也就是设置了float浮动的会横向创建),
            但是因为如果创建了新的div就超过了最大容器长度,那么就会在层数相同的div之下(这个例子如果conten长度过长,会在left(left高度远大于两行)整个div下创建)创建。

            浮动方面是根据2个或者多个div长度相加之后 ,(如果手动设置了width值,则会无视字体的大小,会根据那个值来创建div。)
            (甚至1个div设置了浮动,然后他的长度超过最大容器长度,那么也会换行创建,可以自己试)
            的长度大小来判断换不换行创建,而不是字节长度或者其他(可以一个很长的字节长度,然后手动设置一个很小的width来试试看哦)。*/

        }div#footer {background-color: mediumblue;
           /* height: 10px;*/
            clear:left;

          /*  加上之后也就是说这个div左边不存在浮动元素*/
            /*取消注释可以查看 加上清除左浮动的效果,对比观看加深理解。*/

            /*清除左浮动(也就是清除了该元素左边的浮动,左边不会出现浮动元素)
            实现的效果是此div创建在了header,left,conent之下。
            即使长度非常小,与本行所有div长度相加也不超过最大长度,仍然不与left,content同行创建。
            会进入下一行来创建div。这个例子也就是left最大高度的下一行。因为left高度大于content高度。

            如果不设置此值,此div层数=1,将会创建在层数=1的div之下。这是必然的(根据设置背景颜色来看一下就能判断)。但是文字放在什么地方就不一样了。
            在这种情况下,呈现出的效果是会默认创建在第二行,此例子也就是跟left content同行,如果第二行剩下的长度足够容纳此div,则在此行呈现文字,不够容纳,进入下一行判断是否能够容纳文字。
            下一行如果还没超过本行这两个div的最大高度,此例子就是,left的高度远大于两行字的高度,就会判断除去left的长度(也就是判断content时的长度)是否能够呈现这一串文字。
            长度足够能呈现,直接在这呈现,不能呈现的话,文字直接呈现在left之下。但是div是创建在了header之下,背景颜色可以证明。

            此例子中,如果将第二行的left和content 两个div的长度恰好设置成与最大容器长度一样,同时将left的高度不设置,默认一行字体高度。
            清除或者不清除左浮动呈现的效果一样,因为不清除的状况下,因为长度问题,文字也会直接呈现到下一行
            但是只是因为大小设置合理,恰巧呈现出了一样的效果,其实不设置 clear:left时 footer这个div创建在了header之下,背景颜色可以证明。
            设置之后,直接创建在了 拥有最大高度浮动的div之下,这里也就是left之下。

            布局设计时,最好加上 clear:left/clear:xxx
            */
        }</style>
</head>
<body>

<div id="container">

    <div id="header">header</div>

    <div id="left">left</div>

    <div id="content">cttaaaa aaaa</div>
<!--将文本内容长度缩小至header-left之内,content div会创建在left右侧,因为长度足够容纳他们。-->


    <div id="footer">faaaaaaaaaaaaaaaaaaaaa</div>
<!--此时如果将此内容长度缩小至header-left以内,div创建位置不变,不过文字会呈现在left右侧,因为那一段长度足够容纳footer的内容了-->
</div>

<!--最后 写在这里,浮动布局问题,就是去看 层数是1或者2,都是1,垂直创建,都是2,横向创建。
  横向创建的话然后根据长度判断是否大于最大长度值,1个或者两个或多个div相加大于最大长度,下一行创建,小于或者等于,仍然横向创建
  需要注意,判断的都是div的长度 高度,而不是字长度,字高度。而在不设置div长度高度的时候,字长就决定了div长度,是否有换行决定了div的高度(在未设置长度时,div里的内容长到这一行容纳不下的时候加回车可以换行而且增加div高度。)

  其次,div里显示的文本内容不是完全根据div的位置来算,他有一套自己的规则决定文本显示在哪,但是确是跟div绑定的。
  大概就是去左不去右,去上不去下,把footerheight10取消一下看效果。
  长度长于剩下的长度,也就是不够容纳时,如果是单行内容会直接垂直显示,如果加了空格或者回车,会进行换行,换行之后的内容如果这一行剩下的长度可以容纳,那么就会横向显示。
  以这个为例子,把footerheight10的注释取消一下看效果。假如说footer div里的内容只有一行内容而且内容长度大于所剩余长度,文字就会显示在content下边。如果内容很长,但是有换行(空格也是换行 回车也是换行),而且每一行的内容又不大于剩余长度,可以容纳下,那么文字就呈现在left右边
  跟上边那个比较div长度判断创建位置的一样。就是这样一个原理。

  先判断div位置,然后根据div里的内容,判断他们显示在哪,怎么显示出来
  我觉得这个布局时因为种种很恶心,所以直接规定好各个块的大小最好了~~~
  我这个人就是这样,有的时候会想把一个东西弄明白,不过有的时候弄不明白也没关系,会用就行
  字体重叠现象只存在于 规定好了div的长宽,文本显示的时候文本超出了div区域,与相邻的同层div文字出现了重叠。同层div之间肯定不会重叠,不同层的div呈现的内容也会重叠,因为只要规定好长度高度,div不变,文字出了div就有可能跟别的div文字接触,不管同层还是不同层。系统会根据div层数的不同来排版文字使得不覆盖,但是不会根据div的文字出格不出格来判断要不要在那显示。
  -->
</body>
</html>

最外层一个div 包含着里头的4个div,正常出来应该是 第一行一个div 第二行两个div 第三行一个div,因为我实验东西,所以改了。

因为注释里写的太多了…这里就不解释了……………一忍不住就研究的太多,研究的细节和没用的东西……以后一定改掉,要研究重点,会实用就好了。

H5学习之10 div布局相关推荐

  1. Web前端开发之CSS学习笔记10—栅格布局(网格布局)

    目录 [网格布局grid] 1.网格布局的构成 2.父容器grid container 3.生成网格容器 display:grid/inline-grid 4.构建网格 grid-template-c ...

  2. html5 div布局table,H5的div布局与table布局详解

    这次给大家带来H5的div布局与table布局详解,H5div布局与table布局的注意事项有哪些,下面就是实战案例,一起来看一下. 本文实例为大家解析了html5 p布局与table布局,供大家参考 ...

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

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

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

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

  5. HTML学习13:div和表格布局

    文章目录 1.div布局 2.table布局 3.各优缺点 在网页中,可以使用div或表格布局,各有哪些优劣呢? 1.div布局 在网页中可以使用很多个 div,使用 div 可以将网页中的任何元素布 ...

  6. h5的div布局详解

    在实际的网页开发中,网页的整体部分一般是由div标签来进行布局的.那么在使用div布局之前就要了解div的属性 div是块级元素 块级元素在页面中的独占一行 默认情况下的高度由里面的内容决定.由于块级 ...

  7. amazeui学习笔记--css(布局相关3)--辅助类Utility

    amazeui学习笔记--css(布局相关3)--辅助类Utility 一.总结 1.元素清除浮动: 添加 am-cf 这个 class 即可 2.水平滚动: .am-scrollable-horiz ...

  8. div布局改进treeview导航

    asp.net对新手来讲真是福音,随便拖几下就是一个网页.让我这个从asp转来的菜鸟开始兴奋不已,尤其在几个数据绑定控件还有验证控件,但两个月下来后让我对这些控件兴趣全无,尤其是数据绑定控件如grid ...

  9. html给div设置宽度无效,HTML学习之给div高度设置百分比不生效的问题

    这几天在学习HTML的知识,今天想做一个极为简单的页面,就是分为头部,内容和底部,本来用三个div即可,可是给div高度设置百分比时发现不生效,具体页面如下,非常简单. 下面是html部分: 1111 ...

最新文章

  1. 利用Redis进行全页面缓存的简单Demo
  2. 查看dll 的是32位还是64位
  3. 黑客宣称掌握了600多万个Instagram账号的信息
  4. 自己常用的Linux命令总结
  5. xbox手柄接收器驱动_xbox手柄连接 win10电脑
  6. IDEA 载入jQuery的方法
  7. java泛型编程_Java编程泛型限定代码分享
  8. php 重定向 post,使用php curl getpost方法向页面文件发送重定向指令
  9. 细说浏览器特性检测(1)-jQuery1.4添加部分
  10. 【刷题记录】GCJ 2.71~2.72
  11. 《Macbook Pro概要》- Mac的各种功能使用方法
  12. vs下qt的信号与槽实现
  13. 字典 python 引用_Python字典引用的应用
  14. MindMeld中文文档--2.构建会话应用程序的不同方法[Different Approaches for Building Conversational Applications]
  15. 计算机内存条只认了一个,怎么解决Win10插入2个4G内存条却只显示4G?
  16. Wireshark 用户使用手册 ———— 配置与属性
  17. 微软技术探究之FASTER
  18. 太阳的光和灯光有什么区别_阳光和灯光
  19. 数据存储计量单位换算
  20. 21、TWS API和IB中的新闻和公告

热门文章

  1. 通过css样式禁用NG-ZORRO中Calendar日历组件头部下拉框的选择事件
  2. 【PPT分享】Evan Vue.js 技术分享
  3. 9位院士12位专家联合撰文:智能计算的新进展、挑战与未来
  4. STK中SAR传感器参数elevation angle和exclusion angle的说明
  5. 【毕业季征文】追光人,终将光芒万丈!
  6. 小程序自定义组件之插槽
  7. ctags 生成简明易用 linux 源码 tags
  8. 从零开发 —— 模仿钉钉WIFI自动打卡APP(后台PHP)含双端源码
  9. 苹果手机如何新建提醒事项?
  10. OpenStack由于Nova互信问题导致虚拟机迁移异常