CSS:浮动

简介: CSS:浮动

文档流:

由于网页默认是一个二维平面,当我们在网页中一行行摆放标签时,块标签会独占一行,行标签则只占自身大小,这种情况下要实现网页布局就很麻烦了,所以我们就需要通过一些方法来改变这种默认的布局方式!

浮动:

CSS中的浮动属性可以让标签脱离原来的文档流,也就是二维平面,浮动后的标签默认是内容的大小,且可以为其设置宽和高。


➱ 语法:float:left(向左浮动)  /  right(向右浮动)  /  none(不浮动)


▐ 存在问题:


浮动后的标签不占用原来文档流的空间,下面的标签就会向上移动,会影响后面的网页布局。


▐ 如何解决浮动问题?


1. 为父级标签设置高度,将父级标签撑开。


2. 在浮动的标签后使用清除浮动属性,自动让父级标签撑开(推荐)



实战练习:

✎. 例如我们做一个导航栏,如图所示:


第一步:用4个<div>标签来修饰内容并通过css设置背景颜色和文字颜色

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style>
      .content{
                //设置文字颜色和背景颜色
        color: antiquewhite;
        background-color: #50536e;    
      }
    </style>
  </head>
  <body>
      <div class="content">消息</div>
    <div class="content">动态</div>
    <div class="content">收藏</div>
    <div class="content">投稿</div>
  </body>
</html>


第二步:通过css的浮动属性,让4个<div>漂浮在一行,且浮动后的div标签默认是内容大小

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style>
      .content{
        color: antiquewhite;
        background-color: #50536e;
                //向左浮动
          float: left;
      }
    </style>
  </head>
  <body>  
      <div class="content">消息</div>
    <div class="content">动态</div>
    <div class="content">收藏</div>
    <div class="content">投稿</div>
  </body>
</html>


第三步:为浮动后的4个<div>标签设置宽和高,并使文本内容居中

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style>
      .content{
        color: antiquewhite;
        background-color: #50536e;  
        float: left;
        //设置宽高以及文本居中
        text-align: center;
        width: 150px;
        height: 50px;
        line-height: 50px; 
      }
    </style>
  </head>
  <body>
      <div class="content">消息</div>
    <div class="content">动态</div>
    <div class="content">收藏</div>
    <div class="content">投稿</div> 
  </body>
</html>


第四步:使这4个<div>标签整体在页面上居中。需要在这4个div标签外部再套一个div标签,

并设置这个父级div标签宽度=4*子级div标签宽度,通过margin: 0% auto;使其居中即可。  🎀 这里只有让父级div标签宽度=4*子级div标签宽度 才能实现居中,否则该父级div标签是默认占一整行的,无法通过margin: 0% auto;使其居中.

📖 不了解margin属性的小伙伴可以参考之前 CSS:盒子模型 的文章:

CSS:盒子模型-CSDN博客

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style>
      .content{
        color: antiquewhite;
        background-color: #50536e;
        float: left;
        text-align: center;
        width: 150px;
        height: 50px;
        line-height: 50px;  
      }
         .head{
        width: 600px;
        margin: 0% auto;
      } 
    </style>
  </head>
  <body>
    <div class="head">
      <div class="content">消息</div>
    <div class="content">动态</div>
    <div class="content">收藏</div>
    <div class="content">投稿</div>
    </div>
  </body>
</html>


第五步:清除浮动影响;即在浮动标签后添加一个clear属性修饰的空div标签即可。

     ➱     注意是在浮动的标签后添加,不要添加到父级标签之后了!

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style>
      .content{
        color: antiquewhite;
        background-color: #50536e;
        float: left;
        text-align: center;
        width: 150px;
        height: 50px;
        line-height: 50px; 
      }
         .head{
        width: 600px;
        margin: 0% auto;
      } 
    </style>
  </head>
  <body>  
    <div class="head">
      <div class="content">消息</div>
    <div class="content">动态</div>
    <div class="content">收藏</div>
    <div class="content">投稿</div>
    <div style="clear: left;"></div><!-- 清除浮动影响 -->
    </div>  
  </body>
</html>

清除浮动后,在之后的网页布局中下面的标签就不会向上移动了;例如我们在这个导航栏后添加一个标题标签<h1>标题<h1>测试下:

这是不清除浮动效果的结果:



本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力! 如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步! 有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

相关文章
|
2月前
|
前端开发
【前端|CSS系列第3篇】CSS盒模型、浮动及定位
【前端|CSS系列第3篇】CSS盒模型、浮动及定位
|
27天前
|
前端开发 容器
CSS基础-浮动:float与清除浮动
【6月更文挑战第9天】本文介绍了CSS中的`float`属性,用于创建多列布局和图文混排,但会导致浮动塌陷和元素重叠问题。为解决这些问题,文章探讨了`clear`属性的四种清除浮动方法,包括`clear`属性、空元素、伪元素和`overflow`方法。随着Flexbox和Grid布局的兴起,它们在某些场景下替代了浮动,但理解浮动原理仍是布局基础。掌握浮动和清除浮动技巧对构建稳定布局至关重要。
|
1月前
|
前端开发 UED 容器
纯CSS画浮动卡通蓝天白云草坪动画效果
【6月更文挑战第1天】网页设计中,通过创新技巧,可以使用HTML和CSS模拟云朵漂浮和草地动画效果,提升用户体验。背景实现采用线性渐变动画,使背景颜色从浅青至白平滑过渡并循环移动。云朵效果通过多个不同大小和位置的`<div>`元素,结合CSS的`position: absolute;`和`@keyframes`动画实现浮动。草的动画则是通过三角形形状及`::before`和`::after`伪元素创造,配合不同动画速度和角度模拟自然摆动。完整代码可在提供的链接中下载。
32 1
纯CSS画浮动卡通蓝天白云草坪动画效果
|
14天前
|
前端开发 容器
CSS浮动(如果想知道CSS有关浮动的知识点,那么只看这一篇就足够了!)
CSS浮动(如果想知道CSS有关浮动的知识点,那么只看这一篇就足够了!)
|
10天前
|
移动开发 前端开发 HTML5
CSS 布局模型(标准流模型、浮动模型)
CSS 布局模型(标准流模型、浮动模型)
|
11天前
|
移动开发 人工智能 前端开发
CSS3 布局模型+CSS3 浮动
CSS3 布局模型+CSS3 浮动
|
2月前
|
人工智能 前端开发 容器
CSS 浮动
CSS 浮动
29 1
|
1月前
|
前端开发
Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影二
Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影二
22 0
|
1月前
|
前端开发 容器
Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影(一)
Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影一
30 0
尚硅谷html5+css3(4)浮动
尚硅谷html5+css3(4)浮动