关于浮动的认识

在这之前首先要知道什么是标准文档流

1.在web页面中, 我们无法像设计软件制图一样, 想画哪里就画哪, 这因为web页面制作是一个流, 必须从上而下制作,

2.在web页面制作中, 我们将这种流, 称为标准文档流; 并且还具有一些特征:

a) 空白折叠现象

b) 高矮不齐, 底边对齐

c) 有的标签只有在一行写不下, 才会自动换行

d) 还分有的标签会自动换行

浮动是css中, 从事布局工作的, 使用最频繁的属性

浮动的元素脱标;

脱标就是去除标准文档流的限制, 比如:

1.浮动的元素可以并存一行;

2.并且可以设置宽和高(行内元素也可以)

 ##

浮动的理解:

其实浮动一开始的意义是文本围绕图片,也就是我们常说的文字环绕效果。

我们的理解: 一个元素, 当添加浮动属性, 他就到了上一层画布, 如果是left则往左飘, 但是有一个方向是默认的, 是向上;

一般情况下,如果浮动元素前定义了一个兄弟元素,那么浮动元素换行显示。

浮动脱标, 脱标之后, 就不占有标准文档流的空间,

注意: 一个浮动的标签的结构之前有个标签是标准文档流, 则无论如何, 都不会覆盖该标准文档流标签!

 ##

相同方向的浮动元素会互相贴靠

连续浮动的元素, 只要有足够的空间, 会相互贴靠, 没有足够的空间, 则再起一行

 结构:<div class="father"><div class="box1">box1</div><div class="box2">box2</div></div>

 

<style type="text/css">
    .father{
        width: 200px;
        height: 200px;
        border: 1px solid #000;
    }
    .box1{
        width: 150px;
        height: 50px;
        background-color: orange;
        float: left;
    }
    .box2{
        width: 100px;
        height: 100px;
        background-color: tan;
        float: left;
    }
</style>

结果如图:

        

 

浮动元素的顶端不能比之前所有浮动元素或块级元素的顶端更高

 给一个box里放两个小box,box1(float:left),给box2设置一个margin-top属性,看box1是否会跟随box2下来。

<style type="text/css">
    *{
        margin: 0;
        padding: 0;
    }
    .box{
        width: 300px;
        height: 300px;
        margin: 50px auto;
        border: 1px solid black;
    }
    .box1{
        width: 100px;
        height: 100px;
        background-color: orange;
        float: left;        
    }
    .box2{
        width: 200px;
        height: 200px;
        background-color: tan;        
        margin-top: 10px;

 /*  没有父元素边框限制,浮动元素会随着一起往下  有父元素的限制,浮动元素紧贴着父元素边框,不会往下掉 */ } </style>

有父元素边框限制→      

   无父元素:              没有父元素的限制,box1不能比box2高,所以box1跟随box2下来 

 

 清除浮动的几种方式:

 清除浮动的方式一:

 主动给父盒子添加高度, 这是因为没有高度的父盒子, 是关不住浮动的儿子对其他元素的影响

 但是, 考虑到代码的字节量, 我们基本上不用主动设置父盒子高度

 

 清除方式二:

   clear: both; 使用该属性就可以清楚浮动带来的影响

   clear:both  这个属性写在被影响的父盒子里, 但是有个bug, margin-top失效

 

 清除方式三: 隔墙法(很重要!)

   1.外墙法

  通过增加一个div  并且给这个div添加 clear:both; 属性, 代码示例如下:

  

div.qiang{

    clear:both;  
}

 

 

 

   并且能够给这个强添加高度, 去隔开上下两个模块, 但是有bug, 老ie只能解析高度最小为12的盒子, 可以通过设置_font-size: 1px;

 

   2.内墙法

 代码示例如下:  

   

<ul>
    <li>aa</li>
    <li>bb</li>
    <li>cc</li>
    <li>dd</li>
    <div class="qiang"></div>
</ul>

    就是把墙移到了父盒子里

   本质上, 是让父盒子有高度, 就可以管住儿子的浮动给其他元素带来的影响

 

 清除浮动方式四:   overflow:hidden

 

    Overflow:hidden  本意是溢出隐藏, 但是我们在使用的过程中, 发现, 如果给一个盒子添加overflow:hidden属性 那么 这个盒子从此有了高度! 就可以管住儿子的浮动给其他元素带来  的影响

 

 

转载于:https://www.cnblogs.com/miacara94/p/7284551.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自动控制节水灌溉技术的高低代表着农业现代化的发展状况,灌溉系统自动化水平较低是制约我国高效农业发展的主要原因。本文就此问题研究了单片机控制的滴灌节水灌溉系统,该系统可对不同土壤的湿度进行监控,并按照作物对土壤湿度的要求进行适时、适量灌水,其核心是单片机和PC机构成的控制部分,主要对土壤湿度与灌水量之间的关系、灌溉控制技术及设备系统的硬件、软件编程各个部分进行了深入的研究。 单片机控制部分采用上下位机的形式。下位机硬件部分选用AT89C51单片机为核心,主要由土壤湿度传感器,信号处理电路,显示电路,输出控制电路,故障报警电路等组成,软件选用汇编语言编程。上位机选用586型以上PC机,通过MAX232芯片实现同下位机的电平转换功能,上下位机之间通过串行通信方式进行数据的双向传输,软件选用VB高级编程语言以建立友好的人机界面。系统主要具有以下功能:可在PC机提供的人机对话界面上设置作物要求的土壤湿度相关参数;单片机可将土壤湿度传感器检测到的土壤湿度模拟量转换成数字量,显示于LED显示器上,同时单片机可采用串行通信方式将此湿度值传输到PC机上;PC机通过其内设程序计算出所需的灌水量和灌水时间,且显示于界面上,并将有关的灌水信息反馈给单片机,若需灌水,则单片机系统启动鸣音报警,发出灌水信号,并经放大驱动设备,开启电磁阀进行倒计时定时灌水,若不需灌水,即PC机上显示的灌水量和灌水时间均为0,系统不进行灌水。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值