当前位置: 首页 > news >正文

CSS学习10[重点]--浮动、浮动的效果以及内幕特性

CSS布局——浮动

  • 前言
  • 一、普通流
  • 二、浮动
  • 三、什么是浮动?
  • 四、浮动的内幕特性
  • 总结

前言

CSS盒子布具的三种机制:普通流(标准流)、定位、浮动。


一、普通流

普通流:网页内元素自上而下,从左到右排序。

二、浮动

  1. 浮动最开始的时候浮动是做文字环绕效果

    <html>
    <head><style>div {width: 200px;height: 100px;margin: 0 auto;}img {float: right;}</style>
    </head>
    <body><div>123899hj9d<img src="#.png" width="12" height="10" alt=""></div>
    </body>
    </html>
    
  2. 后来发现可以用浮动布局盒子

三、什么是浮动?

  1. 普通流改到浮动

    <html>
    <head><style>div {width: 200px;height: 100px;background-color: pink;display: inline-block; /*转换为行内块元素,放到一行但是元素中间有空格*/float: left; /*左侧浮动 一行排列没有空隙*/}div:nth-child(2) {background-color: hotpink;}div:last-child {background-color: deeppink;}</style>
    </head>
    <body><div></div><div></div>
    </body>
    </html>
    
  2. 实现块级元素放在一行。用display转换为行内块元素,但是此时div之间的空格难以去掉。用float: left; 可以放在一行且没有空格。

  3. 元素的浮动指定了浮动属性的元素脱离标准流,移动到父元素中指定位置的过程。在CSS中用float属性来定义浮动,其基本语法格式:

    float: left;
    float: right;
    float: none;

  4. 具体来说,浮动体现在脱离标准流,压在标准流上面。

    <html>
    <head><style>div:first-child {width: 200px;height: 100px;background-color: pink;float: left; /*加入这行,第一个盒子浮动到最上面,第二个盒子在底层从左上开始*/}div:last-child {width: 200px;height: 700px;background-color: blue;}/*如果两个盒子不加浮动,都是标准流,块级元素自上而下显示*/</style>
    </head>
    <body><div></div><div></div>
    </body>
    </html>
    

四、浮动的内幕特性

  1. 浮动脱离标准流,不占位置,压在标准流上面。浮动只有左右浮动。

  2. 使用的时候需要首先创造包含块的概念,即浮动的元素找它最近的父级元素对齐,但不超出内边距

    <html>
    <head><style>.father {width: 200px;height: 100px;background-color: pink;border: 10px solid purple;padding: 10px;}.son {width: 100px;height: 50px;background-color: blue;float: left; }</style>
    </head>
    <body><div class="father"><div class="son"></div></div>
    </body>
    </html>
    
  3. 浮动元素的排列位置,跟上一个元素(块级)有关系。如果上一个元素有浮动,则A元素顶部会和上一个元素的顶部对齐;如果上一个元素是标准流,则A元素的顶部会和上一个元素的底部对齐。

    <html>
    <head><style>section {width: 500px;height: 500px;background-color: pink;padding: 10px;}section div:first-child {width: 100px;height: 50px;background-color: blue;float: left; }section div:last-child {width: 100px;height: 50px;background-color: purple;float: left; }</style>
    </head>
    <body>
    <section><div>1</div><div>2</div>
    </section>
    </body>
    </html>
    
    • 一个父盒子里面的子盒子,如果有一个子级有浮动,则其他子级都需要浮动。这样才能一行对齐显示。
    • 元素添加浮动之后,具有行内块特性。元素的大小取决于定义的大小或者默认的内容大小。
      <html>
      <head><style>div {width: 500px;height: 500px;background-color: pink;float: left;  /*块级元素浮动之后 具有行内块特性*/}span {height: 100px;background-color: hotpink;float: left;  /*行内元素浮动之后 具有行内块特性*/}/*行内块特性 可以一行放多个 具有宽度和高度 盒子的大小由内容决定*/</style>
      </head>
      <body>
      <section><div>1</div><div>2</div><span>123</span><span>123</span>
      </section>
      </body>
      </html>
      

总结

浮动的目的为了让多个块级元素同一行显示。
float 浮漏特
浮:加了浮动的元素盒子是浮起来的,漂浮在标准流盒子上面
漏:加了浮动的盒子不占位置,原来的位置漏给了标准流盒子
特:特别注意,浮动的盒子需要和标准流的父类搭配使用,浮动可以使元素显示模型表现为行内块特性

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)
  • C++基础面试题 | 介绍C++中三种智能指针的使用场景?
  • 在 ANSA 中 ABAQUS 模板下螺栓预紧力设置
  • C语言 | Leetcode C语言题解之第391题完美矩形
  • Java程序分析工具
  • React 实现PDF预览(数据源使用文件流而不是url)
  • 表连接查询之两个left join与递归SQL
  • 项目实战 ---- 商用落地视频搜索系统(6)---UI 结构及与service互动
  • 项目日志——日志输出格式化模块的设计、实现、测试
  • 【MySQL】MySQL基础
  • C++学习笔记(9)
  • zblog自动生成文章插件(百度AI写作配图,图文并茂)
  • 从材料到应用:螺杆支撑座材质选择的多样性与精准性!
  • 结构化开发方法的三种基本控制结构
  • 为什么构造函数不能为虚函数?为什么析构函数可以为虚函数,如果不设为虚函数可能会存在什么问题?
  • @angular/forms 源码解析之双向绑定
  • JS笔记四:作用域、变量(函数)提升
  • JS题目及答案整理
  • js作用域和this的理解
  • SpringBoot 实战 (三) | 配置文件详解
  • TypeScript迭代器
  • Xmanager 远程桌面 CentOS 7
  • 构造函数(constructor)与原型链(prototype)关系
  • 两列自适应布局方案整理
  • 扑朔迷离的属性和特性【彻底弄清】
  • 深度学习在携程攻略社区的应用
  • 项目实战-Api的解决方案
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 国内开源镜像站点
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #图像处理
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • ()、[]、{}、(())、[[]]命令替换
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (9)目标检测_SSD的原理
  • (Qt) 默认QtWidget应用包含什么?
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (第一天)包装对象、作用域、创建对象
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (离散数学)逻辑连接词
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四)事件系统
  • (转)jQuery 基础
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .net core 连接数据库,通过数据库生成Modell
  • .NET gRPC 和RESTful简单对比
  • .NET 反射 Reflect
  • .NET委托:一个关于C#的睡前故事
  • ?.的用法
  • [AIGC] Java 和 Kotlin 的区别
  • [Day 36] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • [HJ56 完全数计算]