利用CSS定位背景图片实例介绍

又如:

利用CSS定位背景图片实例介绍

这些小图片就是整图分割后的各个部分,把各个部分放在一张图片上,而不是是分别存储成单独的图片,其目的我们都知道,就是减少http请求次数,节省时间和带宽。

那么怎么来实现一张图片在不同的地方只显示其中的一部分呢,这就用到了我们今天要说的背景图片的定位问题。这个问题相信很多人都郁闷过,也经常有朋友问我,所以今天就系统的说一下:

我们知道在用图片作为背景的时候,css要这样写,以div容器举例子,也可以是body、td、p等的背景,道理一样。

代码:

div{ background:#FFF url(image) no-repeat fixed x y;}

这里的background的属性值依次为:

#FFF 背景色:(颜色值,背景图片没有覆盖的地方,或者没有背景图片时表现的背景色)
image 背景图片:(这里是图片的地址)
no-repeat 是否重复:(图片小于容器的大小时,默认会重复排列图片以填满容器,no-repeat表示不重复,只有这个时候后面的定位坐标才有用。)
fixed 背景是否随容器滚动:(有两个可选值,scroll滚动,fixed不滚动,默认是scroll)
x y 背景图像的定位:(注意,只有在no-repeat下定位才有意义。这个就是今天要讲的重点)

背景图像定位中我们要明确的几点:

1、两个值前面一个是横向的定位,我们称为x轴方向定位。后面一个值是纵向的定位,我们称为y轴方向定位。如果只有一个值,那默认的就是x轴方向,这时y轴方向就默认的是上下居中对齐,也就是center。
2、坐标轴的原点就是对应容器的左顶点。
3、这个坐标的y轴箭头朝下,也就是右下方(容器内部)x y的值才都为正。
4、x y值分别表示背景图片的左顶点相对于坐标原点(也就是容器的左顶点)的值。
5、x y的值可以用百分比或者px来表示。
6、x y也可以用“left、right、top、bottom、center”这五个对齐方式来表示,但注意:用“left、right、top、bottom、center”来表示的时候,应用的是对齐规则,而不是坐标规则。x为left是表示图片的左边和容器的左边对齐,为right的时候表示图片的右边和容器的右边对其,y为top的时候表示图片的顶部和容器的顶部对齐,为bottom时表示图片的底部和容器的底部对齐,x y等于center的时候表示居中对齐。
7、x y用百分比或者px表示的时候,其值可以为负数。我们应用坐标规则就很容易理解负数表示的意义,x为负数时候表示图片左顶点在容器左顶点的左侧,y为负数时表示图片的左顶点在容器的左定点的上方。也就是向左和向上超出容器的范围。

下面我用几个图示来说明一下几种情况,蓝色块表示图片,虚线框表示容器(可以div,td,或者直接就是body),注意只有背景图片在容器内我们才能看见,我用白色表示可见部分,而且超出容器范围的是看不见的,我用灰色表示。容器的左定点的坐标就是(0,0)。

利用CSS定位背景图片实例介绍

第一张,背景图片和容的左上对齐,0px 0px 也可以写成left top

利用CSS定位背景图片实例介绍

第二张,背景图在容器中间,定点坐标为正值

利用CSS定位背景图片实例介绍

第三张,背景图部分在容器左上,定点坐标为负值

————————————————————————— 
到此我们可能就明白了如何用background里的定位值来准确定位一个背景图片,返回去我们看一下开始的时候介绍的两个图片,我们就是可以用:背景定位和容器内才可见这两个性质来随意的调用整张图片的某一部分。

但是我们为了调用方便,在排列这些小图片的时候要讲究一点规则,比如:小图之间的距离通常是调用小图的容器的大小,或者距离更大一点,这样就可以避免在容器内显示出我们不愿意显示的图片!

补充一点,如果定位用的是百分比话,算法比较特殊。我举个例子:

代码:

background:#FFF url(image) no-repeat fixed 50% -30%;

这个时候图片应该在容器的什么位置呢,算法公式如下:

图片左顶点距容器左顶点的坐标位置为 
x:(容器的宽度-图片的宽度)x50% 
y:(容器的高度-图片的高度)x(-30%) 
得到的结果应用坐标法则,差值如果为负数,百分比为正那么运算结果是负值。如果差值为负数,百分比也为负数,那么运算结果就是正数。总而言之就是这里的运算符合运算法则。把运算的结果带入坐标法则就能得到图片的位置。 
比如:容器是width:600px;height:600px;而图片是width:200px;height:200px; 
我们用上面的样式,可以得到图片位置为: 
x:(600px-200px)*50% 
y:(600px-200px)*(-30%) 
如下图:

利用CSS定位背景图片实例介绍

以上就是利用CSS定位背景图片实例介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2904341.html

(0)
上一篇 2025年3月11日 02:01:30
下一篇 2025年3月11日 02:01:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 详解CSS中三种基本的定位机制

    css 定位机制 CSS 有三种基本的定位机制:普通流、浮动和绝对定位。 除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定。 块级框从上到下一个接一个地排列,框之间的垂直距离是由…

    2025年3月11日 编程技术
    200
  • html CSS中的相对定位和绝对定位使用总结

    定位,指确定方位;确定或指出的地方;确定场所或界限(如通过勘察)给这个地产的界限定位。 在CSS中关于定位的内容是:position:relative | absolute | static | fixed。static 没有特别的设定,遵…

    2025年3月11日 编程技术
    200
  • css的定位有什么?css定位的总结

    本篇文章给大家带来的内容是关于css的定位有什么?css定位的总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 定位分为: static(默认): 这是页面元素position属性的默认值,元素将按照浏览器对网页中元素的…

    编程技术 2025年3月10日
    200
  • 如何使用css定位?css定位的使用方法

       本篇文章给大家带来的内容是关于如何使用css定位?css定位的使用方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 position static :默认值,元素出现在正常流中。 relative:相对定位,相对于…

    2025年3月10日
    200
  • 如何在CSS中设置元素的位置

    CSS(层叠样式表)是一种用来描述网页样式的语言。在CSS中,可以通过设置相对位置来控制元素在页面中的摆放位置。下面我们将通过详细的代码示例来介绍如何使用CSS设置相对位置。 首先,我们需要了解相对定位(relative positioni…

    2025年3月10日
    200
  • 怎么利用css进行定位?css布局与定位详解

    怎么利用css进行定位?css可以帮助您定位html元素。 您可以将任何html元素放在您喜欢的任何位置。 您可以指定是否希望元素相对于页面中的自然位置定位,还是基于其父元素定义,下面我们来讲解一下css布局与定位。 一:相对定位 相对定位…

    2025年3月9日
    200

发表回复

登录后才能评论