background-position属性值百分比是什么意思,还有哪些写法
Admin 2022-06-24 群英技术资讯 537 次浏览
今天帮别人调代码时,看到一个样式:
background-position: 50% 0; background-size: 100% auto;
对background-size:100% auto,意思是背景图片宽度为元素宽度*100%,高度等比缩放。详情可见css3 background。
对background-position很自然的以为百分比是根据父元素宽度计算的,但background-position真的不是,它有一套自己的原理。下面详细介绍。
在看各类教程时有以下等价写法:
那么为什么left,top就等价于0% 0%,right bottom等价于100% 100%呢?
background-postion:x y; x:{容器(container)的宽度—背景图片的宽度}*x百分比,超出的部分隐藏。 y:{容器(container)的高度—背景图片的高度}*y百分比,超出的部分隐藏。
有了这个公式,就很容易理解百分百写法了,推算一下也就很容易理解上面各类等价写法了。
1、background-position:center center等价于background-position:50% 50%等价于background-position:?px ?px
例子中用到背景图如下【尺寸:200px*200px】:
背景图在容器中居中。
<style type="text/css"> .wrap{ width: 300px; height: 300px; border:1px solid green; background-image: url(img/image.png); background-repeat: no-repeat; /* background-position: 50% 50%;*/ background-position: center center; } </style> <div class="wrap"> </div>
效果都是让背景图片居中
如上通过设置百分比和关键字能实现背景图居中,如果要实现通过具体值来设置图片居中该设置多少?
根据上面公式:
x=(容器的宽度-背景图宽度)*x百分比=(300px-200px)*50%=50px;
y=(容器的高度-背景图高度)*y百分比=(300px-200px)*50%=50px;
即设置background-postion:50px 50px;
测试一下:
<style type="text/css"> .wrap{ width: 300px; height: 300px; border:1px solid green; background-image: url(img/image.png); background-repeat: no-repeat; /* background-position: 50% 50%;*/ /* background-position: center center;*/ background-position: 50px 50px; } </style> <div class="wrap"> </div>
效果同样居中。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
盒模型是CSS控制布局的主要方式之一,尤其是内部的元素排列控制,今天小编在这里将给大家来介绍一下CSS的box model盒模型及其内的子元素布局控制,需要的朋友可以参考下
这篇文章给大家分享的是CSS盒子高度怎样设置始终100%。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
有很多网站都会使用时间轴动画,其好处就是就是可以直观展示时间线以及美化网站,那么时间轴动画效果是如何实现的呢?下面分享一个CSS3实现时间轴动画的实例,效果图如下,感兴趣的朋友就继续往下看吧。
深入理解margin塌陷和margin合并的解决方案,有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
这篇文章主要介绍了css实现发光文字及一点点js特效 ,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008