超详细的学习笔记:CSS定位装饰(附代码示例)

news2024/11/24 9:12:27

笔记参考b站网课:【前端开发入门教程,web前端零基础html5 +css3+前端项目视频教程】https://www.bilibili.com/video/BV1Kg411T7t9?p=124&vd_source=06e5549bf018e111f4275c259292d0da

目录

一、网页常见布局方式

1、标准流

2、浮动

3、定位

二、定位的常见应用场景

三、使用定位的步骤

四、相对定位

子绝父相

五、绝对定位

绝对定位的盒子margin: 0 auto;居中不生效的问题

 六、固定定位

七、元素层级问题

如果想让写在上面的定位覆盖写在下面的定位怎么办?

八、认识基线(了解)

九、垂直对齐方式

文字对齐问题

垂直对齐方式

十、光标类型

十一、圆角矩形

圆角矩形的常见应用

画一个正圆:

胶囊按钮:

十二、溢出部分显示效果

十三、元素本身隐藏

十三、元素整体透明度


一、网页常见布局方式

1、标准流

1.块级元素独占一行一垂直布局

2.行内元素/行内块元素一行显示多个一水平布局

2、浮动

可以让原本垂直布局的块级元素变成水平布局

3、定位

1.可以让元素自由的摆放在网页的任意位置

2.一般用于盒子之间的层叠情况

二、定位的常见应用场景

1、可以解决盒子与盒子之间的层叠问题

定位之后的元素层级最高,可以层叠在其他盒子上面

2、可以让盒子始终固定在屏幕中的某个位置

例如:CSDN中,屏幕滚动时,最上方的菜单栏相对于浏览器窗口是静止的

三、使用定位的步骤

1.设置定位方式

属性名:position

常见属性值:

 

2.设置偏移值

偏移值设置分为两个方向,水平和垂直方向各选一个使用即可选取的原则一般是就近原则 (离哪边近用哪个)

属性值是数字+px,也可以使用百分数

如果left和right都有,以left为准,top和bottom都有以top 为准

 

四、相对定位

介绍:自恋型定位,相对于自己之前的位置进行移动

代码: position:relative;

特点

1.需要配合方位属性实现移动

2.相对于自己原来位置进行移动

3.在页面中占位置——没有脱标

4.仍具有标签原有的显示模式的特点

应用场景:

1.配合绝对定位组CP(子绝父相)

2.用于小范围的移动

子绝父相

含义:父级绝对定位,子级相对定位

 

五、绝对定位

介绍:拼爹型定位,相对于非静态定位的父元素进行定位移动

代码: position:absolute;

特点:

1.需要配合方位属性实现移动

2.默认相对于浏览器可视区域进行移动

3.在页面中不占位置——已经脱标

4.改变标签的显示模式:具有行内块特点

应用场景

1.配合绝对定位组CP(子绝父相)

先找已经定位的父级,如果有这样的父级就以这个父级为参照物进行定位

若有父级,但父级没有定位,以浏览器窗口为参照为进行定位

绝对定位查找父级的方式:就近找定位的父级,逐层查找。如果找不到,就以浏览器窗口(即body)为参照物

绝对定位的盒子margin: 0 auto;居中不生效的问题

解决办法:用定位配合margin

直接看代码示例

将盒子向左侧和上侧移动,更好的解决方法是使用位移,代码如下

 

 六、固定定位

介绍:死心眼型定位,相对于浏览器进行定位移动

代码:position:fixed;

特点:

1.需要配合方位属性实现移动

2.相对于浏览器可视区域进行移动

3.在页面中不占位置——已经脱标

4.改变标签的显示模式:具有行内块特点

应用场景

让盒子固定在屏幕中的某个位置

七、元素层级问题

不同布局方式元素的层级关系

标准流<浮动<定位

不同定位之间的层级关系

相对、绝对、固定默认层级相同

此时HTML中写在下面的元素层级更高,会覆盖上面的元素,即定位的盒子后来者居上

如果想让写在上面的定位覆盖写在下面的定位怎么办?

方法一:

简单粗暴,调顺序

方法二:

给盒子加标签:z-index:整数,取值越大,显示顺序越靠上,z-index的默认值是0,若取值为99,则表示该定位位于浏览器的第99层

八、认识基线(了解)

基线:浏览器文字类型元素排版中存在用于对齐的基线(baseline)

 

九、垂直对齐方式

文字对齐问题

场景:解决行内/行内块元素垂直对齐问题

问题:当图片和文字在一行中显示时,其实底部不是对齐的 

原因:浏览器在解析行内块元素和行内元素的时候,会把元素当成文字,所以两个并排着的元素在水平方向会紧挨着,垂直方向两个元素按照基线对齐,故无法正常地对齐水平对齐或顶对齐或底对齐

解决方法:用vertical-align

 vertical-align专治行内、行内块元素水平方向对不齐的问题

垂直对齐方式

属性名:vertical-align

属性值

line-height用于让文字垂直居中,若想让图片垂直居中,需配合vertical-align,代码如下

十、光标类型

场景:设置鼠标光标在元素上时显示的样式

属性名: cursor

常见属性值

十一、圆角矩形

场景:让盒子四个角变得润,增加页面细节,提升用户体验

属性名: border-radius

常见取值:数字+px、百分比

原理:

赋值规则:从左上角开始赋值,然后顺时针赋值,没有赋值的看对角! (类似于padding和margin)

圆角矩形的常见应用

画一个正圆:

1.盒子必须是正方形

2.设置边框圆角为盒子宽高的一半—— border-radius:50%

胶囊按钮:

1.盒子要求是长方形

2.设置一border-radius: 盒子高度的一半

十二、溢出部分显示效果

溢出部分:指的是盒子内容部分 所超出盒子范围的区域

场景:控制内容溢出部分的显示效果,如:显示、隐藏、滚动条......

属性名: overflow

常见属性值:

十三、元素本身隐藏

场景:让某元素本身在屏幕中不可见。如:鼠标:hover之后元素隐藏

常见属性:

1 visibility: hidden;

2 display: none;

区别:

visibility: hidden是占位隐藏

display: none不占位

工作中常用的是display:none;

十三、元素整体透明度

场景:让某元素整体 (包括内容)一起变透明

属性名:opacity

属性值: 0~1之间的数字

1: 表示完全不透明

0:表示完全透明

注意点:

opacity会让元素整体透明,包括里面的内容,如:文字、子元素等.....

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

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

相关文章

软件鉴定测试报告需要哪些材料?

软件鉴定测试报告是对软件产品进行功能、性能和安全等方面的测试和评估后所生成的报告。软件鉴定测试报告作为软件质量的重要指标&#xff0c;为软件的发布和应用提供可靠的依据。以下是软件鉴定测试报告中常见的材料内容&#xff1a; 1. 软件测试计划&#xff1a;包括测试目的…

UncategorizedSQLException 报错

85、UncategorizedSQLException 报错 出现问题的原因&#xff1a; 本身是没有这个问题的&#xff0c;后来服务器上的一张表&#xff0c;被误删了&#xff0c;重新创建之后&#xff0c;就出现了这个问题 org.springframework.jdbc.UncategorizedSQLException: ### Error upd…

C++—类和对象

文章目录 1 类2 对象2.1 创建对象2.2 对象的操作2.3 构造函数2.4 析构函数 3 静态成员4 this指针5 友元 一切我们研究的事物&#xff0c;都可以叫做对象。对象具有状态&#xff0c;操作和行为。通常用一个数值来描述对象的状态。对象的操作用于改变对象的状态。对象和对象的操作…

BlueZ 开发学习指南(一) --- D-Bus介绍

BlueZ 开发学习指南&#xff08;一&#xff09; — D-Bus介绍 一、 BlueZ与D-Bus简介 Linux使用的蓝牙协议栈是Blue Z&#xff0c;不同于我们以往的开发方式&#xff0c;Blue Z提供的API 并不是通过头文件这样的形式&#xff0c; 而是通过D-Bus的方式来提供的。 Blue Z提供的是…

AutoDL 训练stable-diffusion lora模型

1.创建镜像实例 2. 启动实例 3.启动服务 4.配置参数 4.1 基础模型选择 4.2 文件路径设置 5.点击打印训练信息 6.训练模型&#xff08;点击Train model&#xff09;

C++ 迭代器的设计与使用

C 迭代器是一种用于访问容器&#xff08;例如数组、向量、列表等&#xff09;元素的工具。它们允许我们以一种统一的方式遍历和操作容器中的数据&#xff0c;而不用关心容器内部数据结构的细节 C 迭代器 std 重要函数 std::begin 和 std::endstd::advance(iter,n)向前移动…

从零开始,用Python编写EA实战指南

在外汇交易领域&#xff0c;EA&#xff08;Expert Advisor&#xff09;是一种基于计算机程序的交易策略&#xff0c;被广泛应用于机器人化交易和量化交易。Python作为一种高效、灵活的编程语言&#xff0c;被越来越多的投资者用于编写EA和数据分析。本文将提供一份从零开始&…

Postgresql在哪里使用列统计信息?

对pg_statistic表的查询都是走syscache的&#xff0c;要找到所有使用列统计信息地方&#xff0c;遍历系统表索引即可 enum SysCacheIdentifier {...STATEXTDATASTXOID,STATEXTNAMENSP,STATEXTOID,STATRELATTINH,... }下面是最常用的STATRELATTINH索引场景&#xff0c;即 Sear…

行业追踪,2023-07-13,新样式来了,更清晰地追踪行业趋势

自动复盘 2023-07-13 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

利用 Elasticsearch、ESRE、LLM 和 LangChain 加速制药行业的研发 — 第 1 部分

作者&#xff1a;Valerio Arvizzigno, Dimitri Marx, Francesco Di Stefano 这是一篇通过生成式 AI/LLM、自定义模型和 Elasticsearch 相关性引擎 (ESRE​​) 支持制药行业更快的药物创新和发现的综合指南。更快的药物发现带来有前途的候选药物是制药行业的主要目标。 为了支持…

Mysql表空间、段、区、页的关系

提示&#xff1a;mysql表空间、段、区、页的关系详细描述 文章目录 表空间-TABLE SPACE1 查看 表空间相关参数段&#xff08;segment&#xff09;区&#xff08;extent&#xff09;页&#xff08;page&#xff09; 表空间-TABLE SPACE 从 InnoDB 逻辑存储结构来看&#xff0c;…

顺序表 --- C语言实现

目录 1.线性表 2.顺序表 2.1 概念和结构 2.2 接口实现 2.3 数组相关面试题 2.4 顺序表的问题及思考 1.线性表 什么是线性表 &#xff1a; 线性表&#xff08;linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构&#xff0c;常…

Vue3 概述

文章目录 Vue3 概述概述Vue3对比Vue2优势使用create-vue创建项目概述创建项目目录结构 使用vue-cli创建项目概述创建项目目录结构 Vue3 概述 概述 Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript…

自定义指令directives:防抖,节流,element-ui的无限滚动在el-table上使用的封装

vue官网对于自定义指令的介绍 添加链接描述 除了核心功能默认内置的指令 (v-model 和 v-show)&#xff0c;Vue 也允许注册自定义指令。注意&#xff0c;在 Vue2.0 中&#xff0c;代码复用和抽象的主要形式是组件。然而&#xff0c;有的情况下&#xff0c;你仍然需要对普通 DOM…

分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)

目录 可靠消息最终一致性分布式事务实现_RocketMQ事务消息 可靠消息最终一致性分布式事务实战_案列业务介绍 数据库表设计 可靠消息最终一致性分布式事务实战_Docker安装 RocketMQ 部署RocketMQ的管理工具 可靠消息最终一致性分布式事务实战_实现订单微服务 可靠消息最终一…

分层解耦-IOCDI-DI详解

目录 Bean注入 小结 依赖注入的注解 Resource和Autowired区别 Bean注入 Autowired注解&#xff0c;默认是按照类型进行依赖注入&#xff0c;如果存在多个相同类型的bean就会报错 解决方案 Primary&#xff08;设置bean的优先级&#xff09; Qualifier&#xff08;通过bean…

简单版本视频播放服务器V1

一直想做个家用版本的视频播放器&#xff0c;通过这个可以实现简单的电脑&#xff0c;通过浏览器就是可以访问电脑里面的视频&#xff0c;通过手机&#xff0c;平板等都是可以访问自己的视频服务了 后端代码&#xff1a; package mainimport ("fmt""io/iouti…

2023年7月13日 星期四 Linux驱动作业

1.使用platform驱动实现代码实现如下要求 a.应用程序通过阻塞的io模型来读取number变量的值 b.number是内核驱动中的一个变量 c.number的值随着按键按下而改变(按键中断) 例如number0 按下按键number1再次按下按键number0d.在按下按键的时候需要同时将1ed1的状态取反 t e.驱动…

Tik Tok你不知道的那些知识?

TikTok是一款短视频社交平台&#xff0c;由中国公司字节跳动&#xff08;ByteDance&#xff09;开发和运营。它让用户可以通过手机拍摄、编辑和分享15秒至60秒的短视频&#xff0c;涵盖了各种内容&#xff0c;包括音乐、舞蹈、喜剧、唱歌、游戏等。TikTok以其简单易用和丰富多样…

Meteor code must always run within a Fiber 报错解决办法

报错&#xff1a; 这样的写法会出现这个报错 大概的意思就是说&#xff0c;目前你这个函数不是运行在meteor的环境中&#xff0c;所以要使用Meteor.bindEnvironment&#xff0c;来改变函数运行的上下文 解决办法&#xff1a;