浮动和定位

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

float CSS属性指定一个元素应沿其容器的左侧或右侧放置,直到它的外边缘碰到包含框或者另一个浮动元素的框的边缘。允许文本和内联元素环绕它。该元素从网页的正常流动中移除,尽管仍然保持部分的流动性(与绝对定位相反)。

  • 对父容器:由于float脱离了普通流,无法撑开父容器,会出现父容器高度塌陷问题。
  • 对其他浮动元素:如果宽度足够会水平排列; 不足会下移靠左/右移动;直到它的外边缘碰到父容器边框或者另一个浮动元素的框的边缘。
  • 普通元素:块级元素会当浮动元素不存在,但文本和内联元素时会‘感知’浮动元素,环绕浮动元素。

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

清除浮动是为解决因float导致的父容器高度坍塌、导致背景不能显示、边框不能撑开、margin padding设置值不能正确显示、影响后续元素位置等等问题。

  1. clear: left; 要求该盒的top border边位于源文档中在此之前的元素形成的所有左浮动盒的bottom外边下方
    clear: right; 要求该盒的top border边位于源文档中在此之前的元素形成的所有右浮动盒的bottom外边下方
    clear属性只对自身有效,只能在自身元素中使用clear。
  2. 在父容器内添加一个空的块级元素来撑开父元素。(使用伪函数更为推荐)
  3. BFC(块级格式化上下文)“清理”浮动,对于嵌套元素,子元素浮动会对父容器产生影响,我们可以通过BFC这种方式,令父容器包含浮动子元素。实现BFC有多种方式,(参考MDN参考W3)。但是使用这种方法也是有影响或者是局限性,例如使用display: inline-block,会缩短父容器长度。

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

  • 静态定位position: static
    默认的布局方式。参考点是文档流中的位置。

  • 相对定位position: relative;
    相对默认的布局位置进行定位,参考点为自己原先的位置。相对定位元素扔占有原先的位置。

  • 绝对定位positon: absolute;
    绝对定位元素脱离正常文档流,元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>

  • 定位上下文 Positioning Context
    定位上下文就是值绝对定位元素相对哪个元素定位,默认的定位上下文是 <html>。
    ps:元素设置绝对定位后,行内元素可以有块级元素的特性,可以添加宽高。

  • 固定定位position: fixed;
    相对浏览器窗口进行定位。因此当滚动产生时,固定定位元素依然处于窗口的某个固定位置。生成绝对定位元素,相对于viewport进行定位。

  • 粘性定位position: sticky
    是相对定位和固定定位的结合。默认情况下表现为相对定位,当浏览器窗口顶端与元素的距离等于 top 属性的值时,转变为固定定位。
    ps:由于兼容性,固定导航条一般用js来实现。

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

z-index 属性指定了一个元素及其子元素的 z-order。 当元素之间重叠的时候,z-order 决定哪一个元素覆盖在其余元素的上方显示。 通常来说 z-index 较大的元素会覆盖较小的一个。
对于一个已经定位的元素(即position属性值是非static的元素),z-index属性指定:

  • 元素在当前堆叠上下文中的堆叠层级。
  • 元素是否创建一个新的本地堆叠上下文。
    需要注意的是一个元素值大,它的所有子元素都会在其它元素上方。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,806评论 1 92
  • 浮动元素的特征及影响 特征: 浮动模型也是一种可视化格式模型,浮动的框可以左右移动(根据float属性值而定),直...
    Joey的企鹅阅读 914评论 0 0
  • 浮动元素特征 对父容器、其他浮动元素、普通元素、文字的影响 浮动会使应用此属性的元素脱离文档流。按指定的位置来移...
    ezrealor阅读 406评论 0 0
  • 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?浮动的元素会脱离文档流,向左或者向右移动...
    饥人谷_wanpp阅读 691评论 0 49
  • 1. 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素:元素脱离正常的文档流,...
    lingfighting阅读 811评论 1 4