CSS学习——背景属性

background-color属性

该属性设置元素的背景颜色。

颜色值有三种:

  • color值
  • transparent透明,为默认的值。
  • inherit,继承父元素的color。

颜色值有三种表示方式:

  • 颜色名,如:红色。
  • RGB,如:rgb(255,0,255),注:数值范围为0~255。
  • 十六进制,如:#00ff00。
<!DOCTYPE html>
<html>

<head>
    <title>背景属性</title>
    <style>
        body {
            background-color: rgb(255, 0, 255);
        }

        h1 {
            background-color: red;
        }

        p {
            background-color: #00ff00;
        }
    </style>
</head>

<body>
    <h1>标题</h1>
    <p>这是文本内容</p>
</body>

</html>

效果如下:

元素的背景是元素的总大小,包括填充(padding)和边界(但不包括边距margin)。

当我们为元素设置padding、border和margin属性时,背景颜色会渲染到padding,而不会渲染到border和margin。

以下以h1为例:

<!DOCTYPE html>
<html>

<head>
    <title>背景属性</title>
    <style>
        body {
            background-color: rgb(255, 0, 255);
        }

        h1 {
            margin: 20px;
            /* 颜色不会渲染到margin里 */
            border: 10px solid;
            /* 这是不为边框设置颜色,看效果颜色不会渲染到border里 */
            padding: 10px;
            /* 元素的大小包括了填充,所以,颜色会渲染到padding里 */
            background-color: red;
        }

        p {
            background-color: #00ff00;
        }
    </style>
</head>

<body>
    <h1>标题</h1>
    <p>这是文本内容</p>
</body>

</html>

效果如下:

background-image、background-repeat、background-size属性

background-image属性设置一个HTML元素的背景图片,元素的背景是元素的总大小,包括填充(padding)和边界(但不包括边距margin)。默认情况下,图片会在垂直和水平方向重复显示。

写法:background-image: url('url');

background-repeat属性定义图片是否在垂直和水平方向上重复显示。

写法:background-repeat: repeat-y||repeat-x||no-repeat; 分别表示在垂直方向上重复、在水平方向上重复、不重复显示。

background-size属性定义背景图片的大小。

写法:background-size: 10px 10px; 分别表示宽、高,若只写一个值,表示宽、高为一个值。

没有规定background-repeat属性时,如下:

<!DOCTYPE html>

<html>

<head>
    <title>背景属性</title>
    <style>
        body {
            background-color: rgb(255, 0, 255);
        }

        h1 {
            height: 120px;
            background-image: url('D:\\Downloads\\sc.png');
            background-size: 100px, 60px;
            color: #ccc;
        }

        p {
            background-color: #00ff00;
        }
    </style>
</head>

<body>
    <h1>标题</h1>
    <p>这是文本内容</p>
</body>

</html>

效果:

如上,因为没有规定background-repeat属性,默认在水平和垂直方向都重复显示背景图片。

若我们规定背景图片只在水平方向重复显示,如下:

<!DOCTYPE html>

<html>

<head>
    <title>背景属性</title>
    <style>
        body {
            background-color: rgb(255, 0, 255);
        }

        h1 {
            height: 120px;
            background-image: url('D:\\Downloads\\sc.png');
            /* background-size: 100px ,60px; */
            background-repeat: repeat-x;
            /* 规定只在水平方向上重复显示图片 */
            color: #ccc;
        }

        p {
            background-color: #00ff00;
        }
    </style>
</head>

<body>
    <h1>标题</h1>
    <p>这是文本内容</p>
</body>

</html>

效果如下:

当然,也可以不重复显示背景图片,如下:

h1 {
height: 120px;
background-image: url('pho.jpg');
background-size: 100px 60px;
background-repeat: no-repeat; /* 不重复显示 */
color: #ccc;
}

效果:

以上,在水平和垂直方向均没有重复显示背景图片,因此只有一张图片。

background-position属性

该属性定义背景图片的定位位置,注:定位是以在定位区域(clip)内的左上角(0% 0%)为起始点的。

写法:background-position: x% y%||x y||left top; 

  1. <!DOCTYPE html>

  2. <html lang="zh">

  3. <head>

  4. <meta charset="utf-8">

  5. <title>背景属性</title>

  6. <style>

  7.  
  8. body {

  9. background-image: url('pho.jpg');

  10. background-size: 100px 60px;

  11. background-repeat: no-repeat;

  12. background-position: 50px 50px; /* 以左上角为起始点 */

  13. }

  14.  
  15.  
  16.  
  17. </style>

  18. </head>

  19. <body>

  20.  
  21.  
  22.  
  23. </body>

  24. </html>


效果:

background-origin属性

该属性规定了background-position的相对位置,即在什么范围内定位。

属性值有:

  • border-box  背景图片在边框的相对位置,即在边框即以内定位。
  • padding-box  背景图片在填充框的相对位置,即在内边框即以内定位,默认值
  • content-box  背景图片在内容框的相对位置,即在内容框即以内定位。

若没有规定该属性,则以padding-box定位。

代码如下:

  1. <!DOCTYPE html>

  2. <html lang="zh">

  3. <head>

  4. <meta charset="utf-8">

  5. <title>背景属性</title>

  6. <style>

  7.  
  8. div {

  9. margin: 10px;

  10. border: 10px solid red;

  11. padding: 20px;

  12. background-image: url('1.gif');

  13. background-repeat: no-repeat;

  14. background-size: 60px 50px;

  15. background-position: left;

  16. }

  17. #div1 {

  18. background-origin: border-box; /* 以边框即以内为相对位置定位 */

  19. }

  20. #div2 {

  21. background-origin: padding-box; /* 以填充框即以内为相对位置定位 */

  22. }

  23. #div3 {

  24. background-origin: content-box; /* 以内容区域即以内为相对位置定位 */

  25. }

  26.  
  27. </style>

  28. </head>

  29. <body>

  30.  
  31. <div id="div1">

  32. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

  33. </div>

  34.  
  35. <div id="div2">

  36. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

  37. </div>

  38.  
  39. <div id="div3">

  40. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

  41. </div>

  42.  
  43. </body>

  44. </html>

效果如下:

background-attachment属性

该属性规定背景图片是否固定或者随页面的部分内容滚动。

属性值有:

  • scroll--随页面的部分内容滚动,此值为默认值
  • fixed--图片固定在position定位的位置上。
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title>背景属性</title>

  6. <style>

  7. body

  8. {

  9. background-image: url('smiley.gif');

  10. background-repeat: no-repeat;

  11. background-position: left top;

  12. background-attachment: fixed;

  13. }

  14. </style>

  15. </head>

  16. <body>

  17. <p>背景图片是固定的。尝试向下滚动页面。</p>

  18. <p>背景图片是固定的。尝试向下滚动页面。</p>

  19. <p>背景图片是固定的。尝试向下滚动页面。</p>

  20. <p>背景图片是固定的。尝试向下滚动页面。</p>

  21. <p>背景图片是固定的。尝试向下滚动页面。</p>

  22. <p>背景图片是固定的。尝试向下滚动页面。</p>

  23. <p>背景图片是固定的。尝试向下滚动页面。</p>

  24. <p>背景图片是固定的。尝试向下滚动页面。</p>

  25. <p>背景图片是固定的。尝试向下滚动页面。</p>

  26. <p>背景图片是固定的。尝试向下滚动页面。</p>

  27. <p>背景图片是固定的。尝试向下滚动页面。</p>

  28. <p>背景图片是固定的。尝试向下滚动页面。</p>

  29. <p>背景图片是固定的。尝试向下滚动页面。</p>

  30. <p>背景图片是固定的。尝试向下滚动页面。</p>

  31. <p>背景图片是固定的。尝试向下滚动页面。</p>

  32. </body>

  33. </html>


效果如下:

background-clip属性

该属性规定背景图像绘画的区域。通俗点说背景图像在什么范围即以内显示

属性值:

  • border-box  图像在边框即以内绘制
  • padding-box  图像在填充框即以内绘制
  • content-box  图像在内容区域即以内绘制
  1. <!DOCTYPE html>

  2. <html lang="zh">

  3. <head>

  4. <meta charset="utf-8">

  5. <title>背景属性</title>

  6. <style>

  7.  
  8. div {

  9. margin: 10px;

  10. border: 10px dotted red;

  11. padding: 20px;

  12. background-color: blue;

  13. }

  14. #div1 {

  15. background-clip: border-box; /* 在边框即以内绘制图片 */

  16. }

  17. #div2 {

  18. background-clip: padding-box; /* 在填充框即以内绘制图片 */

  19. }

  20. #div3 {

  21. background-clip: content-box; /* 在内容区域即以内绘制图片 */

  22. }

  23.  
  24. </style>

  25. </head>

  26. <body>

  27.  
  28. <div id="div1">

  29. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

  30. </div>

  31.  
  32. <div id="div2">

  33. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

  34. </div>

  35.  
  36. <div id="div3">

  37. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

  38. </div>

  39.  
  40. </body>

  41. </html>

效果如下:

背景属性缩写形式

在一个声明中写所有的属性:

background: bg-color/bg-image bg-size bg-position bg-repeat bg-origin bg-clip bg-attachment inherit;

猜你喜欢

转载自blog.csdn.net/weixin_41577923/article/details/83020137