首页 > 前端开发 > 正文

web前端开发浮动的模式 web前端如果父级和子级都加了浮动会有什么现象?

2023-10-03 14:11:08 | 我爱编程网

今天我爱编程网小编为大家带来了web前端开发浮动的模式 web前端如果父级和子级都加了浮动会有什么现象?,希望能帮助到大家,一起来看看吧!

web前端开发浮动的模式 web前端如果父级和子级都加了浮动会有什么现象?

web前端如果父级和子级都加了浮动会有什么现象?

在WEB前端当中,如果针对元素进行了浮动的设置,则该元素会脱离文档流而存在,会引起父级元素的塌陷,同时会对同一级别的元素造成布局上的影响。

但是,当为父级元素也设置了浮动之后,父级元素也脱离文档流,父级元素和子级元素都属于浮动元素,此时,父级元素高度塌陷的问题反而会被解决(即:另一个元素的父级元素浮动,是针对该子级元素清浮动的一种方法),但是由于父级元素发生浮动,父级元素的兄弟级元素以及父级元素的父级元素,依旧会受到布局的影响。

如果是清除浮动,可以使用多种方法来实现,最为推荐的其实是 after伪元素清浮动 ,会更好用,也是当前WEB前端开发当中最为主流的一种清除浮动方法 我爱编程网

web前端开发浮动的模式 web前端如果父级和子级都加了浮动会有什么现象?

css知多少(8)--float上篇_html/css_WEB-ITnose


1. 引言对于我们所有的web前端开发人员,float是或者曾经一度是你最熟悉的陌生人??你离不开它,却整天承受着它所带给你的各种痛苦,你以为它很简单就那么一点知识,但却驾驭不了它各种奇怪的现象。
这就是我们又爱又恨的??float。所以,系统的学一学float是非常非常重要的。除了看书和看博客文章之外,我推荐大家去看一个奇葩(声音很有磁性,你懂得)录制的教程《CSS深入理解之float浮动》,讲的很好很透彻。
2. 重新认识float 2.1. 误解和“误用”既然提到“误用”,各位看官就此想想,自己平日是怎么使用float的?另外,既然“误用”加了引号,就说明这样的使用并不是真正的误用,而是误打误撞使用之后,带来了真正的效果。
这样一问大家,我想绝大多数用float都是为了??横向排版、或者多列布局。这样的使用是正确的,大部分人都这样使用,bootstrap的栅格系统也是使用了float来实现的,并且在css3被普及之前,多列布局的最佳解决方案也是使用float??要不然你就用table。
但是,这样使用确实是对float的一种误解和“误用”,因为float被设计出来的初衷是用于??文字环绕效果。即,一个图片一段文字,图片float:left之后,文字会环绕图片。
但是,当时的多列布局和横向排版主要是依靠table实现,后来人们见见的发现,使用table将导致代码量大、混乱、不利于SEO,然后发现float+div是一个很不错的排版解决方案,于是乎??过去几年“css+div”页面排版一直是一个热门话题,也是各种高大上的面试题必考的一项。
初学float的同学,你如果没有从最基础的知识入手,而是从网络的零散之后或者同事同学的零散代码学起的话,你可能只知道float是用来排版的,但是你却不知道float的许多个特性,这就导致了你在使用float时的许多问题。不信请看下文。
2.2. 破坏性首先大家来看两个demo,如下图。第一个demo是一个简单不过的例子,显示效果也很正常。第二个demo,唯一的区别就在于加了float:left,上层的却出现了“坍塌”现象。
不过,这就是float的“破坏性”??float破坏了父标签的原本结构,使得父标签出现了坍塌现象。导致这一现象的最根本原因在于:被设置了float的元素会脱离文档流。
初次接触“脱离文档流”的朋友可以这样理解:div是父亲,img是它的儿子,原本好好的父子关系,原本爷俩可以体面的展示一个包含关系的效果。直到有一天,img被设置了float。老天爷(浏览器)规定,任何float元素都不允许再呆在自己的家族中,于是img被逐出家门,断绝和div父子关系。于是乎,div没有了img儿子,也就不能再展示这种父子的包含关系,于是两者就各过各的,互不相干。??这样一说,容易理解了吧?
但是,永远都不要忘记float被设计的初衷??实现文字环绕效果。当div中有文字时,文字还是会环绕在img周围的。如下图:
好了,大家现在已经知道了float具有破坏性,可能也有很多朋友之前就知道这一特性,但是你有没有思考一下:float为什么会被设计成具有破坏性,为什么会脱离文档流?这一点非常重要!其实原因非常简单??为了要实现文字的环绕效果?
有人可能会问:啊?你刚才不是说了float的初衷就是实现文字环绕效果吗?和破坏性有啥关系?
这时我会反问你:如果float不让父元素坍塌,能实现文字环绕效果吗?给你两个图看看你就知道了。看不明白的可以给我留言讨论。
2.3. 包裹性“包裹性”也是float的一个非常重要的特性,大家用float时一定要熟知这一特性。咱们还是先从一个小例子看起:
如上图,普通的div如果没有设置宽度,它会撑满整个屏幕,在之前的盒子模式那一节也讲到过。而如果给div增加float:left之后,它突然变得紧凑了,宽度发生了变化,把内容“王福朋”三个字包裹了??这就是包裹性。div设置了float之后,其宽度会自动调整为包裹住内容宽度,而不是撑满整个父容器。
注意,此时div虽然体现了包裹性,但是它的display样式是没有变化的,还是block。
说道这里咱们回顾一下,在之前的博客中,也提到了“包裹性”,是哪些样式?你可以在此思考一下,我会在博客的评论中给出答案 。
知道了包裹性之后,我们还是继续思考:float为什么要具有包裹性?其实答案还得从float的设计初衷来寻找,float是被设计用于实现文字环绕效果的。文字环绕图片比较好理解,但是如果想要让文字环绕一个div呢?此时div不被“包裹”起来,那么如何去实现环绕效果?
道理很简单,你也可能是那种一点即通的聪明人,但是关键在于思考。
2.4. 清空格float还有一个大家可能不是很熟悉的特性??清空格。按照管理,咱还是先举例子说明。
上图中。第一个例子,正常的img中间是会有空格的,因为多个标签会有换行,而浏览器识别换行为空格,这也是很正常的。第二个例子中,img增加了float:left的样式,这就使得img之间没有了空格,四个img紧紧挨着。
如果大家之前没注意,现在想想之前写过的程序,是不是有这个特性。为什么float适合用于网页排版(俗称“砌砖头”)?就是因为float排版出来的网页严丝合缝,中间连个苍蝇都飞不进去。
“清空格”这一特性的根本原因是由于float会导致节点脱离文档流结构。它都不属于文档流结构了,那么它身边的什么换行、空格就都和它没关系的,它就尽量的往一边去靠拢,能靠多近就靠多近,这就是清空格的本质。
(float内容比较多,咱们分上、下两篇来介绍,这是上篇。下篇将马上发出,敬请期待)
-------------------------------------------------------------------------------------------------------------
欢迎关注我的教程:《从设计到模式》《深入理解javascript原型和闭包系列》《微软petshop4.0源码解读视频》《json2.js源码解读视频》
也欢迎关注我的开源项目??wangEditor,简洁易用的web富文本编辑器
-------------------------------------------------------------------------------------------------------------

web前端开发浮动的模式 web前端如果父级和子级都加了浮动会有什么现象?

web前端动态网页开发主流技术有哪些?

目前主流的框架是:Vue、React、Angular三大框架。

2020年新增的开发有: 小程序 云开发、react轻量级框架DvaJS和UmiJS、Vue企业级实战项目与框架、Flutter、React-Native实战项目。

框架详解:

1.Angular

Angular原名angularJS诞生于2009年,之前我们都是用jquery开发,自从zhiangular的出现让我们有了新的选择,dao它最大的特点是把后端的一些开发模式移植到前端来实现,如MVC、依赖注入等。

2.React

React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其创新式的VirtualDOM,性能上碾压angularJS,一经推出,火的一塌糊涂。 特点很多,VirtualDOM、JSX、Diff算法等,支持ES6语法,采用 函数式编程 ,门槛稍高,但也更灵活,能让开发具有更多可能性。

3.Vue

Vue作为最后推出的框架(2014年),借鉴了前辈angular和react的特点(如VirtualDOM、双向数据绑定、diff算法、响应式属性、组件化开发等)并做了相关优化,使其使用起来更加方便,更容易上手,比较少适合初学者。

以上就是我爱编程网整理的web前端开发浮动的模式 web前端如果父级和子级都加了浮动会有什么现象?相关内容,想要了解更多信息,敬请查阅我爱编程网。
与“web前端开发浮动的模式 web前端如果父级和子级都加了浮动会有什么现象?”相关推荐
web前端开发浮动 web前端程序员必看之浮动布局与弹性布局的区别
web前端开发浮动 web前端程序员必看之浮动布局与弹性布局的区别

web前端中,用于对浮动框架的对齐方式如果不是align属性,那是用哪个?floatfloat属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在CSS中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。值描述left元素向左浮动。right元素向右浮动。none默认值。元素不浮动,并会显示在其在文本中出现的位置。

2023-09-03 18:41:04
web前端开发的浮动案例 web前端程序员必看之浮动布局与弹性布局的区别
web前端开发的浮动案例 web前端程序员必看之浮动布局与弹性布局的区别

web前端程序员必看之浮动布局与弹性布局的区别Web页面布局技术主要css2.0中主要出现了浮动布局与定位,以及css3中新的布局方式弹性布局。对于web页面布局史中,浮动与定位统治了所有页面的布局。定位有不可替代的优点,主要的优点是可以实现多层级结构,且子元素的位置不局限于父元素的范围内。浮动布局主要用于解决多个块元素共存于一行的问题。虽然浮动可以解决多个块元素共存一行的问题,

2023-09-28 19:12:02
web前端开发浮动框架 web前端框架有哪些?
web前端开发浮动框架 web前端框架有哪些?

web前端框架有哪些?什么是Web前端开发?前端开发是创建web页面或app等前端界面呈现给用户的过程。通过html、css、js以及衍生出来的各种技术、框架、解决方案来实现互联网产品的用户交互界面。Web前端框架有:Bootstrap框架、React框架、Vue框架、Angular框架、Foundation框架、TypeScript框架。1、Bootstrap

2023-09-11 21:55:19
web前端开发浮动框架属性 web前端开发都有哪些常见框架结构?
web前端开发浮动框架属性 web前端开发都有哪些常见框架结构?

web前端开发都有哪些常见框架结构?随着互联网的不断发展,越来越多的程序员都开始学习和掌握关于web前端开发的相关技术知识。今天,我们就一起来了解一下,web前端开发都有哪些常见框架需要我们了解和掌握的。一,socket通信说起web,肯定离不开tcp协议和http协议(https协议较为复杂,暂时不在本章讨论范围之内)。http协议在后面,那什么是tcp协议,cp协议就是网络

2023-09-26 20:21:48
移动WEB前端高级开发实 移动前端开发和Web前端开发的区别是什么
移动WEB前端高级开发实 移动前端开发和Web前端开发的区别是什么

移动前端开发和Web前端开发的区别是什么移动前端开发和Web前端开发的区别是:移动端前端开发是做手机网页的前端开发Web前端开发是桌面网页的前端开发服务器端开发,也叫后台开发,这是唯一的,对应不同的平台,他负责数据的分发与存储,和一些逻辑的处理,逻辑处理的多少由业务的复杂程度决定服务端相对独立,与平台没啥关系上述中不同的平台指web平台、移动设备平台等,移动设备又可

2023-10-04 15:01:35
web前端开发css浮动布局 div css布局技巧
web前端开发css浮动布局 div css布局技巧

CSS布局:float、position、flex、gridCSS是前端基础技能之一,而CSS最重要的功能就是网站布局。CSS布局方式有很多,从远古时代的table(表格)布局-->float(浮动)布局-->position(定位)布局-->flex(弹性)布局-->grid(网格)布局(还未正式推出),下面咱们简单谈一谈各种布局的用法及其优缺点。table

2023-09-28 21:59:57
web前端开发布局方式 web前端程序员必看之浮动布局与弹性布局的区别
web前端开发布局方式 web前端程序员必看之浮动布局与弹性布局的区别

前端布局的几种方式1.固定布局,静态布局传统Web设计,网页上的所有元素的尺寸一律使用px作为单位,网页宽度一般为960px。网页布局始终按照最初写代码时的布局来显示,不受浏览器影响。如果浏览器宽度如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景2.流式布局流式布局使用的是百分比,这位网页提供了很强的可塑性和流动性,与固定宽度布局基本不同点就在于

2023-09-28 11:34:37
web前端开发css浮动失效 ASP.NET2.0中CSS失效解决Q&A
web前端开发css浮动失效 ASP.NET2.0中CSS失效解决Q&A

html,css3.web前端开发。请问我这个border为什么再浏览器里面无效?从以下几个方向检查下:1、border此处的代码是否有错误的语法,所有符号必须是因为字符border:2pxsolid#0002、看下是不是里面的元素用了float,是的话在完了的nav样式中加一个clearFix目测就你是这个问题造成的,给你写一个clearFix的样式在标签的cl

2023-10-08 09:29:29