CSS知识点精学5-定位装饰

news2024/11/17 11:44:57

目录

一.定位

1.定位的基本介绍

2.定位的基本使用

3.静态定位

4.相对定位

5.绝对定位

6.子绝父相

a.优化学成网站推荐课程卡片 

b.绝对定位盒子的居中(案例)

8.固定定位

9.元素的层级关系

二.装饰

 1.垂直对齐方式

2.光标类型

3.边框圆角

4.overflow溢出部分显示效果

5.元素本身隐藏

6.元素整体透明的


一.定位

1.定位的基本介绍

网页常见布局方式

常见应用场景

2.定位的基本使用

3.静态定位

静态定位相当于定位,写与没写无区别。

代码:

position : static;

4.相对定位

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

代码:

position : relative;

特点:

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

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

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

应用场景:

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

2.用于小范围的移动

注意:遵循左上原则

左上原则:如果left和right都有,以left为准; top和bottom都有以top为准。 

5.绝对定位

介绍:

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

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

代码:

position : absolute;

特点:

1.脱标,不占位

2.改变标签的显示模式特点:具体行内块特点(在一行共存,宽高生效)

注意:

绝对定位查找父级的方式:就近找定位的父级,如果逐层查找不到这样的父级,就以浏览器窗口为参照进行定位

6.子绝父相

介绍:子类设置绝对定位时,父级进行相对定位。

代码:

.father{
    position:relative;
}

.son{
    position:absolute;

    ...

}

子元素进行绝对定位时,寻找进行了定位的父级,该父级一般是设置为相对定位,防止父级带着子元素一起脱标。

a.优化学成网站推荐课程卡片 

学习到这里,我们可以对学成网站进行优化,将卡片模块的hot图标定位

 注意:此处的hot标签 右侧需要出去4px,这个时候写right:-4px即可实现效果。

 b.绝对定位盒子的居中(案例)

绝对定位的盒子不能使用左右margin auto居中。

但通常在开发过程中,我们需要让父级盒子居中,所以我们需要解决这个问题。

也是需要配合margin来实现。

如果要求水平居中,先设置

left:50%;

此时实现的效果是盒子左边贴着父级(此处是浏览器)放置。

只需要再将盒子向左边移动一半的盒子宽度的距离即可使它居中(这里的盒子宽300px)

margin-left:-150px;

如果想再进行竖直方向的居中,同理

top:50%;
margin-top:-150px;

 注意:

这样子虽然可以解决问题,但有些情况会非常麻烦或者无法处理。

比如:产品经理频繁要求更改宽度高度,我们则需要频繁的改变多个地方的代码并且进行计算。

又比如:宽度高度为奇数时,宽高的一半为小数,无法进行准确的二次移动调整。

这个时候呢,需要用到与另外一个属性,它可以自动帮我计算长度并定位。

transform: translate( -50%,-50%);

括号内的参数设置为50%,50%即可自动计算并水平竖直居中,此时我们只需要改变宽高,且无需担心宽高为奇数的情况。

8.固定定位

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

代码: position:fixed;

特点:

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

2.相对于浏览器可视区域进行移动,改变位置参考浏览器窗口

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

4.具备行内块特点

应用场景:

1.让盒子固定在屏幕中的某个位置,比如导航固定不随着窗口向下滑动而消失

学了这个之后我对之前的网站项目进行优化,就可以把导航固定在顶部

(此处的z-index是我把导航放在最顶层避免被下面的内容覆盖)

 

页面位于顶端

 

页面位于中部

 

页面位于底端

9.元素的层级关系

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

  • 标准流<浮动<定位    

不同定位之间的层级关系:

  • 相对、绝对、固定默认层级相同
  • 此时HTML中写在下面的元素层级更高,会覆盖上面的元素

one、two两元素大小相等,one设置绝对定位,two未设置定位和浮动属性,所以one的层级效果比two高,实现的效果是:

(one在上)

 

one、two两元素大小相等,one设置绝对定位,two也设置了绝对定位,而two写在下方,所以会覆盖one元素,实现的效果是:

(two在上)

 默认情况下,定位的盒子,后来者居上。如果我们想要改变盒子的层级,可以手动设置z-index属性。

z-index:整数;取值越大,显示顺序越靠上。

注意:z-index必须配合定位才生效。

 

二.装饰

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

 文字对齐问题

 1.垂直对齐方式

属性名:vertical-align

属性值:

浏览器遇到行内行内块标签当作文字处理,默认文字是按基线对象。

直接设置一个文本输入框和按钮,并设置input高度为40px,它们是无法对齐的。

 

打开浏览器调试工具,会发现高度并不是40px,因为浏览器默认有margin设置。

所以首先我们设置默认的内减模式box-sizing: border-box;

此时两input高度为40px了,但还是没有完全对齐。

我们需要设置vertical-align属性进行竖直对齐。

vertical-align: middle; 

 

实现效果:

 

 浏览器默认把行内和行内块标签当作文字处理,默认基线对齐,所以也可以设置display:block;来解决底部无法对齐的问题。

 设置盒子高度和行高可以将文字在盒子中垂直居中,但这个方法不能将图片在盒子中竖直居中,需要配合vertical-align来实现。

而图片的水平居中可以通过 text-align:center;实现(行内块可当作字体处理)

2.光标类型

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

属性名:cursor

常见属性值:

 

直接给放置需要变换光标形式的盒子设置光标属性即可。

3.边框圆角

 

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

属性名:border-radius

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

原理: 

赋值规则:从左上角开始赋值,然后顺时针赋值,没有赋值的看对角。

几种赋值方式

1.border-radius:左上角,右上角,右下角,左下角;

2.border-radius:左上角,右上角,右下角;(左下角未设置,直接看对角即右上角一致)

3.border-radius:左上角,右上角;(右下角与左上角一致,左下角与右上角一致)

边框圆角的常见应用

——画一个正圆

        1.盒子必须是正方形

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

 ——胶囊按钮

1.盒子要求是长方形

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

 

4.overflow溢出部分显示效果

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

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

属性名:overflow

常见属性值:

5.元素本身隐藏

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

常见属性:

1.visibility:hidden;

2.display:none;       //不占位隐藏

6.元素整体透明的

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

属性名:opacity

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

  •  1:表示完全不透明
  •  0:表示完全透明

注意点:

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

所以开发过程中几乎不会使用该属性。

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

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

相关文章

计算机网络实验报告

计算机网络实验报告 文章目录计算机网络实验报告一、验证性实验ipconfig实作一实作二问题ping实作一实作二问题tracert实作一问题一问题二问题三ARP实作一实作二实作三问题DHCP实作一问题netstat实作一实作二DNS实作一实作二实作三问题cache实作二二、Wireshark 实验数据链路层…

果蔬消毒机行业市场深度监测及发展趋势预测分析

2023-2029年中国果蔬消毒机行业市场深度监测及发展趋势预测报告报告编号&#xff1a;1691217本报告著作权归博研咨询所有&#xff0c;未经书面许可&#xff0c;任何组织和个人不得以任何形式复制、传播或输出中华人民共和国境外。任何未经授权使用本报告的相关商业行为都将违反…

STP生成树基础,一个难点

技术背景&#xff1a;二层交换机网络的冗余性与环路 二层环路带来的问题&#xff08;三层环路&#xff0c;ttl跳数达到一定次数会丢弃&#xff09; 典型问题 1&#xff1a;广播风暴不停的在接口内复制转发广播 2&#xff1a;MAC地址漂移 sw1接口1与2&#xff0c;对sw3的接收ma…

CentOS7.x下部署oracle19c环境

CentOS7.x下部署oracle19c环境 文章目录CentOS7.x下部署oracle19c环境前言一、环境准备工作1.1、虚拟机搭建及关闭防火墙和selinux1.2、RPM包预安装1.3、检查安装情况用户组已创建完成1.4、创建目录1.5、修改/etc/hosts 文件1.6、设置oracle口令1.7、设置环境变量1.8、将oracle…

[LeetCode周赛复盘] 第 327 场周赛20230108

[LeetCode周赛复盘] 第 327 场周赛20230108 一、本周周赛总结二、 [Easy] 6283. 正整数和负整数的最大计数1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6285. 执行 K 次操作后的最大分数1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6284. 使字符串总不同字符的数目相等…

10、ThingsBoard-租户

1、租户的概念 目前,有很多的系统都是以多租户的形式来设计的,目的是为了实现数据隔离,thingsboard中也是如此。但是thingsboard把租户在抽象成了一种实体,后续还会讲解其它的实体;用官方的语言解释租户:您可以将租户视为一个单独的业务实体:它是拥有或生产设备和资产的…

Java中ThreadLocal说明

1、ThreadLocal是什么 ThreadLocal&#xff0c;即线程变量&#xff0c;是一个以ThreadLocal对象为键、任意对象为值的存储结构。 这个结构被附带在线程上&#xff0c;也就是说一个线程可以根据一个ThreadLocal对象查询到绑定在这个线程上的一个值。 ——《Java并发编程艺术》如…

GrapeCity Documents Data Viewer[GcDataViewer] Crack

GrapeCity Documents Data Viewer&#xff0c;简称GcDataViewer&#xff0c;是一个统一的基于 JavaScript 的客户端查看器&#xff0c;旨在加载和预览与数据相关的所有流行文档格式。目前&#xff0c;查看器支持 XLSX、SSJSON 和 CSV 格式。除了仅加载数据文件外&#xff0c;数…

卷径计算(厚度累计法/膜厚积分法)

卷径计算的截面积法请参看下面的文章链接: 卷径计算详解(通过卷绕的膜长和膜厚进行计算)_RXXW_Dor的博客-CSDN博客有关卷绕+张力控制可以参看专栏的系列文章,文章链接如下:变频器简单张力控制(线缆收放卷应用)_RXXW_Dor的博客-CSDN博客_收放卷应用张力控制的开闭环算法,…

“/ArcGIS/services”应用程序中的服务器错误

本文迁移自本人网易博客&#xff0c;写于2013年1月5日No Content说明: 执行当前 Web 请求期间&#xff0c;出现未处理的异常。请检查堆栈跟踪信息&#xff0c;以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: No Content源错误…

第三章 图形初阶

我曾经多次向客户展示以数字和文字表示的、精心整理的统计分析结果&#xff0c;得到的只是客户呆滞的眼神&#xff0c;尴尬得房间里只能听到鸟语虫鸣。然而&#xff0c;当我使用图形向相同的用户展示相同的信息时&#xff0c;他们往往会兴致盎然&#xff0c;甚至豁然开朗。我经…

jQuery控制元素的显示与隐藏(三种方式对比)

hide和show hide:是$(“.类名”)或$(“#标签名”)或$(“标签名”).hide() show:是$(“.类名”)或$(“#标签名”)或$(“标签名”).show() 元素直接消失&#xff0c;没有任何动态效果 slideToggle 通过控制元素的高度来显示与隐藏&#xff0c;因此会有动画效果。slideToggle如果…

RHCE ansible 作业

1、jinjia2模板 hosts.j2&#xff0c;内容如下(主机名和ip地址使用变量)&#xff1a; Welcome to 主机名 &#xff01;&#xff08;比如servera.lab.example.com&#xff09; My ip is ip地址. 要求在所有受管主机生成文件&#xff1a;/etc/welcome.txt。 2、角色部分 根据下列…

【Java】生产者消费者模型

【Java】生产者消费者模型 0x1 前言 生产者和消费者问题是线程模型中的经典问题&#xff1a;生产者和消费者在同一时间段内共用同一个存储空间&#xff0c;生产者往存储空间中添加产品&#xff0c;消费者从存储空间中取走产品&#xff0c;当存储空间为空时&#xff0c;消费者…

设计模式的简单整理

单例的几种方式。 public class Single{private static volatile Single single;private single(){}public static Single getSingle(){if(single null){synchronized(Single.class){if(single null){single new Single();}}}return single;} } 在dcl中volatile为了防止指…

你问我答|为什么说数据中心散热迎来拐点?

喜报!      “绿色领跑企业”      近期,戴尔荣获由中环联合认证中心(CEC)颁发的“绿色领跑企业”奖项,这是继“环保产品领跑者”之后的又一殊荣,恭喜戴尔!    作为全球领先的数字化解决方案供应商,戴尔将可持续发展置于一切工作的核心,以智能、高效的解决方案帮助…

scikit-learn 线性回归 LinearRegression 参数详解

scikit-learn 线性回归 LinearRegression 参数详解LinearRegression 参数详解参考文献LinearRegression 参数详解 # 从 sklearn 中引入线性模型模块 from sklearn import linear_model # 建立线性回归对象 reg reg linear_model.LinearRegression(fit_interceptTrue,copy_XTr…

Stack 155.最小栈

力扣155. 最小栈 【解法一】俩个栈实现 【解法二】一个栈实现 155. 最小栈 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推…

【C++】通过栈/队列/优先级队列/反向迭代器了解适配器及仿函数

目录 一、stack 实现一个stack 二、queue 实现一个queue 三、deque&#xff08;双端对列&#xff09;了解 1、deque的概念 2、为什么采用deque作为stack和queue的底层容器&#xff1f; 3、deque的缺点 3.1随机访问速度不如vector 3.2中间插入、删除速度不如list 3.3…

node.js——http模块

文章目录什么是 http 模块创建最基本的 Web 服务器request 请求对象response 响应对象解决中文乱码问题根据不同的 url 响应不同的 html 内容文件上传实战什么是 http 模块 http 模块是 Node.js 官方提供的、用来创建 Web 服务器的模块。 node.js提供了http模块&#xff0c;其…