HTML5前端第八章节

一.定位

1.作用:

灵活地改变盒子在网页中的位置

2.实现:

(1).定位模式:

position

(2).边偏移:

设置盒子的位置(left,right,top,bottom)

3.相对定位:

(1).特点:

①:改变位置的参照物是自己原来的位置

②:不脱离标准流的控制,仍然是占位的

③:标签显示模式的特点是不变的(原来是什么样的显示模式,之后仍然是这样的显示模式)

(2).产生作用的方式

①:设置position:relative

②:设置边偏移

两者必须都进行设置,否则不会生效

4.绝对定位:

(1).定位的使用场景:

子级设置绝对定位,父级设置相对定位

(2).特点:

①:脱离标准流的控制,不占位

②:参照物:先找最近的已经定位的祖先元素,如果所有的祖先元素都没有定位,那么参照浏览器可视区域进行定位

③:绝对定位会使显示模式的特点改变为宽高生效的模式(具备了行内块的特点)

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
    img {
        width: 400px;
    }

    .news {
        /* 父级中设置相对定位 */
        position: relative;
        margin: 100px auto;
        width: 400px;
        height: 350px;
        background-color: #fff;
    }

    .news span {
        /* 在子级中设置绝对定位 */
        position: absolute;
        /* 不仅要设置position属性,还要设置边偏移 */
        right: 0;
        top: 0;
        display: block;
        width: 92px;
        height: 32px;
        background-color: rgba(0, 0, 0, 0.5);
        text-align: center;
        line-height: 32px;
        color: #fff;
    }

</style>
</head>
<body>
  <div class="news">
    <img src="./images/news.jpg" alt="">
    <span>展会活动</span>
    <h4>世界移动大会</h4>
  </div>
</body>
</html>

5.定位居中

(1).实现步骤:

①:绝对定位

②:水平和垂直的边偏移为50%

③:子级向左,上移动自身尺寸的一半(可以把左,上的外边距设置为尺寸的一半,还可以设置transform属性为translate(-50%,-50%))

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
    img {
        position: absolute;
        left: 50%;
        top: 50%;

        /* 移动图片尺寸的一半 */
        /* margin-left: -149px;
        margin-top: -220px; */
        /* 两者皆可 */
        /* transform: translate(-50%, -50%); */
    }
</style>
</head>
<body>
    <img src="./images/4.jpeg" alt="">
</body>
</html>

6.固定定位

(1).使用场景:

适用于元素的位置在网页滚动时不会改变的场景下

(2).使用方式:

①:设置position属性为fixed

②:设置边偏移定位到我们想要的位置上

(3).特点:

①:脱离标准流的控制,不占位

②:始终固定在相同的位置

③:参照物是浏览器窗口

④:显示模式特点会改变为行内块的特点

7.堆叠层级z-index

默认效果:按照标签书写顺序,后来者居上

作用:设置定位元素的层级顺序,改变定位元素的显示顺序

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
    div {
        /* 设置了定位之后两者之间的堆叠层级就出现了 */
        position: absolute;
        width: 200px;
        height: 200px;
    }

    .box1 {
        background-color: blue;
        /* z-index的取值是整数,默认是0,取值越大层级越靠上(可以参考权重的概念,取值越大
        权重越大) */
        z-index: 1;
    }

    .box2 {
        background-color: blueviolet;
        left: 100px;
        top: 100px;
    }
</style>
</head>
<body>
    <div class="box1">1</div>
    <div class="box2">2</div>
</body>
</html>

8.总结:

定位模式 属性值 是否脱标 显示模式 参照物
相对定位 relative 保持标签原有显示模式 自己原来的位置
绝对定位 absolute 行内块特点 已经定位的祖先元素或浏览器可视区域
固定定位 fixed 行内块特点 浏览器窗口
[定位总结]

二.CSS Sprites(精灵)

1.作用:

CSS Sprites是一种网页图片应用处理方式,把网页中一些背景图片整合到一张图片文件中,再通过background-position精确地定位出背景图片的位置

2.使用CSS Sprites的优点:

减少服务器被请求的次数,减轻服务器的压力,提高页面加载速度

3.实现步骤

(1).创建盒子,盒子的尺寸要设计得与小图的尺寸相同

(2).设置盒子背景图为Sprites图

(3).添加background-position属性改变背景图的位置

①:使用PxCook测量小图片左上角的坐标

②:取负数坐标为background-position属性值(向左上移动图片的位置)

相关推荐
鹏程十八少14 分钟前
Android 一套代码适配车机/手机横竖屏?看我如何用搞定小米、比亚迪、蔚来、理想、多品牌架构设计
android·前端·面试
持续升级打怪中19 分钟前
从前端到大模型:我的AI转型之路与实战思考
前端·人工智能
LYFlied20 分钟前
【性能优化】图片渲染性能优化全流程方案详解
前端·性能优化
『六哥』22 分钟前
零基础搭建完成完整的前后端分离项目的准备工作
前端·后端·项目开发
沛沛老爹25 分钟前
Web开发者实战AI Agent:基于Dify实现OpenAI Deep Research智能体
前端·人工智能·gpt·agent·rag·web转型
冬奇Lab26 分钟前
【Cursor进阶实战·01】Figma设计稿一键还原:Cursor + MCP让前端开发提速10倍
android·前端·后端·个人开发·figma
鼓掌MVP29 分钟前
使用 Tbox 打造生活小妙招智能应用:一次完整的产品开发之旅
人工智能·ai·html5·mvp·demo·轻应用·tbox
JarvanMo30 分钟前
用 Flutter、SwiftUI 和 Compose 写同一个界面:一份真实开发者的实测报告
前端
可以吧可以吧30 分钟前
前端vue jenkins打包资源增加阿里云oss+cdn加速
前端·vue.js·jenkins
hashiqimiya37 分钟前
vue项目的选择星级样式和axios依赖调用
前端·javascript·vue.js