【CSS】<Cascading Style Sheets>元素浮动&元素定位

简介: 【1月更文挑战第17天】【CSS】<Cascading Style Sheets>元素浮动&元素定位

 一、浮动概述:

       通过设置浮动可以让一个元素向其父元素的左侧或者右侧移动,使用float属性来设置元素浮动。可以通过浮动来设置一些水平方向的布局。

属性值:

image.gif编辑

注意:

       元素设置浮动之后,水平布局遍不再需要强制满足和父元素宽高等式!!!元素设置浮动后,元素会完全从文档流中脱离,不再占用文档流的位置。

浮动特点:

    • 浮动元素完全脱离文档流,不再占据文档流中的位置
    • 设置浮动以后元素会向父元素的左侧或者右侧移动
    • 浮动元素默认不会从父元素中移出
    • 浮动元素向左或者向右移动时,不会超过它前边的其它浮动元素
    • 如果浮动元素的上边是一个没有浮动的块元素,则浮动元素无法上移
    • 浮动元素不会超过它上边的浮动的兄弟元素,最多和他一样高
    • 浮动元素不会覆盖文字,文字会自动环绕在浮动元素的周围,所以我们可以利用浮动来设置文字环绕图片效果

    脱离文档流特点:

    块元素:

      • 款元素不再独占一行
      • 脱离文档流之后,块元素的宽度和高度默认被内容撑开

      行内元素:

        • 行内元素脱离文档流以后会变成块元素,特点和块元素一样

        脱离文档流以后,不需要再区分块和行内元素了!


        二、高度塌陷&BFC:

        1.高度塌陷:

               在浮动布局中,父元素的高度默认是子元素撑开的,当子元素浮动后,其会完全脱离文档流,子元素会从文档流中脱离,将无法撑起父元素的高度,导致父元素高度丢失。父元素高度丢失之后,其下的元素会自动上移,导致布局混乱。

        2.Block Formatting Context:

               BFC(Block Formatting Context)块级格式化环境,BFC是一个CSS中的一个隐含属性,可以为一个元素开启BFC。开启BFC该元素会变成一个独立的布局区域。

        2.1 BFC特点:

          • 开启BFC的元素不会被浮动所覆盖
          • 开启BFC的元素子元素和父元素外边距不会重叠
          • 开启BFC的元素可以包含浮动的子元素

          2.2 开启BFC方式:

            • 设置元素的浮动
            • 将元素设置为行内块元素
            • 将元素的overflow设置为一个非visable的值,开启BFC,使得其可以包含浮动元素

            三、clear属性:

                   如果我们不希望某个元素因为其它元素浮动影响而改变位置,可以通过设置clear属性来清除浮动元素对当前元素所产生的影响。

            属性值:

            image.gif编辑


            相关文章
            |
            4月前
            |
            前端开发
            5.CSS学习(浮动)
            【7月更文挑战第29天】
            37 4
            |
            5天前
            |
            前端开发 JavaScript
            如何利用 CSS3 动画实现元素的淡入淡出效果?
            在上述代码中,定义了一个名为 `fade-in` 的CSS类,其初始透明度为0,并设置了淡入的过渡效果。当通过JavaScript为元素添加 `active` 类时,元素的透明度变为1,实现淡入效果;当再次点击按钮移除 `active` 类时,元素又会逐渐淡出。通过这种方式,可以根据用户的操作灵活地控制元素的淡入淡出效果。
            42 3
            |
            22天前
            CSS_定位_网页布局总结_元素的显示与隐藏
            CSS_定位_网页布局总结_元素的显示与隐藏
            22 0
            |
            1月前
            |
            前端开发
            css 块元素、行内元素、行内块元素相互转换
            css 块元素、行内元素、行内块元素相互转换
            90 0
            |
            2月前
            |
            前端开发
            【前端web入门第六天】01 CSS浮动
            这是关于CSS布局第六天学习目标的介绍,主要解决多个`<div>`标签在同一行显示的问题,即一个在左边,另一个在右边。文中介绍了标准流、浮动及flex布局的概念,重点推荐使用flex布局。文章详细讲解了浮动的基本使用、布局技巧及清除浮动的方法,包括额外标签法、单伪元素法、双伪元素法和`overflow`隐藏法,并提供了示例代码帮助理解。
            |
            3月前
            |
            前端开发 容器
            最新CSS3定位元素
            【8月更文挑战第28天】
            29 5
            |
            3月前
            |
            前端开发
            CSS - 使用 clip-path 轻松实现正六边形块状元素
            如何使用CSS的`clip-path`属性来创建正六边形的块状元素。文章提供了详细的HTML和CSS代码示例,展示了如何实现六边形的布局和样式,并通过CSS动画增强了视觉效果。最终效果是一个包含文本的可交互的正六边形元素,当鼠标悬停时会改变颜色。
            150 0
            CSS - 使用 clip-path 轻松实现正六边形块状元素
            |
            3月前
            |
            前端开发 容器
            前端面试热门问题--浮动和清除浮动(CSS)
            前端面试热门问题--浮动和清除浮动(CSS)
            |
            3月前
            |
            存储 前端开发
            为 HTML 元素指定 CSS 样式的方式
            【8月更文挑战第24天】
            73 0
            |
            3月前
            |
            前端开发
            CSS动画新潮流:炫酷水波效果,让网页元素生动起来!
            CSS动画新潮流:炫酷水波效果,让网页元素生动起来!