HTML连载45-浮动元素脱标、排序规则、贴靠现象

一、浮动元素脱标

1.什么是浮动元素脱标

脱标:脱离标准流。

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

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

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

举例:

<style>

        .box1{

            float:left;

            width:50px;

            height: 50px;

            background-color: red;

        }

        .box2{

            /*float:left;*/

            width:100px;

            height:100px;

            background-color: black;

        }

.........省略代码..........

<div class="box1"></div>

<div class="box2"></div>

二、浮动元素排序规则

1.浮动元素排序规则

(1)相同方向上的浮动元素,先浮动的元素会显示在前面,后浮动的元素会显示后面;

      .box3{

            width:50px;

            height:50px;

            background-color: yellow;

            float:left;

        }

        .box4{

            width:100px;

            height:100px;

            background-color: purple;

            float:left;

        }

..........省略代码.........

<div class="box3"></div>

<div class="box4"></div>

(2)不同方向上的浮动元素,左浮动会找左浮动,右浮动会找右浮动;


        .box3{

            width:50px;

            height:50px;

            background-color: yellow;

            float:left;

?

        }

        .box4{

            width:100px;

            height:100px;

            background-color: purple;

            float:left;

        }

        .box5{

            width:150px;

            height:150px;

            background-color: blue;

            float:right;

        }

        .box6{

            width:200px;

            height:200px;

            background-color: black;

            float:right;

        }

..........省略代码...........

<div class="box3"></div>

<div class="box4"></div>

<div class="box5"></div>

<div class="box6"></div>

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

       .box3{

            width:50px;

            height:50px;

            background-color: yellow;

            float:left;

?

        }

        .box4{

            width:100px;

            height:100px;

            background-color: purple;

            float:left;

        }

        .box5{

            width:150px;

            height:150px;

            background-color: blue;

            /*float:right;*/

        }

        .box6{

            width:200px;

            height:200px;

            background-color: black;

            /*float:right;*/

        }

        .box7{

            width:250px;

            height:250px;

            background-color: black;

            float:right;

        }

.........省略代码...........

<div class="box3"></div>

<div class="box4"></div>

<div class="box5"></div>

<div class="box6"></div>

<div class="box7"></div>

总结:(1)连续的浮动,是放在一行上搞;连续的非浮动,正常标准流搞

(2)浮动+非浮动,浮动是放在一行上搞,非浮动就好像浮动不存在一样正常标准流搞;(3)非浮动+浮动:非浮动正常标准流搞,浮动是另起一行,放在一行上搞。

二、浮动元素的贴靠现象

     .father{

            width: 400px;

            height: 400px;

            border:1px solid black;

            float:left;

        }

        .hezi1{

            width: 50px;

            height: 300px;

            background-color: red;

            float:left;

        }

        .hezi2{

            width: 50px;

            height: 100px;

            background-color: blue;

            float:left;

        }

        .hezi3{

             width: 250px;

             height: 100px;

             background-color: green;

            float:left;

         }

.........省略代码.........

<div class="father">

    <div class="hezi1"></div>

    <div class="hezi2"></div>

    <div class="hezi3"></div>

</div>

我们把.father中的宽度减小到350

再减小到200

我们从中可以看出后面的盒子会往前依次贴,直到怎么贴不住了,只能溢出了。

四、源码:

D123_FloatYuanSuOderAndAttach.html

地址:

https://github.com/ruigege66/HTML_learning/blob/master/D123_FloatYuanSuOderAndAttach.html

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取Java大数据学习视频礼包

原文地址:https://www.cnblogs.com/ruigege0000/p/11750026.html

时间: 2024-10-10 09:44:44

HTML连载45-浮动元素脱标、排序规则、贴靠现象的相关文章

Web全栈-浮动元素的脱标

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>浮动元素的脱标</title> <style> .box1{ float: left; width: 100px; height: 100px; background-color: red; } .box2{ width: 150px; heig

SQL:无法解决 equal to 操作的排序规则冲突。

更改存储过程的时候,在SQL中出现了 “无法解决 equal to 操作的排序规则冲突”错误,网上搜之,发现是表之间元素创建时排序规则不同(一个是collate Chinese_PRC_CI_AI_WS,一个为COLLATE SQL_Latin1_General_CP1_CI_AS) COLLATE 一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影. 一般解决办法: 直接在报错处的关联字段后加上collate Chinese_PRC_CI_AI_WS就可

HTML连载47-设计思想、浮动元素高度问题

一.设计网页的思想 拿到需求之后我们先对各个模块(盒子)进行划分,然后从外到内进行设计(1)设计一个盒子最基本的设计大致包括背景颜色(其实用于识别),宽,高,边界浮动流还是标准流. (2)然后盒子和盒子之间的外边距margin (3)然后在进入到小盒子中,进一步划分盒子,这样再重复第一二步 注意点:我们用背景颜色可以识别出各个模块的具体划分,然后在进入到小盒子进行划分,别忘记最后把原来的大盒子背景颜色去掉.(边界无色为none) 二.浮动元素的高度问题 1.在标准流中内容的高度可以撑起父元素的高

CSS 规避脱标之两种用法

大家好,我是小强老师,今天讲解一小点知识哈 对比了才知道什么好 看不出,很漂亮吧! 有木有倾国倾城的美色. 呵呵,好多东西也是这样的,好的东西只有对比了才觉得好. 我们知道我们网页布局 有三模式.   普通流 normal flow (标准流.常规流)    浮动(float)    和  定位 (position) 标准流 标准流实际上就是一个网页内标签元素正常排列的顺序的意思:比如块级元素会独占一行,行内元素会按顺序依次前后排列:按照这种大前提的布局排列之下绝对不会出现列外的情况叫做标准流布

清除浮动,浮动元素的高度自适应问题

一.问题 当有时不浮动的父元素装载着浮动的子元素时,这个时候父元素的高度不会跟着的子元素的内容高度而自适应高度变大.比如截图的第一行图,上面一条黑色的粗线,就是父div的边框(为了看效果,我设置了父div的border:5px.左右两边是各浮动一个div). 于是乎,我想解决这个父元素高度不会跟随着子元素的内容而变化的问题.谷歌了一下,找到答案 二.解决方法 参考来源:http://www.ruanyifeng.com/blog/2009/04/float_clearing.html 里面提到了

如何垂直居中一个浮动元素

如何垂直居中一个浮动元素 // 方法一:已知元素的高宽 #div1{ width:200px; height:200px; position: absolute;        /*父元素需要相对定位*/ top: 50%; left: 50%; margin-top:-100px ;   /*二分之一的height,width*/ margin-left: -100px; } //方法二:未知元素的高宽 #div1{ width: 200px; height: 200px; margin:au

css让浮动元素水平居中

对于定宽的非浮动元素我们可以用 margin:0 auto; 进行水平居中. 对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题.如下: HTML 代码: <div class="box"> <p>我是浮动的</p> <p>我也是居中的</p> </div> CSS 代码: .box{ float:left; position:relative; left:50%; } p{ float:left; p

如何垂直居中元素(浮动元素&amp;居中一个&lt;img&gt;)?

1.如何居中一个浮动元素? 方法一:已知元素的高度 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> /* 方法一:已知元素的高宽*/ #div1{ background-color:#6699FF; width:200px; height:20

CSS之浮动元素

<html> <head> <meta charset="utf-8"> <title></title> <style> clear:right; </style> </head> <body> <!--浮动元素float--> <img src="./111.jpg" alt="美女2" style="floa