CSS布局基础(定位)

news/2024/11/26 11:11:24/

定位

    • 定位
      • 定位方式
      • 定位偏移
      • 其他知识点
        • z-index
        • 父相子绝
        • 固定定位贴着版心
        • 绝对定位到父盒子中央
        • 绝对定位和固定定位浮动效果
        • 原生浮动和定位产生的浮动的区别

定位

如字面意思,定位的作用就是将元素,移动到指定的地方.
浮动一般用于横向排列块级元素;定位则可以让元素在盒子内自由移动或者固定在屏幕某个位置,并且可以将元素浮动起来 并且定位的浮动在 float 浮动之上

position: absolute | relative | fixed | static(默认)| sticky
top: 10px;
right: 10px;
bottom: 10px;
left: 10px;

定位方式

说明是否脱离文档流位移参考系
absolute绝对定位最近的开启了定位上级元素,body兜底
relative相对定位自身原来位置
fixed固定定位页面窗口(不随页面滚动而移动) 左上角
static静态定位默认不开启定位
sticky粘性定位达到指定位置之前无定位效果,一旦达到指定位置,表现出固定定位效果。页面窗口(不随页面滚动而移动) 左上角

定位偏移

以对应的参考物,在上下左右方向上 进行移动,偏移值可以使用固定值 或者 百分比
同时指定上下 或者 左右时,以左上优先级更高
相对定位:相对自己的哪条边多远
绝对定位:相对有效定位父元素或者body(未找到开启定位的父元素时)哪条边多远
固定定位:相对body哪条边多远
粘性定位:必须加上一个偏移量不脱离文档流,未触发时,表现为无定位;触发后表现为固定定位。常用于,元素随页面到达指定位置固定住

  • top: 10px 或者 15% ;
  • right: 10px;
  • bottom: 10px;
  • left: 10px;

其他知识点

z-index

当有多个元素,由于定位而重叠在一起时,使用 z-index属性指定层叠关系,值越大,越靠上;z-index 只有在定位的元素上才有效。若z-index 相同,则以标签先后顺序为准,后来居上==

父相子绝

若一个元素要开启绝对定位,其上级(父、组均可)元素要开启定位或者 body兜底 为参考物。常见组合曰父相子绝== 父元素开启相对定位(不影响父元素现有布局),子元素绝对定位可以自由定位

固定定位贴着版心

  • 平移 left: 50%;
  • 再 margin-left: 版心宽度的一半 (如果不要紧贴这,要点缝隙就适当增加个 外边距)

绝对定位到父盒子中央

定位的导致的位移 优先级 高于 margin: auto,也就是说,如果定位导致了位移, 那么 margin: 0 auto; 将不再生效。

position: absolute;
top: calc(50% - 子盒子高度的一半(这里就是 50px));
left: calc(50% - 子盒子宽度的一半(这里就是 50px));
width: 100px;
height: 100px;

或者

position: absolute;         
width: 100px;
height: 100px;
top: 50%;
margin-top: -50px;
left: 50%;
margin-left: -50px;

第二种方式借鉴了 固定定位贴版心 的思路,与第一种相比,把 calc 的处理拆分到 top 和 margin-top 上了。

绝对定位和固定定位浮动效果

绝对定位和固定定位产生的浮动效果,与 float 类似。如果对行内元素使用,元素会表现出行内块的特性。同样的,如果对块级元素使用绝对/固定定位,元素也会表现出行内块特性

原生浮动和定位产生的浮动的区别

  1. 定位浮动 浮得 比 原生浮动更高
  2. 原生浮动会挡住盒子,而不会挡住盒子中的文字/图片,文字/图片会自动绕开浮动的盒子,常用于图文环绕,而定位则会完全挡住后面挤上来的盒子。

http://www.ppmy.cn/news/57702.html

相关文章

功能齐全的 DIY ESP32 智能手表设计之PCB介绍

相关设计资料下载ESP32 智能手表带心率、指南针设计资料(包含Arduino源码+原理图+Gerber+3D文件).zip 目录 ESP32智能手表PCB 3D 视图效果 主板不同组件的标记

Graph Theory(图论)

一、图的定义 图是通过一组边相互连接的顶点的集合。 In this graph, V { A , B , C , D , E } E { AB , AC , BD , CD , DE } 二、图的类型 2.1 Finite Graph A graph consisting of finite number of vertices and edges is called as a finite graph. Null Graph Tri…

云服务器部署python项目

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

现代CMake高级教程 - 第 6 章:输出与变量

双笙子佯谬老师的【公开课】现代CMake高级教程课程笔记 第 6 章:输出与变量 在运行 cmake -B build 时,打印字符串(用于调试) message("Hello world!")❯ cmake --build buildHello world! -- Configuring done -- G…

基于jQuery------购物车案例

目录 基于jQuery------购物车案例 案例:购物车案例模块-增减商品数量分析 案例:购物车案例模块-修改商品小计分析 案例:购物车案例模块-计算总计和总额 案例:购物车案例模块-删除商品模块 案例:购物车案例模块-选…

移动宽带安装说明一(刘欣)

2023年,五一假期给老家和父母家安装了2次宽带,记录一下吧。 一、移动光改覆盖率已经很高了 从当初的铁通“FTTB”覆盖小区,网线入户的带宽只能达到100M,提升到现在大面积的光改完成,普遍是光猫(光纤MODEL&#xff09…

什么是API接口?

API是指应用程序接口,是一种连接不同软件应用程序的桥梁,以实现相互通信和数据交换的手段。随着互联网技术的发展,API接口越来越广泛地应用于各种企业业务中。本文将从API接口的基本概念、作用、优缺点等多个角度进行探讨。 一、基本概念 A…

easyexcel读取excel合并单元格数据

普通的excel列表,easyexcel读取是没有什么问题的。但是,如果有合并单元格,那么它读取的时候,能获取数据,但是数据是不完整的。如下所示的单元格数据: 我们通过简单的异步读取,最后查看数据内容&…