关于背景图片的位置其background-position设置背景图片的位置有两种方式,一种是是根据像素设置,第二种根据百分比设置,第一种根据像素的位置是很简单的,只是关于百分比这个设置理解特别容易出现偏差的,先看看一段简单的代码:

   .bg-position{
background:url(../../public/images/404.jpg) no-repeat;
margin-top:100px;
margin-left:100px;
background-color:#ccc;
height: 500px;
width: 800px;
background-position: 100px 100px;
}

这种情况是可以预见的,如下所示:

网上看了一篇文章说是background-position是依赖于no-repeat的,在repeat的状态下和默认的状态下(默认即为repeat),background-position是不起作用的,因此自己尝试了一把,看了一下效果:

代码中去掉了no-repeat,同样是可以展示,以前repeat的时候没有注意和background-position结合一起,不过现在发现设置background-position之后,我们不断的调整垂直方向的距离,发现所有的位置变动都是根据正中间的全部显示的图片的位置进行调整,有兴趣的可以尝试一下~

我们将background-position设置为20% 20%,代码如下:

    .bg-position {
background: url(../../public/images/404.jpg) no-repeat;
margin-top: 100px;
margin-left: 100px;
background-color: #ccc;
height: 500px;
width: 500px;
background-position: 20% 20%;
}

最开始我以为是最开始的图片位置一样,500*0.2=100,但是事实上却不是这样:

这个百分比不是根据div的宽度来绝对的,而是根据div宽/高和图片的宽/高的差值来决定的:

position-x=(容器宽度-图片宽度)*百分比

position-y=(容器高度-图片高度)*百分比

这样就会理解上图出现的问题,如果想更好的理解一下可以理解图片的20%的点和容器在20%所在的点重合~

CSS-background-position百分比的更多相关文章

  1. CSS中position和header和overflow和background

    <!DOCTYPE html> <!--CSS中position属性--> <html lang="en"> <head> < ...

  2. PHP全栈开发(八):CSS Ⅲ background

    设置背景颜色: div { background-color:#b0c4de; } 不仅可以给body标签设置背景颜色,还能给p,div,h标签设置背景颜色 设置背景图片: body { backgr ...

  3. 深入理解css中position属性及z-index属性

    深入理解css中position属性及z-index属性 在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共 ...

  4. 关于CSS 的position定位问题

    对于初学者来说,css的position定位问题是比较常见的.之前搞不清楚postion定位是怎么回事,排版一直歪歪斜斜的,老是排不好 css的定位一般来说,分为四种: position:static ...

  5. css利用padding百分比实现图片自适应高度

    应用场景 宽高比率,实现图片自适应高度,防止图片加载过程高度为0,加载完图片高度撑起,它下面的div抖动问题 重点:CSS百分比padding都是相对宽度计算的 <div class=" ...

  6. CSS background 之设置图片为背景技巧

    首先先来看看background有那些值: 可以按顺序设置如下属性(可点击进入相应的css手册查看使用):background-color 背景颜色background-image 背景图片backg ...

  7. CSS background 属性详解

    CSS background Property 语法: background: bg-color bg-image position/bg-size bg-repeat bg-origin bg-cl ...

  8. CSS之position体验

    目录: 1. position介绍 2. relative 3. position 4. fixed与static 5. 总结 1. position介绍 position最简单的理解就是元素位置的定 ...

  9. [CSS3] CSS Background Images

    Body with background image and gradient html { background: linear-gradient(#000, white) no-repeat; h ...

  10. css background transparent All In One

    css background transparent All In One opacity ul { max-height: 100px; /* max-height: 187px; */ overf ...

随机推荐

  1. hdu 4461 第37届ACM/ICPC杭州赛区I题

    题意:给两个人一些棋子,每个棋子有其对应的power,若b没有或者c没有,或者二者都没有,那么他的total power就会减1,total power最少是1,求最后谁能赢 如果b或c出现的话,fl ...

  2. apache2.4配置https

    1.获取证书 1.1 openssl生成SSL证书(自行百度) 1.2 腾讯云,阿里云,百度云等等都有提供免费的SSL证书 2.证书安装 编辑Apache根目录下 conf/httpd.conf 文件 ...

  3. BZOJ 3101: N皇后 构造

    3101: N皇后 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3101 Description n*n的棋盘,在上面摆下n个皇后,使其 ...

  4. C# 读取CSV和EXCEL文件示例

    我们习惯了直接连到数据库上面读取数据表的数据内容: 如果有一天我们需要读取CSV,EXCEL文件的内容的时候,可不可以也像读数据表的方式一样呢?当然可以,使用OleDB ADO.NET是很简单的事情 ...

  5. 【原】用IDEA远程Debug Tomcat服务

    [环境参数] Web容器:Tomcat 8.0 IDE:IDEA 2018.1.5 [具体步骤] 1.配置Tomcat容器参数 编辑$CATALINA_HOME/bin/catalina.sh脚本,加 ...

  6. Anaconda、Miniconda、Conda、pip的相互关系_我是刘振岗_新浪博客

    Anaconda.Miniconda.Conda.pip的相互关系_我是刘振岗_新浪博客 http://blog.sina.com.cn/s/blog_8a122dcf0102x9vn.html

  7. perl 信号

    来自:http://www.bagualu.net/wordpress/?p=1628 使用signal,能让你的程序功能更丰富.要在Linux下列出所有的signal, 利用kill -l即可. 下 ...

  8. hdu 4643 GSM 计算几何 - 点线关系

    /* hdu 4643 GSM 计算几何 - 点线关系 N个城市,任意两个城市之间都有沿他们之间直线的铁路 M个基站 问从城市A到城市B需要切换几次基站 当从基站a切换到基站b时,切换的地点就是ab的 ...

  9. WinForm基于插件开发实现多项配置存储

    一.课程介绍和实例在线演示 明人不说暗话,跟着阿笨一起玩WinForm.本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C ...

  10. The main reborn ASP.NET MVC4.0: using CheckBoxListHelper and RadioBoxListHelper

    The new Helpers folder in the project, to create the CheckBoxListHelper and RadioBoxListHelper class ...