img图片可看做行内块元素,它的尺寸可以撑开父盒子的高度,因此往往插入图片后再浏览器中能“立竿见影”。比较好的做法是给图片套上一层盒子,设置盒子的大小后将图片的宽高设置为100%,这样在盒子尺寸变化后图片的尺寸也能相应改变。

背景图更像是背景而非图片实体 ,因此它无法像图片那样撑开盒子的尺寸“自行显现”,因此必须给父盒子设置尺寸后才能看到背景图,并通过background-positon属性调整背景图的位置、background-size调整背景大小。这种做法在插入精灵图时应用较多。

图片开关项目举例,背景图与图片的两种写法:

项目效果

图片文件:

父盒子图片:

子盒子图片

一、设置图片的写法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style> /* 背景大盒子 */.box{width: 1366px;height: 600px;margin: 100px auto;background: url(./images/bg.jpg) red;/* 溢出隐藏,实现消失效果 */overflow: hidden;}/* 左边的盒子设置宽度为大盒子的一半,且设置为溢出隐藏,这样才能实现用盒子尺寸截取图片左边部分的效果,这是图片和背景图片的不同之处 */.box .left{overflow: hidden;float: left;width: 50%;height: 100%;transition: all 1s;}/* 设置溢出隐藏,利用盒子尺寸截取图片所需部分 */.box .right{float: right;overflow: hidden;width: 50%;height: 100%;transition: all 1s;}/* 由于图片默认左上显示,故要显示右边的部分需将图片往左移动50% */.box .right img{transform: translatex(-50%);}/* 要实现消失效果则需图片移动到盒子外面,即往左100% */.box:hover .left{transform: translatex(-100%);}/* 要实现消失效果则需图片移动到盒子外面,即往右100% */.box:hover .right{transform: translatex(100%);}</style>
</head>
<body><div class="box"><div class="left"><img src="./images/fm.jpg" alt=""></div><div class="right"><img src="./images/fm.jpg" alt=""></div></div>
</body>
</html>

这种写法的要点:

由于父盒子是背景图片不占据位置,故不需用子绝父相定位将子盒子叠加上去,只需将图片设置为两张并左右浮动即可。但是图片只有一张,要显示两边的两个车子的对象,做法如下。

要实现左边盒子显示左边的车子方法:

将图片放进左边盒子中并设置盒子宽度为父盒子一半,高度100%:

要实现右边盒子显示后边车子的方法:

将图片放进右盒子中,由于图片默认左上对齐,故需要将图片用transform:translatex属性向左移动到合适位置使得有盒子的框内显示右边的车子并溢出隐藏掉左边的车子:

左右盒子摆好之后就可以进行左右移动和设置过渡,然后利用父大盒子溢出隐藏来实现开门效果了,代码见上图,过程图略。

二、设置背景图的写法:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style> .box{width: 1366px;height: 600px;margin: 100px auto;background: url(./images/bg.jpg) red;overflow: hidden;}.box .left{float: left;width: 50%;height: 100%;background: url(./images/fm.jpg) left;transition: all 1s;}.box .right{float: left;width: 50%;height: 100%;background: url(./images/fm.jpg) right;transition: all 1s;}.box:hover .left{transform: translatex(-100%);}.box:hover .right{transform: translatex(100%);}</style>
</head>
<body><div class="box"><div class="left"></div><div class="right"></div></div>
</body>
</html>

关于背景图与图片的区别整理,项目实操相关推荐

  1. uni-app微信小程序image引入图片;background-image背景图引入图片;小程序预览本地图片;小程序图片过大引入报错;获取本地图片的网络地址;

    uni-app小程序图片使用有image标签和background-image背景图两种方式: 下有获取本地图片的网络地址方式:见第四步 一.方式一:使用image标签引入: uni-app官方ima ...

  2. 【CSS】div的背景图完整图片覆盖

    最初的代码: 1 .container_first { 2 width: 100%; 3 height: 100%; 4 background: url(10176581.jpg); 5 backgr ...

  3. 前端如何使用base64转换图片,背景图以及图片的上传使用?

    上期教大家如何在Figma软件上copy页面(背景图等等),那么如何使用呢? 博主就拿小程序为例  教程开始 page {height: 100vh;overflow: hidden;position ...

  4. 如何将照片或者视频中的背景图抠掉,机器学习开源项目使用 | 机器学习

    目录 前言 开源项目介绍 项目结构 模型下载 测试数据下载 训练数据下载 依赖下载 测试图片的抠图效果 测试视频的抠图效果 总结 前言 本文主要介绍一个神奇有意思的开源项目: BackgroundMa ...

  5. 【数据分析】【MySQL】快速入门+案例+代码+命令整理+GIF实操演示

    1.SQL的语句顺序(理论) SELECT [ALL|DISTINCT] <目标表达式>.... FROM <表名或者视图名>.. [WHERE <条件表达式>] ...

  6. 微信小程序页面添加背景图,图片全屏显示

    前言 微信的wxss里面不允许使用使用 background: url(),只能另外找方法进行背景图片显示. 方法 1.wxss页面里面设置页面的全屏宽高,以及view添加宽高 page{height ...

  7. 服务器打印文档 图片显示是叉,Lodop背景图无图片时显示放大叉号问题

    SEO优化---学会建立高转化率的网站关键词库 想要优化好一个网站,行业的分析,以及关键词的挖掘是必要的,有一定的关键词排名了,但是转化率和流量方面却很不理想这种情况大部分是只注重了有指数的关键词排名 ...

  8. android人脸识别的背景图_Android 图片人脸识别剪切

    场景 在开发中我们经常需要对图片以人脸为中心进行剪切并显示,这时就需要下面这个工具了. 实现效果 实现效果 项目参考及引用 项目使用 将下载的jar 和 .so 文件加入到项目中. API 说明 在项 ...

  9. 设置QPushbutton背景图,图片占据整个按钮

    QPushButton#pushButton_Stop,#pushButton_Start {         border-width: 0px 0px 0px 0px;         borde ...

  10. 前端css解决背景图、图片自适应的问题【通用】

    剑阁峥嵘而崔嵬,一夫当关,万夫莫开 –‰

最新文章

  1. 一些关于反汇编与逆向方面的博文分享
  2. hadoop基本命令
  3. input 属性和用法
  4. 超全!整理常用的iOS第三方资源
  5. 51CTO 新人报道
  6. cmd,powershell,的字体颜色永久改变,;以及两者不同打开方式和其各自的区别。
  7. status c语言_STM32 嵌入式C语言教程--第四课C语言中的存储空间与位域
  8. python redis pipeline使用方法_Redis中的管道Pipeline操作
  9. strtotime的几种用法区别
  10. 【Flink】Flink 基于 MailBox 实现的 StreamTask 线程模型
  11. plsql突然无法连接数据库,原来是tnsnames.ora文件出了问题
  12. python turtle输出坐标_如何在Python/turtle中使用坐标列表绘制形状
  13. opencv特效编辑之雕刻效果
  14. 2022最新开源分销商城小程序源码系统前端+后端+搭建教程
  15. Itext7 jar 下载 链接
  16. 照片怎么转PDF格式?这两个方法快来学习下
  17. 电脑恶意软件删除方法
  18. 免费10分钟邮箱上线啦~~
  19. 利用CSS3实现图片3D旋转
  20. 解决win10 phptoshop #fff纯白不是这样的白 显示器高级的问题

热门文章

  1. keil的终极配色方案(提供配置文件)
  2. iOS 最新AppStore申请加急审核 以及 apple联系方式大全
  3. ios 改变图片尺寸_iOS 修改图片尺寸的方法
  4. 台式计算机无故重启,台式电脑突然自动重启是怎么回事
  5. 获取cad注册表路径
  6. 线性表13|约瑟夫问题 – 数据结构和算法18
  7. 51单片机单片机基础知识
  8. 电子电器外贸行业管理解决方案丨汇信
  9. 关于嵌入式工程师需要知道的网站
  10. ai图片怎么把图中的字改掉_如何修改图片上的文字