background-position:x y;

百分比定位并不能直观的看出来,需要通过计算。

background-position百分比计算公式:

(容器宽度—背景图片的宽度)*x%=xpx
(容器高度—背景图片的高度)*y%=ypx

上节我们使用的图片也可以继续拿来做练习:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>背景定位练习</title> </head>
<body>
<style rel="stylesheet" type="text/css">
.box1, .box2, .box3, .box4,.box5, .box6, .box7, .box8,.box9 {
float: left;
width:100px;
height: 100px;
background: #666 url(18.png) no-repeat;
margin-left: 10px;
} /*
(100px-400px)*x%=-300px; 那么x=100
(100px-400px)*y%=0; 那么y=0
*/
.box1{background-position:100% 0%} /*
(100px-400px)*x%=-200px; 那么x=66.6666
(100px-400px)*y%=0; 那么y=0
*/
.box2{background-position:66.6666% 0%} /*
(100px-400px)*x%=-100px; 那么x=33.3333
(100px-400px)*y%=0; 那么y=0
*/
.box3{background-position:33.3333% 0%} /*
(100px-400px)*x%=0px; 那么x=0
(100px-400px)*y%=0px; 那么y=0
*/
.box4{background-position:0% 0%} /*
(100px-400px)*x%=0px; 那么x=0
(100px-400px)*y%=-100px; 那么y=33.3333
*/
.box5{background-position:0% 33.3333%} /*
(100px-400px)*x%=0px; 那么x=0
(100px-400px)*y%=-200px; 那么y=66.66
*/
.box6{background-position:0% 66.6666%} /*
(100px-400px)*x%=0px; 那么x=0
(100px-400px)*y%=-300px; 那么y=100
*/
.box7{background-position:0% 100%} /*
(100px-400px)*x%=-300px; 那么x=100
(100px-400px)*y%=-200px; 那么y=100
*/
.box8{background-position:100% 66.6666%} /*
(100px-400px)*x%=-300px; 那么x=100
(100px-400px)*y%=-300px; 那么y=100
*/
.box9{background-position:100% 100%} </style>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
<div class="box4"></div>
<div class="box5"></div>
<div class="box6"></div>
<div class="box7"></div>
<div class="box8"></div>
<div class="box9"></div> </body>
</html>

预览效果:

因此不难得出background-position的等价写法:

left top,top left ,0 0等价于 0% 0%

center center 等价于 50% 50%

bottom right,right bottom 等价于 100% 100%

center right,right center 等价于 100% 50%

bottom center, center bottom 等价于 50% 100%

left center,center left 等价于 0% 50%

bottom left,left bottom 等价于 0% 100%

......

css背景图片定位练习(二): background-position的百分比的更多相关文章

  1. CSS背景图片定位

    原文:CSS背景图片定位 在网页开发中我们经常需要对图片进行分割(如下图)来使用,而不是分别提供单独的图片来调用,常见的如页面背景,按钮图标等,这样做的好处就是减少请求次数,节省时间和带宽. 对背景图 ...

  2. css背景图片定位练习(一)

    首先准备一张雪碧图,Like this 背景图片的定位方法有3种,比较常用的两种为 关键字:background-position: top left; (top/bottom/cennter/lef ...

  3. CSS常用背景图片定位方法

    CSS背景图片定位其实对于每一位学习前端的同学来说,都已经非常熟悉了.网上铺天盖地的最常见的一种方案就是在父元素中relative,然后子元素absolute.这种方案当然好,不过带来的一个缺点就是会 ...

  4. css背景图片位置:background的position(转)

    css背景图片位置:background的position   position的两个参数:水平方向的位置,垂直方向的位置----------该位置是指背景图片相对于前景对象的 1.backgroun ...

  5. background的属性和背景图片定位的实例

    本文内容: 1.背景图片定位示例 2.background常用的属性值 3.background-repeat新增的round.space属性 4.background-size的属性值(着重介绍co ...

  6. CSS 背景图像 背景图片定位

    背景图片定位 background-position属性可以给背景图片定位. background-position属性有两个值,第一个值是水平位置,第二个值是垂直位置.这两个值可以使用百分比来表示( ...

  7. HTML+CSS—背景图片、图片定位

    设置背景图片格式: background-image: url(img/ic.jpg); 注意点: 如果父容器面积大于背景图片,默认显示该图片整面平铺 设置是否需要平铺属性: background-r ...

  8. Bootstrap css背景图片的设置

    一. 网页中添加图片的方式有两种 一种是:通过<img>标签直接插入到html中 另一种是:通过css背景属性添加 居中方法:水平居中的text-align:center 和 margin ...

  9. css背景图片拉伸 以及100% 满屏显示

    如何用css背景图片拉伸 以及100% 满屏显示呢?这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单. 比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在 ...

随机推荐

  1. 【转】执行脚本出现bin/bash: bad interpreter: No such file or directory

    [转自]http://blog.csdn.net/wind19/article/details/4822666 错误原因之一很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以/r/n来标识, 其 ...

  2. HDU 4533 威威猫系列故事——晒被子

    题目链接 扫描线可做,然后当时比赛后问虎哥,他说可以标记,然后拖了很久,今天从早上折腾到晚上,终于把两种情况写出来,分析太弱.改天扫描线,再来一次. 被子如果被y = x 穿过,可以分成两部分,上和下 ...

  3. Idea_Maven配置

    操作方式:在install上右键——>Run***install 出现Run Configurations ——>右键——>Edit Run Configuration 1.Inst ...

  4. Mysql_mysql多个TimeStamp设置

    timestamp设置默认值是Default CURRENT_TIMESTAMP timestamp设置随着表变化而自动更新是ON UPDATE CURRENT_TIMESTAMP 但是由于 一个表中 ...

  5. 二分查找算法java实现

    今天看了一下JDK里面的二分法是实现,觉得有点小问题.二分法的实现有多种今天就给大家分享两种.一种是递归方式的,一种是非递归方式的.先来看看一些基础的东西. 1.算法概念. 二分查找算法也称为折半搜索 ...

  6. VS - 实用技巧

    将Javascript 左边花括号置于新行 工具-选项-文本编辑器-格式设置-新行-全勾 开启调试自动窗口 || 监视变量 VS2012以下版本 CTRL + D + Q 其他版本 调试-窗口-自动窗 ...

  7. 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?

    在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表.那么在这个章节里面,我将会给大家演示一下,如 ...

  8. MySQL 日期和时间戳互相转换

    ① 时间戳转换成日期 FROM_UNIXTIME 例如: 数据表中 invest_time 存储的是时间戳,如 1429063399 使用 FROM_UNIXTIME 可以把时间戳转换为日期: sel ...

  9. python 调用系统命令

    Python执行系统命令一般的用到了四种方法, 第一种是 os.system(),  这个方法比较常用, 使用也简单, 会自动的生成一个进程,在进程完成后会自动退出, 需要注意的是 os.system ...

  10. ecshop中$user对象

    ecshop中$user对象 2011-10-01 18:41:23|  分类: ECSHOP |  标签:ecshop  $user  对象  |举报|字号 订阅 http://blog.163.c ...