CSS3背景样式详解(图像大小,图像位置等)

背景样式

在CSS3中,新增了3个背景属性

属性说明
background-size背景大小
background-origin背景位置
background-clip背景剪切

background-size属性

概念:在CSS3之前,我们是不能用CSS来控制背景图片大小的,背景图片的大小都是由图片实际大小确定的。

但在CSS3中,可以用background-size属性来定义背景图片的大小。

特点

  • 图片可以保有其原有的尺寸,
  • 图片拉伸到新的尺寸,
  • 图片在保持其原有比例的同时缩放到元素的可用空间的尺寸

语法::

background-size:属性值;

常用属性值

属性值说明
像素值设置背景图像的宽度和高度。只能为正值。如果设置2个属性值,则第1个属性值定义宽度,第2个属性值定义高度。如果只设置1个属性值,则表示宽度,而高度则等比例缩放
百分比父元素的百分比来设置背景图像的宽度和高度。只能为正值。如果设置2个属性值,第一个属性值设置宽度,第二个属性值定义高度。如果只设置1个属性值,该属性值表示宽度,而高度则等比例缩放
auto定义背景图像按照原始尺寸表示
cover即“覆盖”,表示把背景图像等比例缩放到完全覆盖背景区域。背景图像的某些部分也许无法在背景定位区域中。和contain相反,cover值尽可能大的缩放背景图像并保持图像的宽高比例(图像不会被压扁)。该背景以它的全部宽或者高覆盖所在容器。当容器和背景图像大小不同时,背景图的左/右或者上/下部分会被裁剪
contain即”容纳“,表示把背景图像等比例缩放到宽度或高度与容器的宽度或高度相等时,以使背景图像位于区域内,但可能使背景区部分空白。contain尽可能的缩放背景并保持图像的宽高比例(图片不会被压缩)。该背景图会填充所在的容器。当背景图和容器的大小不同时,容器的空白区域(上/下或者左/右)会显示由background-color设置的背景颜色

注意:没有被背景图片覆盖的背景区域仍然会显示用background-color属性设置的背景颜色。此外,如果背景图片设置了透明或者半透明属性,衬在背景图片后面的背景色也会显示出来

单张图片的背景大小可以使用以下方法中的一种来规定:

  • 使用关键字contain
  • 使用关键字cover
  • 设定宽度和高度值

当通过宽度和高度来定义尺寸时,可以提供一或者两个数值:

  • 当通过宽度和高度值来设定尺寸时,你可以提供一或者两个数值:
  • 如果仅有一个数值被给定,这个数值将作为宽度值大小,高度值将被设定为 auto
  • 如果有两个数值被给定,第一个将作为宽度值大小,第二个作为高度值大小。

每个值都可以是像素值 还是百分比,或者auto

实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>背景图片的大小</title><style type="text/css">div{display:inline-block;width:200px;height:150px;border:1px solid green;margin:20px;background-image:url('../边框样式/image/son.jpg');background-repeat:no-repeat;}.a{background-size:200px 150px;}.b{background-size:100% 100%; }.c{background-size:auto;}.d{background-size:cover;}.e{background-size:contain;}</style>	</head><body><div class="a"></div><div class="b"></div><div class="c"></div><div class="d"></div><div class="e"></div></body>
</html>

运行结果
在这里插入图片描述

注意:背景图片跟普通图片(即是img标签)是不同的东西。width跟height这两个属性只能用来定义img标签图片的大小,而不能用于控制背景图片的大小

background-origin属性

概念:默认情况下,background-position属性总是以元素左上角为坐标原点定位背景图像。

在CSS3中,可以使用background-origin属性来定义背景图片是从什么地方开始平铺的,也就是定义背景图片background-image属性的原点位置的背景相对区域

语法:

background-origin:属性值;

说明

属性值

属性值说明
border-box边框区域(含边框)开始显示背景图像
padding-box默认值,从内边距区域(含内边距)开始显示背景图像
content-box内容区域(含内容)开始显示背景图像

注意:当使用background-attachment为fixed时,该属性将被忽略不起作用

边框区域,内边距区域和内容区显示如图
在这里插入图片描述

实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>背景图片位置</title><style>div{display:inline-block;width:200px;height:150px;border:10px solid green;margin:20px;padding:20px;background-image:url('../边框样式/image/border.png');background-repeat:no-repeat;text-align-last: center;line-height:150px;font-size:20px;}.a{background-origin:border-box;}.b{background-origin:padding-box;}.c{background-origin:content-box;}</style></head><body><div class="a">border-box</div><div class="b">padding-box</div><div class="c">content-box</div></body>
</html>

运行结果
在这里插入图片描述

实际上,background-origin属性的本质是:定义background-position属性相对于什么位置来定位。如果没有设置background-position,因此浏览器会采用默认值,即"background-position:top left"。

background-clip属性

概念:background-clip属性用于定义背景图片的裁剪区域

语法:

background-clip:属性值;

属性值

属性说明
border-box默认值,从边框区域开始向外裁剪背景图像
padding-box内边距区域开始向外裁剪背景图像
content-box内容区域开始向外裁剪背景图像
text背景被裁剪成文字的前景色

边框区域,内边距区域和内容区显示如图
在这里插入图片描述

实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>裁剪图像</title><style>div{display:inline-block;width:200px;height:150px;border:10px dotted green;margin:20px;padding:20px;background-image:url('../边框样式/image/son.jpg');background-repeat:no-repeat;text-align-last: center;line-height:150px;font-size:20px;color:white;}.a{background-clip:border-box;}.b{ background-clip:padding-box;}.c{background-clip:content-box;}.d{background-clip:text;color:rgba(0,255,255,0.6);}</style></head><body><div class="a">border-box</div><div class="b">padding-box</div><div class="c">content-box</div><div class="d">text</div>
</html>

运行结果
在这里插入图片描述

多重背景图像

概念:

所谓的多重背景图像,指的是该元素的背景图像不止一张

在CSS3之前版本中,一个容器中只能填充一幅背景图像,如果重复设置,后设置的背景图像会覆盖之前的背景图像

但在CSS3的背景图像功能增强了很多,允许在一个容器里显示多幅背景图像,使背景图像效果更容易控制。

CSS3中没有为实现多重背景图像提供对应的属性,而是通过background这个复合属性来实现多重背景图像的效果,各属性值之间用英文逗号(,)隔开。

实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>多重背景图像</title><style>div{width:1200px;height:800px;border:1px solid blueviolet;background:url("../边框样式/image/fish4.png") left center no-repeat ,url("../边框样式/image/fish.png") top center no-repeat;}</style></head><body><div></div></body>
</html>

运行结果
在这里插入图片描述

除了运用background复合属性,也可以通过background属性的子属下background-image、background-repeat、background-position等属性提供多个属性值来实现多重背景图像的效果

/* background复合属性 */background:url("../边框样式/image/fish4.png") left center no-repeat ,url("../边框样式/image/fish.png") top center no-repeat;/* background子属性,这两者效果是一样的*/background-image: url("../边框样式/image/fish4.png"),url("../边框样式/image/fish.png");background-repeat:no-repeat;background-position:left center,top center;background-size:40%;

这两者是等价的,运行效果都一致的。

说明:多重背景图像在实际开发中,不建议使用多张背景图片,因为每多一张图片就会多引发一次HTTP请求,势必影响页面加载速度

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

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

相关文章

深入理解 Flink(三)Flink 内核基础设施源码级原理详解

Hadoop 生态各大常见组件的 RPC 技术实现 Flink RPC 网络通信框架 Akka 详解 1、ActorSystem 是管理 Actor 生命周期的组件&#xff0c;Actor 是负责进行通信的组件。 2、每个 Actor 都有一个 MailBox&#xff0c;别的 Actor 发送给它的消息都首先储存在 MailBox 中&#xff0c…

Tomcat-快速使用

关于Tomcat的概念及来由在Tomcat基本知识中进行了介绍&#xff0c;下面我们直接上手快速使用起来。 一、快速使用 &#xff08;1&#xff09;tomcat下载 &#xff08;2&#xff09;解压缩 &#xff08;3&#xff09;启动程序 &#xff08;4&#xff09;访问tomcat&#xff1a…

Serverless 开拓无服务器时代:云计算的新趋势(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

精华整理几十个Python数据科学、机器学习、深度学习、神经网络、人工智能方面的核心库以及详细使用实战案例,轻松几行代码训练自己的专有人工智能模型

精华整理几十个Python数据科学、机器学习、深度学习、神经网络、人工智能方面的核心库以及详细使用实战案例,轻松几行代码训练自己的专有人工智能模型。 机器学习 人工智能的核心,是使计算机具有智能的根本途径。机器学习专注于算法,允许机器学习而不需要编程,并在暴露于新…

OpenHarmony之编译构建使用指导

目录结构 /build # 编译构建主目录├── __pycache__ ├── build_scripts/ # 编译相关的python脚本 ├── common/ ├── config/ # 编译相关的配置项 ├─…

FlinkAPI开发之窗口(Window)

案例用到的测试数据请参考文章&#xff1a; Flink自定义Source模拟数据流 原文链接&#xff1a;https://blog.csdn.net/m0_52606060/article/details/135436048 窗口的概念 Flink是一种流式计算引擎&#xff0c;主要是来处理无界数据流的&#xff0c;数据源源不断、无穷无尽。…

10个提高 Python Web 开发效率的VS Code插件

VS Code具有灵活、便捷和丰富的可用插件库&#xff0c;是Web开发人员中非常受欢迎的代码编辑器。 本文介绍10个VS Code插件&#xff0c;它们可以提高你作为Web开发人员的工作效率。 1. Live Preview Live Preview插件支持在VS Code的小型浏览器中查看网站。因此&#xff0c;无…

办公场景日益多样化 企业如何保持安全?

当前&#xff0c;企业的办公场景日益多样化。远程办公、移动办公、云办公、分支机构等&#xff0c;这些新的办公场景也带来了新的网络安全挑战。以下将介绍一些办公场景带来的安全威胁。 1、远程办公&#xff1a;员工可以在任何地方工作&#xff0c;但同时也带来了网络安全的隐…

C++游戏引擎中的坐标系

一.Direct3D四大变换 <1.世界矩阵变换: 为了模拟3D物体的旋转,缩放,平移等功能,Direct3D将静态模型的顶点坐标x,y,z经过旋转平移矩阵变换以得到新的顶点坐标x1,y1,z1 D3DXMATRIX mTrans ; D3DXMatrixTranslation (&mTrans , 5 , - 3 , 0 ); g_pd3dDevice->SetTr…

引领行业赛道!聚铭网络入选安全419年度策划“2023年教育行业优秀解决方案”

近日&#xff0c;由网络安全产业资讯媒体安全419主办的《年度策划》2023年度优秀解决方案评选结果正式出炉&#xff0c;聚铭网络「高校大日志留存分析及实名审计解决方案」从众多参选方案中脱颖而出&#xff0c;被评为“教育行业优秀解决方案”&#xff0c;以硬核实力引领行业赛…

java基础 -02java集合之 List,AbstractList,ArrayList介绍

补充上篇 AbstractCollection < E > 在正式List之前&#xff0c;我们先了解我们补充上篇Collection接口的拓展实现&#xff0c;也就是说当我我们需要实现一个不可修改的Collection的时候&#xff0c;我们只需要拓展某个类&#xff0c;也就是AbstractCollection这个类&a…

ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

安全漏洞周报(2024.01.01-2023.01.08)

漏洞速览 ■ 用友CRM系统存在逻辑漏洞 漏洞详情 1. 用友CRM系统存在逻辑漏洞 漏洞介绍&#xff1a; 某友CRM系统是一款综合性的客户关系管理软件&#xff0c;旨在帮助企业建立和维护与客户之间的良好关系。它提供了全面的功能&#xff0c;包括销售管理、市场营销、客户服…

1.10 Unity中的数据存储 XML

一、XML 1.介绍 XML是一个文档后缀名是*.xmlXML是一个特殊格式的文档XML是可扩展的标记性语言XML是Extentsible Markup Language的缩 写XML是由万维网联盟(W3C)创建的标记语言&#xff0c;用于定义编码人类和机器可以读取的文档的语法。它通过使用定义文档结构的标签以及如何…

代码随想录算法训练营第二十一天| 回溯 216. 组合总和 III 17. 电话号码的字母组合

216. 组合总和 III 可以参考77.组合中关于选取数组的相关操作。 递归函数的返回值以及参数&#xff1a;一般为void类型 递归函数终止条件&#xff1a;path这个数组的大小如果达到k&#xff0c;说明我们找到了一个子集大小为k的组合了&#xff0c;然后当n为0的时候&#xff0…

Maven报错:Malformed \uxxxx encoding 解决办法

maven构建出现这个Malformed \uxxxx encoding问题&#xff0c;应该是maven仓库里面有脏东西进入了&#xff01; 解决&#xff1a; 将仓库中的resolver-status.properties文件全部干掉。 我使用的everything工具全局搜索resolver-status.properties文件&#xff0c;然后Ctrla,再…

Nodejs 第三十一章(响应头和请求头)

响应头 HTTP响应头&#xff08;HTTP response headers&#xff09;是在HTTP响应中发送的元数据信息&#xff0c;用于描述响应的特性、内容和行为。它们以键值对的形式出现&#xff0c;每个键值对由一个标头字段&#xff08;header field&#xff09;和一个相应的值组成。 例如…

第三十九级台阶

解题思路&#xff1a; 本题运用递归的思想&#xff0c;每走一步可以上一个或者两个台阶&#xff0c;一开始是左脚最后是右脚&#xff0c;所以走的总步数应该为偶数&#xff0c;最后跨过的台阶数应该等于39。 解题代码&#xff1a; public class disnashijiujitaijie {static i…

03. BI - 详解机器学习神器 XGBoost

本文专辑 : 茶桁的AI秘籍 - BI篇 原文链接: https://mp.weixin.qq.com/s/kLEg_VcxAACy8dH35kK3zg 文章目录 集成学习XGBoost Hi&#xff0c;你好。我是茶桁。 学习总是一个循序渐进的过程&#xff0c;之前两节课的内容中&#xff0c;咱们去了解了LR和SVM在实际项目中是如何使…

100V耐压 LED恒流驱动芯片 SL2516D兼容替换LN2516车灯照明芯片

SL2516D LED恒流驱动芯片是一款专为LED照明设计的高效、高精度恒流驱动芯片。与LN2516车灯照明芯片兼容&#xff0c;可直接替换LN2516芯片&#xff0c;为LED车灯照明提供稳定、可靠的电源解决方案。 一、SL2516D LED恒流驱动芯片的特点 1. 高效率&#xff1a;SL2516D采用先进的…