关于浮动

1、浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?

浮动元素:浮动元素的框可以向左或者向右移动,直到它的外边缘碰到父元素包含框或者另一个浮动元素的边框为止;浮动元素不在文档普通流之中,因此文档普通流中的块级元素感知不到浮动元素的存在。

对父容器的影响:不与父容器发生外边距合并。无法撑开父元素。

对其他浮动元素的影响:父容器足够宽,与其他浮动元素同一水平方向依次排列。父容器宽度在同一水平方向上不能同时容纳全部浮动元素时,超出父容器宽度的浮动元素向下移动,直到有足够的空间,如果水平排列三个以上高度不同浮动元素,那么向下移动的时候可能被卡住。

对普通元素的影响:浮动元素之前的普通元素不受影响。浮动元素之后的普通元素因感知不到浮动元素的存在会被浮动元素覆盖。

对文字的影响:文字所在行框因为浮动元素的挤压而缩短,从而围绕浮动元素排列。

2、清除浮动指什么? 如何清除浮动? 两种以上方法

清除浮动指:消除浮动元素对其他元素因浮动元素造成的高度塌陷的问题。

清除浮动的方法:

  • 设置操作元素属性clear: both或者clear: left或者clear: right
  • 使父容器形成BFC。父容器成为BFC后,父容器将不会出现高度塌陷的问题。

3、 有几种定位方式,分别是如何实现定位的,参考点是什么,使用场景是什么?

三种定位方式:

  • relative 相对定位。元素不脱离文档流。参考点:自身在文档流中的位置。使用场景:一般作为绝对定位的元素参考点,或者页面图片的小偏移。
  • absolute 绝对定位。元素脱离文档流。参考点:距离最近的非static祖先元素位置。如果元素没有已定位的祖先元素,那么他的位置就相对于初始包含块html来定位。使用场景:元素的水平垂直居中。
  • fixed 固定定位。元素脱离文档流。参考点:参考浏览器窗口的位置。使用场景:相对于浏览器窗口位置始终不变的显示窗口,比如:固定边栏和底栏。

4、z-index 有什么作用? 如何使用?

因为绝对定位的元素脱离了普通流,所以绝对定位的元素可以覆盖页面上的其它元素。这时可以通过给元素设置z-index属性来控制叠放顺序,该属性值越高,元素位置越靠上。

5、 position:relative和负margin都可以使元素位置发生偏移?二者有什么区别?

  • position:relative 只相对自己原本位置发生偏移,不影响其它普通流中元素的位置。
  • margin:除了让元素自身发生偏移还影响其它普通流中的元素。

6、BFC 是什么,为什么要使用它?如何生成 BFC?BFC 有什么作用?举例说明

1、BFC就是“块级格式化上下文”的意思,创建了 BFC的元素就是一个独立的盒子,不过只有Block-level box可以参与创建BFC, 它规定了内部的Block-level Box如何布局,并且与这个独立盒子里的布局不受外部影响,当然它也不会影响到外面的元素。

使用一定的CSS声明可以生成BFC,浏览器对生成的BFC有一系列的渲染规则,利用这些渲染规则我们可以达到一定的布局效果,为了达到特定的布局效果我们让元素生成BFC。

BFC的特性:

  • 内部的Box会在垂直方向,从顶部开始一个接一个地放置。
  • Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生叠加。
  • 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。
  • BFC的区域不会与float box叠加。
  • BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然。
  • 计算BFC的高度时,浮动元素也参与计算。

2、如何生成BFC:

  • float 除了none以外的值
  • overflow 除了visible 以外的值(hidden,auto,scroll )
  • display (table-cell,table-caption,inline-block, flex, inline-flex)
  • position值为(absolute,fixed)

3、BFC有什么作用:

  • 1、解决margin重叠问题;
  • 2、用于布局;
  • 3、用于清除内部浮动,计算BFC高度。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏angularejs学习篇

jQuery 图片轮播的代码分离

以前遇到过jQuery实现列表自动滚动,这次的图片轮播在原理上与之相同,只有一些细微的差别,就是需要在图片的右下角显示当前图片的序号。

1962
来自专栏mySoul

事件冒泡和传播

这还要从遥远的荒诞说起,两家网景和ie,为了能争夺市场,互相使用相反的技术,当网景使用事件传播的时候,ie使用事件冒泡。(两个正好相反)这个时候w3c来了,为了...

1236
来自专栏7号代码

Android应用界面开发——布局

线性布局可以控制各组件横向排列(通过设置属性android:orientation属性控制),也可控制各组件纵向排列。

1282
来自专栏前端知识分享

第3天:CSS浮动、定位、表格、表单总结

今天学的是浮动、定位、表格、表单等内容,这些是CSS中最容易混淆的知识,有许多小技巧在写代码过程中需要注意。下面是主要知识点:

953
来自专栏腾讯IVWEB团队的专栏

Canvas 实现 progress 效果

分享下一个简单的Canvas插件 ,Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像,你可以使用javascript用它来绘制图形。

5220
来自专栏极乐技术社区

wxss学习《四》字体,组件及API的思维导图

一:字体 一.字体:font。设置对象的文本特性。 1.font-style:文字样式。 取值:normal 正常的字体, italic 斜体字, o...

19710
来自专栏十月梦想

浮动

    将红色背景的div想左边漂浮,则原来的绿色div不显示是红色被遮挡在面。 

662
来自专栏前端杂货铺

居中详解

 讲解 1,单行文本的居中:           <div class='center'><span>单行文本框居中</span></div>         ...

3359
来自专栏分享达人秀

两分钟掌握FrameLayout帧布局

前面学习了线性布局、相对布局、表格布局,那么本期来学习第四种布局——FrameLayout帧布局。 一、认识FrameLayout 帧布局是An...

2129
来自专栏Petrichor的专栏

opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)

3122

扫码关注云+社区