CSS布局之float浮动

之前对CSS的浮动布局总是一知半解,最近开发中用的多了,对它的用法进行一些总结,以便以后忘记时可以查到。哈哈,别说我记性不好,我可是说真的,毕竟前端的知识实在是多而杂,多做笔记,遇到问题时网上搜索资料是其一,但我觉得更重要的是把你遇到的问题和解决方法记录下来。。这样以后你的开发效率是多高。言归正传,对浮动进行一些记录。

1.首先,网页是一个文档流,默认按块元素和级联元素从左到右,从上至下的依次显示。而Float浮动元素,就好比是漂浮在了文档流之上,不占据文档流的位置

如下就是不进行任何浮动的文档页面:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style rel="stylesheet">
        .content{
            width: 500px;
            border: 1px solid red;
            background: cornflowerblue;
            height: 400px;
        }
        .boat{
            width: 100px;height: 100px;
            background: red;
            border: 1px solid #f7ffec;
        }
        .nofloat{
            height: 50px;
            background: yellow;
            border: 1px solid #195dff;
        }
    </style>
</head>
<body>

    <div class="content">
        <div class="nofloat"> 我占据父级的一整行</div>
        <div class="boat">我是漂浮的小船 现在没浮动</div>
        <div class="boat">我是漂浮的小船 现在没浮动</div>
        <div class="boat">我是漂浮的小船 现在没浮动</div>
    </div>
</body>
</html>

2.接下来我们把小船进行浮动,左浮动右浮动都行。效果如下:

        .boat{
            width: 100px;height: 100px;
            background: red;
            border: 1px solid #f7ffec;
          float: left;
        }

可以清楚的看到,当浮动元素的兄弟元素(同级元素)独占一行或者预留的空间不足时,浮动元素会换行浮动。浮动是相对的,是相对其直接父级元素浮动,如在此处,.boat是相对于.content浮动的,可以用此来进行响应式布局,相对于父元素宽高的百分比。另外,如果不想让浮动元素不浮动在一行或者相邻,可以让后来的浮动元素不浮动去靠着之前浮动好了的元素,什么意思呢?就是如果小船3说小船1和2太烦了,不想浮动在他门后面,这时他可以告诉上帝(浏览器说)我的左边不能有浮动,代码为:

        .boat:last-child{
            clear: left;
        }

注意:因为这些类名都相同,所以用.boat:last-child选择最后一个DOM元素,当然也可以为三个小船设置不同的class类名。

效果如下:

同理:一个浮动元素如果不想让其右边右浮动元素,也可以在右边的浮动元素上加上clear:left或者right。注意,不是在本身加,而是在原本挨着但是现在想踢开的那个元素上加。还有也可以不让左右两边有浮动的元素,利用clear:both;


个人理解的总结,如有错误之处,欢迎指正

时间: 2024-10-09 23:23:19

CSS布局之float浮动的相关文章

Css布局系列-float 浮动

准备讲一个布局系列由浅入深,先讲解一些基本属性理论,在通过实例与理论相结合,争取讲明白讲清楚.欢迎大家一起讨论,一起学习一起奋斗.废话少说,先去官方网站看看是怎么解释定义float浮动. 官方定义: float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.如果浮动非替换元素,则要指定一个明确的宽度:否则,它们会尽可能地窄.假如在一行之上只有极少的空间可供浮动元素,那么这个元素

转:CSS布局:Float布局过程与老生常谈的三栏布局

使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了.一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloat属性布局.前者适合布局首页,因为首页上的内容往往可以完全控制.后者适合布局模板,模板中填充的内容你没法控制——比如,在编辑wordpress模板时,你肯定没法考虑每篇博文的长度.这篇博文,就是总结一下怎样使用CSS中的float属性进行布局,其实网上有很多讨论这个话题的文章了,但我觉得都没说到点子上.那就来老生常谈一次吧,CSS之

css选择器及float(浮动)

--------------------------选择器( css有就近原则)------------------------------- 选择器名称                 在css表的形态                在html中的调用 ?html标记符选择器:        p,a,img,div,span....          不用另外加任何东西 ?具有上下关系的选择器:     div span a (中间是空格)       不用另外加任何东西 ?类(class)选

CSS布局模型 之 浮动模型(浮动的工作原理和清除浮动技巧?)

浮动的工作原理 浮动是让某元素脱离文档流,在浮动框之前和之后的非定位元素会当它不存在一样,可能沿着它的另一侧垂直流动,但都为其腾出空间,块级元素也不例外(被浮动元素占据了部分行空间的块级元素,仍然被看作是占据了一整行,只不过是被浮动元素占据的那部分空间无法利用罢了). 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止:如果当前线上的水平空间不足,它将逐行向下移动,直到有空间为止(所以浮动元素不会影响页面上方布局).任何元素都可以浮动,浮动元素会生成一个块级框(拥有块级

CSS布局(四) float详解

一.float设计初衷 因为float被设计出来的初衷是用于--文字环绕效果.即,一个图片一段文字,图片float:left之后,文字会环绕图片. <div style="width: 100px;height: 100px"> <img src="image/1.jpg" style="width: 50px;height: 50px;float: left">阿斯利康大家啊胜利大街拉速度来喀什建档立卡结算单 </

CSS float浮动的深入研究、详解及拓展(一)

概念目录 个人感悟之CSS代码的情感化思维 个人观点之浮动的意义仅仅是文字环绕显示而已 个人观点之浮动的本质是"包裹及破坏" 个人观点之目前大多数浮动应用都不是浮动应该做的 个人观点之浮动其实是个魔鬼.混球 一.引言 你我看待事物的方式不同,价值取向也不同,因为我们有着不同的世界观,价值观.这种世界观的差异不仅仅体现在实际的生活中,也反映在代码上.你我看待代码的方式,或者说是代码在我们情感层面的位置是不一样的,我这里说的是情感层面,与逻辑无关,与算法无关(虽然算法受情感影响).这种看待

盒子模型、网页自动居中、float浮动与清除、横向两列布局

1.CSS包含:标准文档流,浮动,绝对定位 标准文档流的特点:从上到下,从左到右,输出文档内容 盒子模型:块级元素(div ui li dl dt p)与行级元素(span strong img input) 盒子模型:边框(border)外边框(margin)内边框(padding)内容(content) 盒子3D模型:border. content+padding .background-img.background-color.margin <html> <head> <

CSS基础学习十八:CSS布局之浮动

CSS布局中说到定位就不得不提浮动,浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动 框的边框为止.由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样. 一float属性的定义和用法 float属性:设置元素浮动 可能的值: none 不浮动,在文档流内,默认 left  左浮动,脱离文档流 right 右浮动,脱离文档流 inherit 规定应该从父元素继承 float属性的值. float属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文

归纳篇(一)CSS的position定位和float浮动

近期会更新一系列博客,对基础知识再度做个巩固和梳理. 一.position定位 (一):position的属性 1.absolute:生成绝对定位的元素,相对于最近一级定位不是static的父元素来进行定位: 2.relative:生成相对定位的元素,相对于其所在普通的文档流位置进行定位: 3.static:默认值,没有定位,元素出现在正常的文档流中; 4.fixed:老IE不支持,和absolute一致,相对于窗口进行定位,当出现滚动条时,不随着滚动而滚动: 5.sticky:(CSS3)有兼