CSS知识点精学3-CSS浮动

news2024/9/25 2:07:08

目录

结构伪类选择器

伪元素

标准流

浮动

清除浮动


结构伪类选择器

目标:能够使用结构伪类选择器在HTML中定位元素

1.作用:工具元素在HTML中的结构关系查找元素

2.优势:减少对于HTML中类的依赖,有利于保持代码整洁

3.场景:常用于查找某父级选择器中的子元素

4.选择器

—— 如果写E:nth-child(n){ }就是改变所有子元素的样式

——如果写E:nth-child(2n){ }就是改变第偶数个子元素的样式

【同理,写(2n+1)就是奇数个】



 n的注意点:


伪元素

目标:能够使用伪元素在网页中创建内容

一般用于设置装饰性的小图,由CSS模拟出的标签效果

比如下图中圆框圈起来的部分

下图中 真正的标签里我只写了一个“爱”字,而“老鼠”和“大米”就是通过伪元素实现的 

 打开代码调试器,可以看到

 还可以在伪元素中加样式,可以成功改变伪元素的样式,比如改变颜色或背景颜色,也可以进行元素类型转换,所以就相当于css模拟出来的一个元素。

伪元素中必须设置content属性!


标准流

标准流:又称文档流,是浏览器在渲染显示网页内容时默认采用的一套排版规则,规定了应该以何种方式排列元素 

 


浮动

(浏览器解析行内块或行内标签的时候,如果标签换行书写会产生一个空格的距离)

换行书写:

 不换行书写:

 可是不换行书写标签会导致代码非常没有可读性,所以我们需要更加完美的解决方法,那就是浮动

1.浮动的作用

早期作用:发明浮动的时候是为了实现图文环绕,给img设置属性float:left,可以使得文字环绕图片布局,效果如下图

现在作用:网页布局

浮动可以让块级标签完美的在一行中布局

比如给两个div分别设置float:left喝float:right都属性

实现效果:

或者给两个div都设置float:left

实现效果:

这就完美解决了上面提到的第一个问题。

2.浮动的特点

1.浮动元素会脱离标准流(简称:脱流),在标准流中不占位置(相当于从地面飘到了空中)

2.浮动元素比标准流高半个级别,可以覆盖标准流中的元素,但不会覆盖文本

3.浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动

4.浮动元素有特殊的显示效果

        —— 一个可以显示多个

        —— 可以设置宽高

注意点:浮动的元素不能通过 text-align:center 或者 margin:0 auto

学会了浮动之后可以很快做出想要的布局,比如

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .head {
      height: 40px;
      width: 100%;
      background-color: #333333;
    }

    .center {
      height: 560px;
      width: 1226px;
      margin: 0 auto;
      background-color: gray;
    }

    .head2 {
      width: 100%;
      height: 100px;
      background-color: #ffc0cb;
    }

    .big {}

    .tab1 {
      height: 460px;
      width: 234px;
      background-color: #ffa500;
      float: left;
    }

    .tab2 {
      height: 460px;
      width: 992px;
      background-color: #87ceeb;
      float: right;
    }
  </style>
</head>

<body>
  <div class="head"></div>
  <div class="center">
    <div class="head2"></div>
    <div class="big">
      <div class="tab1"></div>
      <div class="tab2"></div>
    </div>
  </div>
</body>

</html>

 建议:(以下顺序为前后书写顺序,这个顺序浏览器执行效率更高,思考时可以不用严格遵循该顺序)


清除浮动

清除浮动的影响:如果子元素浮动了,父级无高度,此时子元素不能撑开标准流的块级父元素

原因:子元素浮动后脱标 —>不占位置

目的:需要父元素有高度,从而不影响其他网页元素的布局

解决清除浮动的影响的方法:

方法1:直接设置父元素高度

方法2:额外标签法

方法3:单伪元素清除法

 

 无需背诵,这是固定写法。

基本写法:

.clearfix::after{
    content: '';
    display: block;
    clear: both;
}

 补充写法:

.clearfix::after{
    content: '';
    display: block;
    clear: both;
    /* 补充代码,在网页中看不到伪元素*/
    height: 0;
    visibility:hidden;
}

方法4:双伪元素清除法

也无需背诵,可直接复制使用。

.clearfix::before,//出现的意义在于解决外边距塌陷问题
.clearfix::after{
    content:'';
    display: table;
}
.clearfix::after{
    clear:both;
}

//加上以上代码就可以解决所有的外边距塌陷问题和浮动清除问题

复习一下:外边距塌陷是指:父子标签,都是块级元素 ,子级加margin会影响父级的位置

方法5:给父元素设置 overflow:hidden

 是尊的很方便!我喜欢这个。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/140143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5G NR标准 第10章 物理层控制信令

为了支持下行链路和上行链路传输信道的传输&#xff0c;需要某些相关联的控制信令。这种控制信令通常被称为L1/L2控制信令&#xff0c;表示相应的信息部分来自物理层&#xff08;层1&#xff09;并且部分来自MAC&#xff08;层2&#xff09;。在本章中&#xff0c;将描述下行链…

一套WPF+EF+SQLServer 会员卡管理系统源码

今天分享的是一套WPFEFSQLServer 会员卡管理系统源码&#xff0c;界面使用Panuon.WPF.UI&#xff0c;图表工具使用LiveCharts.Wpf&#xff0c;麻雀虽小五脏俱全&#xff0c;该源码作Panuon.WPF.UI的示例入门较为合适&#xff0c;包含了常规控件的附加属性及官方文档中没有提及的…

前端性能的计算方式与优化方案

文章目录1.Navigation Timing1.1 什么是Navigation Timing1.2 Navigation Timing具体说明1.2.1 缓存处理阶段1.2.2 网络请求阶段1.2.3 dom渲染阶段1.3 使用1.3.1 如何查看1.3.2 项目中的使用2.Core Web Vitals - CWV 网页性能三大指标2.1 Largest Contenful Paint(LCP)扩展&…

C语言_自定义数据类型

目录 1.自定义数据类型_结构体 1.1 结构体类型的声明 1.1.1 匿名结构体 1.2 结构体的自引用 1.2.1 Typedef结构体重命名&#xff1a; 1.3 结构体变量的定义和初始化 1.4 结构体内存对齐 1.4.1 结构体的对齐规则 1.4.2 为什么存在内存对齐&#xff1f; 1.4.3 设置默认…

【闲聊杂谈】一篇给你讲清楚JVM调优的本质

1、什么是JVM JVM的定义 在说JVM之前&#xff0c;首先要知道什么是JVM。JVM是JavaVirtualMachine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算…

SpringBoot整合Quartz实现动态定时任务(三十四)

二八佳人体似酥&#xff0c;腰间仗剑斩愚夫。虽然不见人头落&#xff0c;暗里教君骨髓枯。 上一章简单介绍了 SpringBoot定时任务(三十三) ,如果没有看过,请观看上一章 关于 Quartz&#xff0c; 可以看老蝴蝶之前的文章: https://blog.csdn.net/yjltx1234csdn/category_995397…

【云原生】k8s的集群调度

k8s中的list-watch机制1.1 list-watc机制的概念运用Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点…

Android 基本控件

一、TextView TextView是一个文本框 1.id id是这个textview的唯一id 格式是id/(自定义ID) 图中Id是tv_one 每一个TextView都是一个对象 可以使用TextView的ID通过findViewById&#xff08;&#xff09;方法获取到这个View对象 setText是设置这个TextView的文本&#xff0c…

TiDB丨 从MySQL迁移至TiDB的常见问题及解决方案

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录一、前言二、GC设置过长的问题为什么在MySQL里可设置&#xff0c;保留更多的历史数据&#xff0c;而TiDB不行&#xff1f;TiDB中历史版本过多问题及排查方法二、SQL调…

Python解题 - CSDN周赛第20期 - 逆波兰 / 后缀表达式

不知不觉已经参加了19场比赛了&#xff0c;由于参赛次数多&#xff0c;排名竟然稀里糊涂地上升到第一&#xff0c;受宠若惊&#xff0c;赶紧截图保存纪念一下。 正好又赶上元旦&#xff0c;新的2023年&#xff0c;希望CSDN的周赛能越办越好&#xff0c;尽量少出bug&#xff0c;…

P1047 [NOIP2005 普及组] 校门外的树

题目 [NOIP2005 普及组] 校门外的树 题目描述 某校大门外长度为 lll 的马路上有一排树&#xff0c;每两棵相邻的树之间的间隔都是 111 米。我们可以把马路看成一个数轴&#xff0c;马路的一端在数轴 000 的位置&#xff0c;另一端在 lll 的位置&#xff1b;数轴上的每个整数…

批量化工程项目的实施过程

最近的批量化项目存在方案设计上的问题&#xff0c;导致很严重的后果。 1、各个相关方都需要投入较大的精力来处理此事&#xff1b; 2、投入的时间、金钱及人员等均在其中&#xff1b; 3、方案需要进行重新的验证&#xff0c;总体项目工程的周期进一步被压缩&#xff1b; 4…

21-InnoDB引擎底层存储和缓存原理

到目前为止&#xff0c;MySQL对于我们来说还是一个黑盒&#xff0c;我们只负责使用客户端发送请求并等待服务器返回结果&#xff0c;表中的数据到底存到了哪里&#xff1f;以什么格式存放的&#xff1f;MySQL是以什么方式来访问的这些数据&#xff1f;这些问题我们统统不知道。…

【C++ Primer】阅读笔记(1):基础

目录 简介类型选择(经验准则)当一个算术表达式既有int,又有无符号数时,int会转换为无符号数对象初始化与赋值的区别声明与定义全局变量与局部变量示例引用指针与引用的区别不可以将int变量直接赋值给指针,即便这个int变量是0const对象必须初始化参考结语简介 Hello! 非常…

pdf转换器电脑版免费,好用的办公操作软件集合

工作中太多的文件格式需要我们进行操作了&#xff0c;各种各样的文件可以打开的软件经常是不同的。就像是PDF文件&#xff0c;如果没有在电脑安装对应的可以打开的软件&#xff0c;可能我们就没办法直接查看文件内容。而且这种情况也不是偶然出现&#xff0c;可能还会随着我们文…

信息系统项目管理师的论文如何提高?

简单点来说吧&#xff01;也适合软考小白来看&#xff01; 信息系统项目管理师论文要写几道题&#xff1f;没有参加过信息系统项目管理师考试的考生对于论文科目考试不是很了解&#xff0c;那么信息系统项目管理师论文到底要写几道题呢&#xff1f; 软考高级信息系统项目管理…

振弦采集模块辅助功能寄存器之低功耗休眠

振弦采集模块辅助功能寄存器之低功耗休眠 在收到休眠指令后&#xff0c;完成当次测量后立即进入低功耗的休眠模式&#xff0c;休眠模式下&#xff0c; VDD 电流可降至 1mA 左右&#xff0c;当收到数字接口任意数据后自动唤醒。此功能会使硬件看门狗失效&#xff0c;存在模块意…

关于项目型和职能型组织结构的思考和笔记

1、区别项目型还是职能型&#xff0c;最根本的要点在于&#xff0c;沟通渠道必须通过谁&#xff08;负责人是谁&#xff0c;是项目经理还是职能经理&#xff0c;谁有沟通渠道控制权&#xff09;&#xff1b; 2、沟通渠道的控制权取决于利益的优先权&#xff08;例如&#xff1…

前端常用处理时间方法

项目上用到很多时间格式,写了一些处理时间的方法,也可以用第三方库,下面是我自己项目封装的一下方法,命名瞎写的,有些方法是关联的,很多没有怎么完善,记录一下,兼容ios时间问题,时间太赶没有完善,将就用下,人和程序有一个人跑就行 获取当前时间戳 getTodayTomorrowTtem export…

求树的直径(史上最详细,匠心之作,限时免费看)

一&#xff0c;题目SPOJ PT07Z, Longest path in a tree一.定义树上任意两节点之间最长的简单路径即为树的「直径」。二&#xff0c;解法做法 1. 两次 DFS过程:首先从任意节点y, 开始进行第一次 DFS&#xff0c;到达距离其最远的节点&#xff0c;记为 z&#xff0c;然后再从 z开…