HTML的浮动与定位

devtools/2024/11/17 3:33:14/
htmledit_views">

1. 浮动

浮动可以使一个元素脱离自己原本的位置,并在父元素的内容区中向左或向右移动,直到碰到父元素内容区的边界或者其它浮动元素为止。

描述
left元素向左浮动
right元素向右浮动

普通文档流:浏览器在默认情况下规定一个块元素在父元素内的排列规则:

  • 从上往下排列

  • 从左开始排列

  • 一个块元素占一行

.parent {width: 800px;height: 400px;border: 10px solid blue;
}
​
.box1 {width: 250px;height: 80px;background-color: #ed7d31;
}
​
.box2 {width: 400px;height: 100px;background-color: #70ad47;
}
​
.box3 {width: 200px;height: 200px;background-color: #7030a0;
}
<div class="parent"><div class="box1"></div><div class="box2"></div><div class="box3"></div>
</div>

浮动之后的文档流

.parent {width: 800px;height: 400px;border: 10px solid blue;
}
​
.box1 {float: left;width: 250px;height: 80px;background-color: #ed7d31;
}
​
.box2 {width: 400px;height: 100px;background-color: #70ad47;
}
​
.box3 {width: 200px;height: 200px;background-color: #7030a0;

9.1 浮动元素父级高度塌陷

当父级元素没有设置高度时,高度会由文档流内容撑开。而当子元素浮动之后,脱离了文档流,所以父级高度不会被撑开,这对我们后续的布局结构会造成很多困扰。

  • 对于内容固定的元素,如果子元素都浮动,可以给父元素固定高度(例:导航栏)

  • 在父元素的末尾添加空的块元素。设置clear:both;清除浮动

  • 为父元素设置overflow:hidden;解决高度为0

2. 定位

定位postion属性,可以让我们将元素从文档流中取出,然后使用方位词属性(left top right bottom)精准的控制它的位置。

不同的定位值可以使元素拥有不同的表现形式,例如放在另外一个元素上面或者固定在浏览器的显示区某个位置。

10.1 relative

相对定位能让元素保持原文本流位置的同时,可以通过方位属性进行相对于原位置的偏移。

  • 不会脱离文档流

  • 不影响元素本身的任何特性

  • 如果不加方位词偏移那么没有任何影响

10.2 absolute

绝对定位能让元素脱离文档流(原地起飞...),使用方位属性相对于最近的有定位的父级元素进行偏移

方位属性left和top 优先级比 right和bottom高,比如一个元素既拥有left也拥有right,最终位置以left为准。

  • 脱离文档流

  • 元素宽高默认值为0,可以设置宽度高度,可以设置内外边距

  • 找不到最近的定位父级则相对于body标签

  • 一般配合相对定位使用(参照物)

  • 设置了绝对定位,没有设置层级;html后写居上

  • margin:auto 暂时失效

10.3 fixed

固定定位能让元素脱离文档流,使用方位属性相对于浏览器可视区进行偏移;

  • 脱离文档流

  • 元素宽高默认值为0

  • margin:auto失效

10.4 层级

定位元素之间,如果出现覆盖问题,那么越到后面的元素优先级越高,当然我们可以使用z-index层级属性来调整优先级。数值越大,越靠上。

z-index属性只针对定位元素有效

取值为一个整数数字,默认auto 或 0 ,可正可负


http://www.ppmy.cn/devtools/134608.html

相关文章

C++的版本

C是一种高效、灵活和强大的编程语言&#xff0c;自1983年由Bjarne Stroustrup在贝尔实验室创立以来&#xff0c;经历了多个版本的更新。以下是C的主要版本及其特点&#xff1a; C98&#xff1a; 1998年发布&#xff0c;是C的第一个国际标准。引入了类、继承、模板、异常处理等…

【Goland】——Gin 框架简介与安装

文章目录 1. Gin 框架概述1.1 什么是 Gin 框架&#xff1f;1.2 为什么选择 Gin&#xff1f;1.3 使用场景 2. 安装 Go 与 Gin 框架2.1 安装 Go 语言环境2.2 初始化 Go 项目2.3 安装 Gin 框架 3. 编写第一个 Gin 应用3.1 Gin 最小化示例代码代码解读3.2 运行程序3.3 测试服务 4. …

Net.Core Mvc 添加 log 日志

1: 首先在 Nuget 安装插件 2&#xff1a;添加 log 配置 在项目中新创件一个文件夹 ConfigFile 在文件家里面添加 log4net.config log4net.config 里面写入 <?xml version"1.0" encoding"utf-8"?> <configuration><log4net><!--跟…

简易的学生信息管理系统制作——C语言实现

菜单代码 #include "head.h" int main(int argc, const char *argv[]) {int ch,k;//登录注册while(1){printf("\t1、注册\n");printf("\t2、登录\n");printf("\t0、退出\n");printf("请输入你的选择&#xff1a;");scanf(&…

STM32 ADC --- 任意单通道采样

STM32 ADC — 单通道采样 文章目录 STM32 ADC --- 单通道采样cubeMX配置代码修改&#xff1a;应用 使用cubeMX生成HAL工程 需求&#xff1a;有多个通道需要进行ADC采样&#xff0c;实现每次采样只采样一个通道&#xff0c;且可以随时采样不同通道的功能。 cubeMX配置 这里我们…

FPGA使用Verilog实现CAN通信

FPGA实现CAN通信&#xff08;Verilog&#xff09; 1.作者使用的方法是通过FPGA芯片&#xff08;如Xilinx公司的型号为XC7K325TFFG676-2&#xff09;控制SJA1000T芯片&#xff08;CAN控制器芯片&#xff09;实现CAN通信&#xff0c;如下图所示&#xff1a; 2.熟悉连接方式之后&…

【计网不挂科】计算机网络第五章< 传输层 >习题库(含答案)

前言 大家好吖&#xff0c;欢迎来到 YY 滴计算机网络 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的计算机网络题目&#xff0c;供yy应对期中考试复习。大家可以参考 本章为分章节的习题内容题库&#x…

CTF攻防世界小白刷题自学笔记12

1.easyupload&#xff0c;难度&#xff1a;1&#xff0c;方向&#xff1a;Web&#xff0c; 题目来源:CTF 题目描述:一名合格的黑客眼中&#xff0c;所有的上传点都是开发者留下的后门 给一下题目链接&#xff1a;攻防世界Web方向新手模式第15题。 打开一看果然可以上传图片…