08_CSS定位与综合案例开发

day08_CSS定位与&综合案例开发

Objective(本课目标)

  • 理解什么是定位
  • 能说出为什么要用定位

1. 为什么使用定位

  • 标准流在最底层 (海底) ------- 浮动的盒子在中间层 (海面) ------- 定位的盒子 在 最上层 (天空)

  • 小黄色块在图片上移动,吸引用户的眼球。

  • 当我们滚动窗口的时候,盒子是固定屏幕某个位置的

2. 定位的概述

  • 定位 = 定位模式 + 边偏移 -> 定位+坐标

2.1 边偏移
  • 在 CSS 中,通过 topbottomleftright 属性定义元素的边偏移:(方位名词)

边偏移属性示例描述
toptop: 80px顶端偏移量,定义元素相对于其父元素上边线的距离
bottombottom: 80px底部偏移量,定义元素相对于其父元素下边线的距离
leftleft: 80px左侧偏移量,定义元素相对于其父元素左边线的距离
rightright: 80px右侧偏移量,定义元素相对于其父元素右边线的距离
2.2 定位模式 (position)
  • 在 CSS 中,通过 position 属性指定元素的定位模式,语法如下:

选择器 { 
    position: 属性值;
}
  • 定位模式是有不同分类的,在不同情况下,我们用到不同的定位模式。

语义
static静态定位
relative相对定位
absolute绝对定位
fixed固定定位

1 绝对定位(absolute)
  • 绝对定位是元素以带有定位的父级元素来移动位置

    • 完全脱标 —— 完全不占位置;

    • 父元素没有定位,则以浏览器为准定位(Document 文档)

  1. 父元素要有定位

    • 将元素依据最近的已经定位(绝对、固定或相对定位)的父元素(祖先)进行定位。

绝对定位的特点:(务必记住)

  • 绝对是以带有定位的父级元素来移动位置 (拼爹型) 如果父级都没有定位,则以浏览器文档为准移动位置

  • 不保留原来的位置,完全是脱标的。

因为绝对定位的盒子是拼爹的,所以要和父级搭配一起来使用。

2 相对定位(relative)
  • 相对定位是元素相对于它原来在标准流中的位置 来说的。

效果图

  • 相对定位的特点:

    • 相对于自己原来在标准流中位置来移动的

    • 原来在标准流的区域继续占有,后面的盒子仍然以标准流的方式对待它。

3 定位口诀 —— 子绝父相

刚才咱们说过,绝对定位,要和带有定位的父级搭配使用,那么父级要用什么定位呢?

子绝父相 —— 子级绝对定位,父级要用相对定位。

子绝父相是使用绝对定位的口诀,要牢牢记住!

疑问:为什么在布局时,子级元素使用绝对定位时,父级元素就要用相对定位呢?

观察下图,思考一下在布局时,左右两个方向的箭头图片以及父级盒子的定位方式。

分析

  1. 方向箭头叠加在其他图片上方,应该使用绝对定位,因为绝对定位完全脱标,完全不占位置。

  2. 父级盒子应该使用相对定位,因为相对定位不脱标,后续盒子仍然以标准流的方式对待它。

    • 如果父级盒子也使用绝对定位,会完全脱标,那么下方的广告盒子会上移,这显然不是我们想要的。

结论父级要占有位置,子级要任意摆放,这就是子绝父相的由来。

3 固定定位(fixed) - 重要

固定定位绝对定位的一种特殊形式: (认死理型) 如果说绝对定位是一个矩形 那么 固定定位就类似于正方形

  1. 完全脱标 —— 完全不占位置;

  2. 只认浏览器的可视窗口 —— 浏览器可视窗口 + 边偏移属性 来设置元素的位置;

    • 跟父元素没有任何关系;单独使用的

    • 不随滚动条滚动。

案例演练:固定定位案例。

提示:IE 6 等低版本浏览器不支持固定定位。

4. 定位(position)的案例

4.1 哈根达斯

案例截图

哈根达斯分析
  1. 一个大的 div 中包含 3 张图片;

  2. 大的 div 水平居中;

  3. 2 张小图片重叠广告图片上方 —— 脱标,不占位置,需要使用绝对定位

  4. 2 张小图片分别显示在左上角右下角 —— 需要使用边偏移确定准确位置

案例小结

  1. 子绝父相 —— 子元素使用绝对定位父元素使用相对定位

  2. 与浮动的对比

    • 绝对定位:脱标,利用边偏移指定准确位置

    • 浮动:脱标,不能指定准确位置,让多个块级元素在一行显示

课堂练习:模拟老师的随堂案例完成哈根达斯案例(5 分钟)。

4.2 仿新浪头部和广告

新浪案例分析
  1. 顶部图片固定在浏览器可视窗口顶部,不会随窗口一起滚动;

  2. 左右两侧的广告图片固定在浏览器可视窗口的左右两侧,不会随窗口一起滚动;

  3. 注意:底部的内容图片初始显示在顶部图片的下方,如何解决?

步骤 1 —— 顶部图片和底部内容
.top {
    /* 注意:使用固定定位时,如果盒子中没有内容,需要指定宽度 */
    width: 100%;
    height: 44px;
    background: url(md/top.png) no-repeat top center;
    position: fixed;
    left: 0px;
    top: 0px;
}

.box {
    width: 1002px;
    /* 顶部的 44px 的 margin 可以让 box 显示在顶部图片下方 */
    margin: 44px auto;
}

注意

  1. 在使用固定定位时,如果盒子中没有内容,需要指定宽度

  2. 设置底部内容图片的顶部 margin,可以让底部盒子初始显示在顶部图片的下方。

步骤 2 —— 左右两侧广告
.ad-left,
.ad-right {
    position: fixed;
    top: 100px;
}

.ad-left {
    left: 0px;
}

.ad-right {
    right: 0px;
}

注意:不要同时使用 leftright 和边偏移属性。

案例小结

  1. 固定定位的应用场景:固定在浏览器可视窗口某个位置的布局

  2. 在使用固定和绝对定位时,如果盒子中没有内容,需要指定宽度(稍后就讲)。

课堂练习:模拟老师的随堂案例完成仿新浪头部和广告案例(5 分钟)。

5. 定位(position)的扩展

5.1 绝对定位的盒子居中

注意绝对定位/固定定位的盒子不能通过设置 margin: auto 设置水平居中

在使用绝对定位时要想实现水平居中,可以按照下图的方法:

  1. left: 50%;:让盒子的左侧移动到父级元素的水平中心位置

  2. margin-left: -100px;:让盒子向左移动自身宽度的一半

案例演示:相对定位案例。

盒子居中定位示意图

课堂练习:实现盒子左中、右中、中上、中下、中中定位(5 分钟)。

5.2 堆叠顺序(z-index)

在使用定位布局时,可能会出现盒子重叠的情况

加了定位的盒子,默认后来者居上, 后面的盒子会压住前面的盒子。

应用 z-index 层叠等级属性可以调整盒子的堆叠顺序。如下图所示:

z-index 的特性如下:

  1. 属性值正整数负整数0,默认值是 0,数值越大,盒子越靠上;

  2. 如果属性值相同,则按照书写顺序,后来居上

  3. 数字后面不能加单位

注意z-index 只能应用于相对定位绝对定位固定定位的元素,其他标准流浮动静态定位无效。

案例演示:堆叠顺序。

5.3 定位改变display属性

前面我们讲过, display 是 显示模式, 可以改变显示模式有以下方式:

  • 可以用inline-block 转换为行内块

  • 可以用浮动 float 默认转换为行内块(类似,并不完全一样,因为浮动是脱标的)

  • 绝对定位和固定定位也和浮动类似, 默认转换的特性 转换为行内块。

所以说, 一个行内的盒子,如果加了浮动固定定位绝对定位,不用转换,就可以给这个盒子直接设置宽度和高度等。

完善新浪导航案例

同时注意:

浮动元素、绝对定位(固定定位)元素的都不会触发外边距合并的问题。 (我们以前是用padding border overflow解决的)

也就是说,我们给盒子改为了浮动或者定位,就不会有垂直外边距合并的问题了。

6. 综合演练 - 淘宝轮播图

圆角矩形设置4个角

圆角矩形可以为4个角分别设置圆度, 但是是有顺序的

border-top-left-radius:20px;
border-top-right-radius:20px;
border-bottom-right-radius:20px;
border-bottom-left-radius:20px;
  • 如果4个角,数值相同

    border-radius: 15px;
  • 里面数值不同,我们也可以按照简写的形式,具体格式如下:

border-radius: 左上角 右上角  右下角  左下角;

还是遵循的顺时针。

7. 定位小结

定位模式是否脱标占有位置移动位置基准模式转换(行内块)使用情况
静态static不脱标,正常模式正常模式不能几乎不用
相对定位relative不脱标,占有位置相对自身位置移动不能基本单独使用
绝对定位absolute完全脱标,不占有位置相对于定位父级移动位置要和定位父级元素搭配使用
固定定位fixed完全脱标,不占有位置相对于浏览器移动位置单独使用,不需要父级

注意

  1. 边偏移需要和定位模式联合使用,单独使用无效

  2. topbottom 不要同时使用;

  3. leftright 不要同时使用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件测试面试八股文,最常见的7个高频面试题(附答案,建议收藏)

问题1:请自我介绍下? 核心要素:个人技能优势工作背景经验亮点 参考回答: 第一种:基本信息离职理由 面试官您好,我叫张三,来自番茄市,在软件测试⾏业有 3 年的⼯作经验。做过 Web…

算法——动态规划(DP,Dynamic Programming)

一、基础概念 DP的思想: 把问题分成子问题,前面子问题的解决结果被后面的子问题使用DP与分治法的区别: 分治法把问题分成独立的子问题,各个子问题能独立解决 自顶向下DP前面子问题的解决结果被后面的子问题使用,子问题…

3090K MOSFET N通道沟槽功率 PWM应用

3090K 采用沟槽技术&#xff0c;提供活x氧(导通)&#xff0c;低栅J电荷和栅J电压低至4.5V的工作。3090K 设备适用于各种应用。 3090K 特性&#xff1a; ● VDS 30V,ID 86A RDS(ON) < 5 mΩ VGS 10V RDS(ON) < 9.5mΩ VGS 4.5V ● 高功率和电流处理能力 ● 获得无…

【性能测试】基础知识篇-压力模型

常见压力模式 并发模式&#xff08;即虚拟用户模式&#xff09;和RPS模式&#xff08;即Requests Per Second&#xff0c;每秒请求数&#xff0c;吞吐量模式&#xff09;。 本文介绍这两种压力模式的区别&#xff0c;以便根据自身业务场景选择更合适的压力模式。 并发模式 …

C++面向对象(OOP)编程-模板

本文主要讲解C的模板&#xff0c;其中包括模板的分类&#xff0c;函数模板和类模板&#xff0c;以及类模板与友元函数关系引起的几种关系。强调提供代码来搞懂C模板这一泛型编程手段。 目录 1 C模板 2 模板的本质 3 模板分类 4 函数模板 4.1 函数模板定义格式 4.2 函数模…

下午好~ 我的论文【遥感】(第一期)

写在前面&#xff1a;下午浑浑噩噩&#xff0c;泡杯茶&#xff0c;读篇论文吧 首先说明&#xff0c;时间有限没有那么精力一一回复了&#xff0c;对不起各位了TAT 文章目录 遥感Bi-Dilation-formerCNN-GNN-FusionMulti-hierarchical cross transformerCoupled CNNs 遥感 Bi-D…

Linux---Ubuntu软件安装

1. 软件安装的介绍 Ubuntu软件安装有两种方式: 离线安装(deb文件格式安装&#xff09;在线安装(apt-get方式安装) 2. deb文件格式安装 是 Ubuntu 的安装包格式&#xff0c;可以使用 dpkg 命令进行软件的安装和卸载。 命令说明dpkg安装和卸载deb安装包 dpkg命令选项: 选项…

TestSSLServer4.exe工具使用方法简单介绍(查SSL的加密版本SSL3或是TLS1.2)

一、工具使用方法介绍 工具使用方法参照&#xff1a;http://www.bolet.org/TestSSLServer/ 全篇英文看不懂&#xff0c;翻译了下&#xff0c;能用到的简单介绍如下&#xff1a; 将下载的TestSSLServer4.exe工具放到桌面上&#xff0c;CMD命令行进入到桌面目录&#xff0c;执…

Kafka--从Zookeeper数据理解Kafka集群工作机制

从Zookeeper数据理解Kafka集群工作机制 这一部分主要是理解Kafka的服务端重要原理。但是Kafka为了保证高吞吐&#xff0c;高性能&#xff0c;高可扩展的三高架构&#xff0c;很多具体设计都是相当复杂的。如果直接跳进去学习研究&#xff0c;很快就会晕头转向。所以&#xff0c…

Java小案例-RocketMQ的11种消息类型,你知道几种?(死信消息)

前言 在RocketMQ中&#xff0c;死信消息&#xff08;Dead-Letter Message&#xff09;是指那些在正常情况下无法被消费者消费的消息。这些消息会被存储在死信队列&#xff08;Dead-Letter Queue&#xff0c;简称DLQ&#xff09;中。 死信消息的特性包括&#xff1a; 不会再被…

如何免费搭建私人电影网站(一)

前言&#xff1a;在线看电影经常会出现烦人的广告&#xff0c;为了不浪费时间看广告&#xff0c;有必要做自己的专属网站。 准备工作&#xff1a; 1、申请免费域名&#xff08;也可以花钱注册域名相对稳定&#xff09;链接: 申请免费域名方法 2、申请免费主机&#xff08;也可以…

详解 Jeecg-boot 框架如何配置 elasticsearch

目录 一、下载安装 Elasticsearch 1、 地址&#xff1a;https://www.elastic.co/cn/downloads/elasticsearch 2、下载完成后&#xff0c;解压缩&#xff0c;进入config目录更改配置文件 3、 修改配置完成后&#xff0c;前往bin目录启动el 4、访问&#xff1a;localhost:92…

FreeRTOS202212 ‐ 定时器结构体定义

FreeRTOS202212-定时器结构体 /*-----------------------------------------------------------*/ /* The definition of the timers themselves. */ /*定时器本身的定义*/ typedef struct tmrTimerControl /* The old naming convention is used to prevent breaking kernel a…

分布式事务--TC服务的高可用和异地容灾

1.模拟异地容灾的TC集群 计划启动两台seata的tc服务节点&#xff1a; 节点名称ip地址端口号集群名称seata127.0.0.18091SHseata2127.0.0.18092HZ 之前我们已经启动了一台seata服务&#xff0c;端口是8091&#xff0c;集群名为SH。 现在&#xff0c;将seata目录复制一份&…

音视频学习(二十一)——rtmp收流(tcp方式)

前言 本文主要介绍rtmp协议收流流程&#xff0c;在linux上搭建rtmp服务器&#xff0c;通过自研的rtmp收流库发起取流请求&#xff0c;使用ffmpegqt实现视频流的解码与播放。 关于rtmp协议基础介绍可查看&#xff1a;https://blog.csdn.net/www_dong/article/details/13102607…

《点云处理》平面拟合

前言 在众多点云处理算法中&#xff0c;其中关于平面拟合的算法十分广泛。本篇内容主要是希望总结归纳各类点云平面拟合算法&#xff0c;并且将代码进行梳理保存。 环境&#xff1a; VS2019 PCL1.11.1 1.RANSAC 使用ransac对平面进行拟合是非常常见的用法&#xff0c;PCL…

C语言实现输入一个 N*N 矩阵,并将矩阵转置输出

完整代码&#xff1a; //输入一个 N*N 矩阵&#xff0c;并将矩阵转置输出 #include<stdio.h> #include<stdlib.h>int main(){int n0;printf("请输入矩阵的行数:");scanf("%d",&n);//C语言不允许对数组的大小作动态定义// int arr[n][n];直…

Linux之FTP 服务器

一、FTP服务器匿名账户服务器配置 1、测试是否已安装vsftp服务器&#xff1a; 2、启动vsftp服务器&#xff1a; 3、修改vsftp主配置文件&#xff0c;允许匿名登录 4、重新启动vsftpd服务,禁用防火墙 5、打开FTP服务的数据文件存放目录/var/ftp&#xff0c;复制若干文件到该目…

深度学习环境配置超详细教程【Anaconda+Pycharm+PyTorch(GPU版)+CUDA+cuDNN】

在宇宙的浩瀚中&#xff0c;我们是微不足道的&#xff0c;但我们的思维却可以触及无尽的边界。 目录 关于Anaconda&#xff1a; 关于Pycharm&#xff1a; 关于Pytorch&#xff1a; 关于CUDA&#xff1a; 关于Cudnn&#xff1a; 一、&#x1f30e;前言&#xff1a; 二、&…

深眸科技|轻辙视觉引擎以99.9%视觉检测能力为基准,赋能木材加工

轻辙视觉引擎&#xff1a;轻辙视觉引擎是以低代码为基础&#xff0c;深度学习技术为核心的视觉业务流程编排引擎&#xff0c;用于快速搭建部署复杂视觉检测流程软件方案。 轻辙视觉引擎&#xff5c;轻量级产品实现高效应用 作为深眸科技的核心产品之一&#xff0c;轻辙视觉引…