定位
作用:灵活的改变盒子在网页中的位置 实现:
1. 定位模式:position
2. 边偏移:
设置盒子的位置
• left
• right
• top
• bottom
相对定位
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>相对定位-服务</title>
<style>
*{
margin: 0;
padding: 0;
}
/*
1:改变位置的参照物,自己原来的位置
2:不脱标,占位。
3:标签显示模式特点 不变。
*/
div{
position: relative;
top: 100px;
left: 200px;
}
</style>
</head>
<body>
<p>Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。</p>
<p>Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。</p>
<div>
<img src="./images/1.webp" alt="">
</div>
<p>Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。</p>
<p>Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。</p>
<p>Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。</p>
<p>Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。</p>
<p>Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。
</p>
</body>
</html>
绝对定位
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>绝对定位</title>
<style>
*{
margin: 0;
padding: 0;
}
img{
width: 400px;
}
.news{
position: relative;
margin: 20px auto;
width: 400px;
height: 350px;
background-color: #f8f8f8;
}
/*
1: 脱标 不占位
2:参照物:先找最近的已经定位的祖先元素;如果所有祖先元素都没有定位,
参照浏览器可视区改位置
3: 显示模式特点改变:宽度生效(具备了行内块的特点)
*/
.news span{
position: absolute;
top:0;
right: 0;
display: block;
width: 92px;
height: 32px;
background-color: rgba(0, 0, 0, 0.6);
text-align: center;
line-height: 32px;
color: #fff;
}
</style>
</head>
<body>
<div class="news">
<img src="./images/news.jpg" alt="">
<span>展会活动</span>
<h4>2022世界移动大会</h4>
</div>
</body>
</html>
定位居中
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img{
position: absolute;
left: 50%;
top: 50%;
/* margin-left: -265px;
margin-top: -127px; */
/* 方便:50% 就是自己宽高的一半 */
transform: translate(-50%,-50%);
}
</style>
</head>
<body>
<img src="./images/login.webp" alt="">
</body>
</html>
固定定位
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>固定定位</title>
<style>
*{
margin: 0;
padding: 0;
}
/*
1: 脱标,不占位。
2:参照物:浏览器窗口
3:显示模式特点 具备行内块的特点
*/
div{
position: fixed;
top: 0;
right: 0;
width: 300px;
}
</style>
</head>
<body>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
<div>
<img src="./images/1.webp" alt="">
</div>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
<p>通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重网页的样式和布局。</p>
</body>
</html>
堆叠层级 z-index
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>堆叠顺序</title>
<style>
div{
position: absolute;
width: 200px;
height: 200px;
}
/*
index
1:默认都是0,显示后者。
2:设置的数字越大,显示在最上边。
*/
.box1{
z-index: 1;
background-color: aqua;
}
.box2{
z-index: 2;
top:100px;
left: 100px;
background-color: blanchedalmond;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
</body>
</html>
定位-总结
高级技巧
CSS 精灵
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS 精灵</title>
<style>
/* css 精灵的使用步奏 */
/*
1:创建div,div尺寸和小图的尺寸相等,
2:设置div背景图为精灵图
3:添加background-position 属性,改变背景图的位置。
使用pxcook测量小图片的左上角坐标
取负数坐标为background-position属性值。
*/
div{
width: 112px;
height: 110px;
background-color: paleturquoise;
background-image: url(./images/abcd.jpg);
background-position: -256px -276px;
}
</style>
</head>
<body>
<div>
</div>
</body>
</html>
字体图标
字体图标 – 上传矢量图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>使用字体图标</title>
<link rel="stylesheet" href="./iconfont/iconfont.css">
<style>
/* 如果要调整字体图标,注意 选择器的优先级 要高于 iconfont */
.iconfont{
font-size: 200px;
color: red;
}
</style>
</head>
<body>
<span class="iconfont icon-icon-test2"></span>
</body>
</html>
CSS 修饰属性
垂直对齐方式 vertical-align
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>垂直对齐方式</title>
<style>
div{
border: 1px solid #000000;
}
img{
/*顶对其:最高内容的顶部 */
/* vertical-align: top; */
/* 居中对齐: */
/* vertical-align: middle; */
/*低对齐:最低内容对其 */
/* vertical-align: bottom; */
/* 因为国内浏览器把行内块,行内标签当做文字处理,默认按基线对齐 */
/* 效果:图片img的底下有空白,转块级不按基线对齐,空白就消失了。 */
display: block;
}
</style>
</head>
<body>
<div>
<img src="./images/1.webp" alt="">
<span>
这是一行文字。
</span>
</div>
</body>
</html>
过渡 transition
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>过度</title>
<style>
img{
width: 200px;
height: 200px;
transition: all 1s;
}
img:hover{
width: 400px;
height: 400px;
}
</style>
</head>
<body>
<img src="./images/huawei.jpg" alt="">
</body>
</html>
透明度 opacity
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>透明</title>
<style>
/* opacity: 0.5; 可以设置背景色和图片全部透明。 */
div{
width: 500px;
height: 500px;
background-color: lawngreen;
opacity: 0.5;
}
</style>
</head>
<body>
<div>
<img src="./images/phone.png" alt="">
</div>
</body>
</html>
光标类型 cursor
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>光标类型</title>
<style>
div{
width: 200px;
height: 200px;
background-color: pink;
/* 光标改成小手类型 */
/* cursor: pointer; */
/* 工字型:提示用户可以选择文字 */
/* cursor: text; */
/* 十字光标:提示用户可以移动 */
cursor: move;
}
</style>
</head>
<body>
<div></div>
</body>
</html>