美文网首页
css样式——背景篇

css样式——背景篇

作者: LorenSLJ | 来源:发表于2018-10-27 23:46 被阅读0次

    CSS背景

    css允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果。

    背景色

    可以使用background-color属性为元素设置背景色。这个属性接受任何合法的颜色值。
    这条规则把元素的背景色设置为灰色:

    p { background-color: gray; }
    

    可以为所有元素设置背景色,包括块级元素和行内元素。
    background-color不能继承,其默认值是transparenttransparent有透明之意。也就是说,如果一个元素没有指定背景色,那么背景就是透明的,这样其祖先元素的背景才能可见。

    背景图像

    要把图片放入背景,需要使用background-image属性。background-image属性的默认值是none,表示背景上没有放置任何图片。
    如果需要设置一个背景图像,必须为这个属性设置一个URL值:

    body { background-image: url(./img/bg.png) }
    

    background-image属性不能继承,事实上,所有的背景属性都不能继承。

    背景重复

    如果需要在页面上对背景图像进行平铺,可以使用background-repeat属性。

    属性值repeat导致图像在水平垂直方向上都平铺,就像以往背景图像的通常做法一样。repeat-xrepeat-y分别导致图像只在水平或垂直方向上重复,no-repeat则不允许图像在任何方向上平铺。
    默认地,背景图像将从一个元素的左上角开始:

    body { 
        background-image: url('./img/bg.png');
        background-repeat: repeat-y;
     }
    

    背景定位

    可以利用background-position属性改变图像在背景中的位置。

    下面的例子在body元素中将一个背景图像居中放置:

    body {
        background-image: url('./img/bg.png');
        background-repeat: no-repeat;
        background-position: center;
    }
    

    background-position属性提供值有很多方法。首先,可以使用一些关键字topbottomleftrightcenter。还可以使用长度值,如100px5cm,最后也可以使用百分数值。不同类型的值对于背景图像的放置稍有差异。

    关键字

    根据规范,位置关键字可以按任何顺序出现,只要保证不超过两个关键字(一个对应水平方向,一个对应垂直方向)。
    如果只出现一个关键字,则认为另一个关键字是center

    下面是等价的位置关键字:

    单一关键字 等价的关键字
    center center center
    top top center 或 center top
    bottom bottom center 或 center bottom
    right right center 或 center right
    left left center 或 center left

    百分数值

    百分数值的表现方式更为复杂。假设你希望用百分数值将图像在其元素中居中,这很容易:

    body {
        background-image: url('./img/bg.png');
        background-repeat: no-repeat;
        background-position: 50% 50%;
    }
    

    如果图像位于0% 0%,其左上角将放在元素内边距区的左上角。如果图像位置是100% 100%,会使图像的右下角放在右边距的右下角。
    因此,如果你想把一个图像放在水平方向2/3、垂直方向1/3处,可以这样声明:

    body {
        background-image:url('./img/bg.png');
        background-repeat: no-repeat;
        background-position: 66% 33%
    }
    

    如果只提供一个百分数值,所提供的这个值将用作水平值,垂直值将假设为50%。
    backgroun-position的默认值是0% 0%,在功能上相当于top left。这就解释了背景图像为什么总是从元素内边距的左上角开始平铺。

    长度值

    长度值解释的是元素内边距左上角的偏移。偏移点是图像的左上角。
    比如,如果设置值为50px 100px,图像的左上角将在元素内边距区左上角向右50像素、向下100像素的位置上。

    注意,这一点与百分数值不同,因为偏移只是从一个左上角到另一个左上角。也就是说,图像的左上角与background-position声明中的指定的点对齐。

    背景关联

    如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。

    可以通过background-attachemnt属性防止这种滚动。通过这个属性,可以声明图像相对于可视区时固定的(fixed),因此不会受到滚动的影响。

    body {
        background-image: url('./img/bg.png');
        background-repeat: no-repeat;
        background-attachment: fixed;
    }
    

    background-attachment属性的默认值时scroll,也就是说,在默认的情况下,背景会虽文档滚动。

    相关文章

      网友评论

          本文标题:css样式——背景篇

          本文链接:https://www.haomeiwen.com/subject/aklxtqtx.html