前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CSS】220-你可能理解错了background-position

【CSS】220-你可能理解错了background-position

作者头像
pingan8787
发布2019-07-23 18:16:19
5150
发布2019-07-23 18:16:19
举报
文章被收录于专栏:前端自习课前端自习课

文本主要解决如何理解背景定位(background-position)属性的。

文章虽短,但是内容足够拨乱反正。

首先,我们给一个 div 设置背景:

代码语言:javascript
复制
div{
  width: 300px;
  height: 200px;
  padding: 10px;
  border: 10px solid rgba(0,0,0,.7);
  background-color: aqua;
  background-image: url(test.jpg);
}

其效果如下图所示,注意图片平铺是从 padding-box 开始的,另外, border 后面也是有图片的。

为了方便理解 background-position,这让背景图片不平铺。

代码语言:javascript
复制
background-repeat: no-repeat;

效果如图所示:

接下来我们设置图片位置:

代码语言:javascript
复制
background-position: right bottom;

产生如下效果:

重点来了,right bottom 这个值是什么意思呢?

估计大部分人都理解错了。

正确的理解是:图片的右下角与 div 的右下角对齐!

你可能会说:这有啥?多么直观,没错,我就是这么理解的。

这里想说,如果真是这么理解的话,那么就不该对百分比值感到奇怪。

因为 right bottom 就是 100% 100%。

代码语言:javascript
复制
background-position: 100% 100%;

设置如上样式,会产生同样的效果。

100% 100% 的意思是说:

图片自身的 100% 100% 位置 与 div 的 100% 100% 处对齐!

再与之前那句做下对比:

图片的 right bottom 处与 div 的 right bottom 处对齐!

发现了没有,百分值是很容易理解的。

并不需要像一些书里那样用公式来理解:

positionX = (容器的宽度 - 图片的宽度) * percentX

当然,通过百分比对齐这种理解,很容易推出这个公式。

再以具体的 75% 40% 为例,生动地说明这种理解方式简单易懂:

至此,核心内容说完了。

最后再提一下,默认背景定位是相对于 padding-box 的。通过 background-origin 来指定其他盒子。

另外,当 background-attach 设置为 fixed 时,图片定位是相当于视口来的。示意如下:

本文完。

如果方便的话,关注我一下,点个赞再走。

谢谢。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端自习课 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档