浮动与定位

74 阅读1分钟

浮动与清除

浮动

float属性的主要目的,是为了实现文本绕排图片的效果,现在常用于实现多栏布局。

1.文本绕排图片

屏幕快照 2022-10-20 下午2.11.36.png

2.创建分栏

在文本绕排图片的基础上,为段落添加float和宽度,即可创建分栏。 屏幕快照 2022-10-20 下午2.15.58.png

结论: 如果几个相邻的元素都具有设定的宽度,都是浮动的,并且水平空间足够容纳它们,它们就会并列排在一行。

3.围住浮动元素的三种方法

浮动元素脱离了正常的文档流,不能被其父元素所包含,在布局时可能会造成父元素高度塌陷等问题。

  • 方法一:为浮动元素的父元素添加 overflow:hidden,强制父元素包含浮动元素。
  • 方法二:为父元素设置浮动,使父元素收缩包裹其子元素。
  • 方法三:为父元素添加clearfix类
    .clearfix:after {
        content: ".",
        display: block,
        height: 0;
        visibility: hidden;
        clear: both;
    }

定位

  • 相对定位(position:relative)
    相对该元素原来在文档流中的位置进行定位,且并不会释放原来位置的空间。

image.png

  • 绝对定位(position:absolute)
    绝对定位会让元素彻底脱离文档流,释放其在正常文档流中的空间。绝对定位会相对于有定位的最近的祖先元素。

屏幕快照 2022-10-20 下午2.57.17.png

  • 固定定位(position:fixed) 固定定位与绝对定位类似,只不过,固定定位会相对于视口(浏览器窗口或手持设备的屏幕)进行定位。