css background-position和background-size以及clip属性

今天聊一聊css背景属性的background-position和background-size以及clip三个属性。

background-position:(0%,0%)为默认值
这个属性,看它字面意思就知道啦,用来定位背景显示的位置。既然是定位,自然而然我们就想到了top和left,
对比于position属性,在这里我们可以用以下方式来使用background-position:

1、直接使用定位关键词如"right","center","top","left"等,形如background-
position:center left;如果只设置一个值,另一个值默认为center;

2、使用百分比,形如background-position:10% 20%;第一个值为水平值,第二个为垂直方向值如果只设置
 一个值,另一个值默认为50%;

3、使用px,em等其他css单位,与百分比使用类似。




background-size:auto为默认值
这个属性,是用来控制背景图片尺寸的。它也有几种用法:

1、直接使用css单位如px,rem等,形如:background-size:10px 20px;第一个数值用来确定宽度,第二个
值用来确定高度。

2、使用百分比与使用单位类似,是以父元素为基准。

3、关键词cover,background-size:cover;顾名思义,这个属性会让背景图片完全覆盖元素空间。我们可以
这样理解,将一张图片等比例放大,直到这张图片能够完全将元素空间完全覆盖时,就是此时cover定义的背景
尺寸了。

4、关键词contain,background-size:contain;contain属性与cover不同,仍然是等比例拉大背景图片
但是,contain属性是在图片的宽度或者高度其中之一和元素的宽度和高度一致时,此时的尺寸就是背景的尺寸
也就是说,图片会被放大到容器能够完全显示它的最大尺寸。




最后,我们来看一个用clip属性搭配js脚本实现的效果:

clipboard.png

我们看到图片中的导航条,文化二字被“切割”了,一部分是黑色,一部分是白色。这是怎么做到的呢?诀窍在于
使用clip属性,clip用来裁剪绝对定位元素,被切掉的部分类似于overflow:hidden,也就是说在页面上是
看不见的。这个效果,其实用了两个一样的导航重叠在一起,然后通过js脚本根据滚动来实时设置clip属性的值
nav1裁剪掉下部分,nav2裁剪掉上部分,这样看来就实现了图片的效果。

由于文字描述比较难懂,这里贴出有图中效果的某网址,供各位参考~~
点击这里:http://www.sketchin.ch/en/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值