CSS之background-position属性

1.作用:background-position是用来控制元素背景图片的位置。以图片的左上角顶点为原点,属性值为正就代表图片下移或右移,属性值为负就代表图片上移或左移。它接受三种值

- 关键词,比如top、right、bottom、left和center

- 长度值,比如px、em、rem等

- 百分值%

这里写图片描述

在前面我们看到背景图片默认的被放置在放置区的左上角。这是由于background-position的默认的值是0%,0%

这里写图片描述

位置属性可以通过指定一个偏移量(关键词、百分比或长度)、两个偏移量(三种可能值取两个组合)、或者四个偏移量(一个关键词加一个相对数值)来描述

这里写图片描述

如果只提供了一个值,那么另一个方向即被假定为 center。如果提供了两个值,第一个会决定距离左边缘的偏移,即水平位置;第二个值会决定图片从上边缘向下的偏移,即竖直的位置

注意1:注意一对关键字可以交换顺序,一个关键字和百分比或长度的组合不能。因此center left是合法的,50% left则不正确,必须是left 50%。当使用一个关键字和一个长度或百分比的组合时,第一个值总是对应水平偏移,第二个对应竖直偏移

注意2:事实上,关键字是特定百分比值的简写,比如:top相当于 距离上边缘偏移0%,bottom相当于距离上边缘偏移100%,left相当于距离左边缘偏移0%,right相当于距离左边缘偏移100%,center相当于距离任意它被应用的方向偏移50%(水平或竖直)

2.使用绝对值的效果

当你用绝对值指定位置时,就是使背景图片偏离左上角一个特定的量。换句话说,图片会移动离开放置区左上角达到你在background-position中指定的偏移量

最好的解释和理解的方式是看图,这里有两个绝对值background-position的例子,看看浏览器是怎样解释位置和放置背景图片的。两个示例中元素大小100px乘80px

这里写图片描述

绝对值也可以是负数,这种情况下图片就会离开边缘反方向上偏移

这里写图片描述

3.使用百分比的效果

不像使用绝对值的偏移量会从元素左上角移动一个特定的距离,百分比X%偏移会把图片水平宽度X%(或竖直高度X%)的点与容器横向X%的点(或竖直高度X%) 对齐

例如,绝对值位置0% 0%,会让图片0% 0%的点与背景放置区坐标系0% 0%的点对齐。绝对值位置50% 70%会把图片横向50%竖直70%的点与背景放置区横向50%竖直70%的点对齐

这里写图片描述

和使用绝度值一样,百分比也可以有负数,负数移动图片到坐标轴相反的方向上

4.相对任意边缘的偏移

上两节的例子中我们设定、体验了图片相对上边缘和左边缘的偏移的效果 (这对于有一个或两个值的 background-position来说是默认的)

当使用组合关键词和数值成四个值的语法时,你就也能够指定背景图片相对于右边缘和底部边缘的偏移了。为了这样做,你只需要指出你要用的边缘的名字,后面跟上你想要的偏移量就可以了

这里写图片描述

在使用四个值位置的语法时,一定要记得:当给出三个或四个值的时候,每个百分比或绝对长度都必须跟在一个关键词后面,用来指定从哪个边缘上偏移。例如:background-position: bottom 10px right 20px代表 竖直从下边缘偏移10px,水平从右边缘偏移20px。如果三个值已经指定好了,没给出的被假定为0。如果你给出了两个数值偏移量或一个关键词,那么值是无效的,浏览器会使用默认值0% 0%

实例:

这里写图片描述

这里写图片描述

第一张背景图background-position:10px 10px;第二张背景图background-position: center

5.你所不知道的background-position

前面也说过了,background-position取值除了长度值(<length>)和关键词之外,还可以取值为百分比值。当然大家也使用过百分比值,比如:

这里写图片描述

那么问题来了,你真的了解background-position取值为百分比的计算比例吗?如果我的百分比值不是和关键词对等的值呢?那么它是怎么计算的?这一系列的问题,你是否有仔细的思考过。就我个人而言,我以前所理解也存在一个误区

我一直错误的理解为background-position百分比值,它是相对于背景图片的尺寸

实际上,当背景图片尺寸(background-size)不做任何的重置(也就是100% 100%)时,水平百分比的值等于容器宽度百分比值减去背景图片宽度百分比值。垂直百分比的值等于容器高度百分比值减去背景图片高度百分比值

比如前面的示例,如果取值background-position: 75% 50%;,背景图片的起始位置

- 水平位置(x轴):(410 - 100) * 75% = 232.5px

- 垂直位置(y轴):(210 - 100) * 50% = 55px

这里写图片描述

这里写图片描述

总结:background-origin用来定义background-position的原点位置;而background-position用来设置图片相对原点的位置

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

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

相关文章

vue-cli3.0之vue.config.js的配置项(注解)

module.exports {// 部署应用时的基本 URL(从 Vue CLI 3.3 起已弃用&#xff0c;请使用publicPath。)baseUrl: process.env.NODE_ENV production ? 192.168.60.110:8080 : 192.168.60.110:8080,// 部署应用包时的基本 URL。用法和 webpack 本身的 output.publicPath 一致pub…

用户登录成功后才进入主窗口进行其他操作

应用前景&#xff1a;面对一个应用程序&#xff0c;用户只有输入正确的用户名和密码后&#xff0c;才能进入主窗口进行其他的操作&#xff1b;否则&#xff0c;提示登录失败&#xff0c;重新输入。 开发环境&#xff1a;Windows XP VC6.0 新建一个基于MFC的单文档应用程序(项…

javascript学习系列(20):数组中的bind,apply,call

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说…

DSOfile,修改windows系统文件摘要

今天要做一个功能&#xff0c;就是修改图片的摘要信息&#xff0c;一开始采用的是修改exif信息的方式&#xff0c;但是很多的图片没有exif信息&#xff0c;或者没有指定的exif项&#xff0c;又找别的方法&#xff0c;来修改文件的摘要信息。 首先是采用ole32.dll,但是郁闷的是&…

CSS之background-origin属性

1.作用&#xff1a;其实background-origin主要就是用来决定背景图片的定位原点&#xff0c;换句话说就是背景图片定位的起点&#xff08;background-position的原点&#xff09; 如果你看过了《CSS3 background-clip》一文&#xff0c;你不难发现&#xff0c;元素Background中…

Vue.js CLI4 Vue.config.js标准配置 (最全注释)

前言&#xff1a; Vue.js CLI工具 不知不觉发展到了4.0时代&#xff0c;CLI给人最直白的感受是没有了build文件夹跟config文件夹&#xff0c;所有的配置都在Vue.config.js完成。那么该文件的配置至关重要。现在我们来看一下最新配置是怎么配置的。 有三种方式&#xff0c;推荐…

javascript学习系列(22):数组中的reduceRight法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说…

java模拟开锁

java模拟开锁 service qq:928900200 Introduction to Computer Science II: CSCI142Fall 2014Lab #1Instructor: Daniel PlanteAssigned: Monday, September 8, 2014Turn In By: Monday, September 15, 2014 (Zipped project with allfiles by MIDNIGHT)For this lab, you will…

vue中mode的设置

在学过渡效果的时候&#xff0c;里边有一个mode的设置&#xff0c;但是在路由的属性中还有一个mode。 mode的两个值 histroy:当你使用 history 模式时&#xff0c;URL 就像正常的 url&#xff0c;例如 http://localhost:8080/hi&#xff0c;也好看&#xff01;hash:默认’has…

CSS之Background-clip属性

1.作用&#xff1a;CSS3中的Background-clip属性&#xff0c;其主要是用来确定背景的裁剪区域&#xff0c;换句话说&#xff0c;就是如何控制元素背景显示区域 2.语法&#xff1a;background-clip &#xff1a; border-box || padding-box || content-box 3.取值说明&#xf…

OLE、OCX和ActiveX控件之间的比较

一、过去的OLE和今天的OLE 最初的OLE含义是指在程序之间链接和嵌入对象数据&#xff0c;它提供了建立混合文档的手段&#xff08;资深Windows 3.X 用户可能记得当初在Word6.0中插入一个图形的新奇和喜悦&#xff09;&#xff0c;使得那些没有太多专业知识的用户能够很容易地协调…

Vista系统自带IIS 7.0设置技巧详解

初用IIS7让人一头雾水&#xff0c;再也没有原来熟悉的属性窗体&#xff0c;替代的是一些很陌生的名词和操作方式。现在不评它这种改变是好是坏&#xff0c;先让它给我们跑起来吧。 首先是安装IIS7&#xff0c;Vista默认的情况下是没有安装IIS7&#xff0c;所以我们要在"控…

Spring Bean初始化过程

一、首先我们来看ClassPathXmlApplicationContext类体系结构 从该继承体系可以看出&#xff1a; 1. BeanFactory 是一个 bean 工厂的最基本定义&#xff0c;里面包含了一个 bean 工厂的几个最基本的方 法&#xff0c;getBean(…) 、 containsBean(…) 等 ,是一个很纯粹的…

关于height:100%和height:100vh的区别

1.em 在做手机端的时候经常会用到的做字体的尺寸单位 说白了 em就相当于“倍”&#xff0c;比如设置当前的div的字体大小为1.5em&#xff0c;则当前的div的字体大小为&#xff1a;当前div继承的字体大小*1.5 但是当div进行嵌套的时候&#xff0c;em始终是按照当前div继承的字…

顶宽的div中的英文不能自动换行

1.在一个设定好宽度的div中&#xff0c;当我们输入的中文文字长度超过了设定宽度时&#xff0c;会自动换到下一行。但是&#xff0c;如果输入的是英文字母&#xff0c;那么&#xff0c;无论你div设定宽度为多少&#xff0c;英文字母都是不换行直接在同一行输出&#xff0c;导致…

读取CPU信息

简单的讲下读取CPU信息的一个思路&#xff0c;看了后&#xff0c;相信谁都会说&#xff1a;原来这么简单呀&#xff0c;我也会。哈哈&#xff0c;进入正题&#xff0c;看图&#xff1a; 看清楚了吗&#xff0c;原来CPU信息在注册表里就有。如果你只是要简单的CPU信息&#xff0…

samba3.2的安装全过程(tar方式)

samba服务器,我相信大家都不陌生,主要用来实现windows和linux之间的资源共享,网上比较多的是采用rpm安装包的方式安装,我个人也觉得rpm方式安装比较方便容易,如果没什么特别需求,还是用这种吧!我这里介绍的是采用tar方式的安装.首先下载一个samba的安装文件:samba-3.2.0.tar.gz…

ThinkPHP函数详解:C方法

毫无疑问&#xff0c;C方法是thinkphp中操作配置项的方法&#xff0c;较为常用。 C方法是ThinkPHP用于设置、获取&#xff0c;以及保存配置参数的方法&#xff0c;使用频率较高。了解C方法需要首先了解下ThinkPHP的配置&#xff0c;因为C方法的所有操作都是围绕配置相关的。Thi…