CSS 设置背景图片

文章目录

    • 设置背景颜色
    • 设置背景图片
      • 背景图片偏移量计算原点
      • 背景图片尺寸
      • 设置背景图片位置
      • 设置背景图片重复方式
      • 设置背景范围
      • 设置背景图片是否跟随元素移动
      • 测试背景图片

本文概念部分参考:CSS背景background设置

设置背景颜色

  • background-color 设置背景颜色

设置背景图片

  • background-image 设置背景图片(背景图片将会盖在背景颜色上方)
    • 如果背景图片大小小于元素,则背景图片会自动在元素中平铺将元素铺满(图片重复的超出元素的部分将会被裁剪掉)
    • 如果背景图片大小大于元素,则背景图片一部分会无法完全显示(图片多余的超出元素部分将会被裁剪掉)
    • 如果背景图片大小等于元素,则背景图片会直接正常显示
    • 可以同时设置背景图片和背景颜色,这样背景颜色将会成为图片的背景色

背景图片偏移量计算原点

  • background-origin 背景图片的偏移量计算的原点
    • border-box 背景图片的变量从边框处开始计算
    • padding-box 默认值,background-position从内边距处开始计算
    • content-box 背景图片的偏移量从内容区处计算

注意:经过测试,它是第一张图片的左上角到元素左上角的距离(第一张的意思是:在图片repeat铺满之前)。如果是border-box,那就是第一张图片的左上角到元素边框靠外面的哪那个左上角的距离。如果是padding-box,那就是到padding靠外面那个左上角的距离。如果是content-box,那就是到content左上角的距离。

背景图片尺寸

  • background-size 用来调整背景图像的尺寸大小。

    • 第一个值表示宽度,第二个值表示高度;如果只写一个,则第二个值默认是auto(即表示第二个值等比例缩放)
    • cover 图片的比例不变,将元素铺满
    • contain 图片比例不变,将图片在元素中完整显示
  • 补充:

background-size 指定背景图像大小,以象素或百分比显示,当指定为百分比时,大小会由所在区域的宽度、高度以及
background-origin(图片的起始位置) 的位置决定,还可以通过 cover 和 contain 来对图片进行伸缩。

如:background-size : contain | cover | 100px 100px | 50% 100%;

background-size:contain; // 缩小图片来适应元素的尺寸(保持像素的长宽比);
background-size :cover; // 扩展图片来填满元素(保持像素的长宽比);
background-size :100px 100px; // 调整图片到指定大小; background-size :50%
100%; // 调整图片到指定大小,百分比相对于"包含元素"的尺寸。

设置背景图片位置

  • background-position 设置背景图片的位置

    • 通过top-center-bottom,left-center-right这 几个表示方位的词来设置背景图片的位置:使用方位词时必须要同时指定两个值,如果只写一个则第二个默认就是center
    • 通过偏移量来指定背景图片的位置:水平方向偏移量、垂直方向变量
  • background-position百分比原理

    • 等价写法

top left, left top 等价于 0% 0%.
top, top center, center top 等价于 50% 0%.
right top, top right 等价于 100% 0%.
left, left center, center left 等价于 0% 50%.
center, center center 等价于 50% 50%.
right, right center, center right 等价于 100% 50%.
bottom left, left bottom 等价于 0% 100%.
bottom, bottom center, center bottom 等价于 50% 100%.
bottom right, right bottom 等价于 100% 100%.

  • background-position百分比计算公式

background-postion:x y;
x:{容器(container)的宽度—背景图片的宽度}*x百分比,超出的部分隐藏。
y:{容器(container)的高度—背景图片的高度}*y百分比,超出的部分隐藏。

如上通过设置百分比和关键字能实现背景图居中,如果要实现通过具体值来设置图片居中该设置多少?

根据上面公式:

x=(容器的宽度-背景图宽度)*x百分比=(300px-200px)*50%=50px;
y=(容器的高度-背景图高度)*y百分比=(300px-200px)*50%=50px;

即设置background-postion:50px 50px;

效果同样居中。

设置背景图片重复方式

  • background-repeat 设置背景图片的重复方式
    • repeat 默认值,背景图片沿着 x 轴和 y 轴双方向重复
    • repeat-x 背景图片沿着 x 轴方向重复
    • repeat-y 背景图片沿着 y 轴方向重复
    • no-repeat 背景图片不重复

设置背景范围

  • background-clip 设置背景的范围(同时控制背景颜色和背景图片的裁剪)
    • border-box 默认值,背景会出现在边框的下边
    • padding-box 背景不会出现在边框,只出现在内容区和内边距
    • content-box 背景只会出现在内容区

设置背景图片是否跟随元素移动

  • background-attachment 背景图片是否跟随元素移动
    • scroll 默认值,背景图片会跟随元素移动
    • fixed 背景会固定在页面中,不会随元素移动

测试背景图片

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>设置背景图</title><style>/*去掉列表有序或者无序的徽记*/ul{list-style-type: none;}/*设置浮动,改变元素排列顺序*/li{/* 设置从左到右排列 */float: left;/* 每个列表向右偏移 */margin-right: 30px;/* 每个列表向下偏移 */margin-top:100px;}/*设置背景图*/body{background-image: url("./image/background.gif");/*设置背景图横向排列,不换行*/background-repeat: repeat-x;background-color:#cccc99;/*使用红绿蓝三种颜色可以测定颜色rgb(0~255,0~255,0~255)background-color: rgb(204,204,153);*/}label{display: block;margin-top: 100px;}input.myinput{border:solid 2px red;background-color: #ffd3d6;/* 设置波浪线背景图 */background-image: url("./image/check.gif");/* 只允许从左往右横向排列一次 */background-repeat: repeat-x;/* 设置背景图的位置 */background-position: bottom;}</style></head><body><ul><li><img src="image/1.jpg" alt="图片错误"></li><li><img src="image/2.jpg" alt="图片错误"></li><li><img src="image/3.jpg" alt="图片错误"></li><li><img src="image/4.jpg" alt="图片错误"></li></ul><label for="myinput">用户姓名: <input type="text" name="test" class="myinput"placeholder="请输入用户名" id="myinput"/></label></body>
</html>

效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/411946.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ mapsetOJ

目录 1、138. 随机链表的复制 2、692. 前K个高频单词 3、349. 两个数组的交集 1、138. 随机链表的复制 /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;random NULL;} }; */class Solution { pub…

网上订货管理系统功能列表|企业手机订单管理软件

网上订货管理系统功能列表|企业手机订单管理软件 后台功能列表 &#xff08;后台支持手机版本 订货APP,管理订单的APP&#xff09; 后台登陆 输入账号密码登录企业订货管理软件系统 后台首页 显示近日,月,年订单统计&#xff0c;和收款欠款等统计。 订单模块 新建订单 &am…

【Python】如何快速知道当前python所用库的路径

【背景】 项目一多&#xff0c;python环境就开始互相影响。有时需要快速知道当前的环境用的库&#xff0c;也就是site-pachage是哪个路径下的。 【方法】 打开相应的Python.exe&#xff0c;进入python命令行&#xff0c;输入&#xff1a; import sys print(sys.path)结果类…

【FPGA】Verilog描述电路的三种方式(结构化、数据流和行为化)

前言 众所周知&#xff0c;Verilog是作为一种HDL&#xff08;Hardware Description Language&#xff0c;硬件描述语言&#xff09;出现的&#xff0c;它的主要功能是在不同的抽象层级上描述电路&#xff0c;从而实现电路设计。那么到底该如何描述电路&#xff1f;Verilog提供…

[Android] Android架构体系(1)

文章目录 Android 的框架Dalvik 虚拟机JNI原生二进制可执行文件Android NDK中的binutils Bionic谷歌考虑到的版权问题Bionic与传统的C标准库&#xff08;如glibc&#xff09;的一些不同 参考 Android 的框架 Android 取得成功的关键因素之一就是它丰富的框架集。 没有这些框架…

【数学建模】2024年华数杯国际赛B题-光伏发电Photovoltaic Power 思路、代码、参考论文

1 问题背景 中国电力构成包括传统能源(如煤炭、石油、天然气)、可再生能源(如水电、风能、太阳能、核能)和其他形式的电力。这些发电模式在满足中国巨大的电力需求方面发挥着至关重要的作用。据最新数据显示&#xff0c;中国总发电量超过20万亿千瓦时&#xff0c;居世界第一。…

CSS||选择器

目录 作用 分类 基础选择器 标签选择器 ​编辑类选择器 id选择器 通配符选择器 作用 选择器&#xff08;选择符&#xff09;就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说&#xff0c;就是选择标签用的。 选择器的使用一共分为两步&#xff1a; 1.…

微信小程序+前后端开发学习材料2-(视图+基本内容+表单组件)

学习来源 视图 1.swiper 滑块视图容器。其中只可放置swiper-item组件&#xff0c;否则会导致未定义的行为。 显示面板指示点indicator-dots 基础内容 1.icon 图标组件 实例演示 2.progress 进度条。组件属性的长度单位默认为px&#xff0c;咱用rpx。 实例演示 这…

Ubuntu20.04-剪贴板

针对图形界面用户 1.两种方式 1.1 安装Parcellite 简单轻量级剪贴板管理器 sudo apt install parcellite 1.2 安装Gpaste 更强大的剪贴板管理器&#xff0c;包含历史记录和同步功能 sudo apt install gpaste

wox 启动的cmd无法识别npm

安装软件步骤&#xff1a;everything->wox->nvm->npm->yarn 新打开的任意cmd窗口均发现可以识别npm和yarn命令&#xff0c;但是wox启动的cmd窗口就不行 联想到cmd的特性是一个cmd窗口打开后&#xff0c;其运行环境就会固定&#xff0c;不会随着你系统环境变量的更…

【昕宝爸爸小模块】深入浅出之POI是如何做大文件的写入的

➡️博客首页 https://blog.csdn.net/Java_Yangxiaoyuan 欢迎优秀的你&#x1f44d;点赞、&#x1f5c2;️收藏、加❤️关注哦。 本文章CSDN首发&#xff0c;欢迎转载&#xff0c;要注明出处哦&#xff01; 先感谢优秀的你能认真的看完本文&…

逆向使用webpack打包的网站

webpack webpack 是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源&#xff08;图片、js文件、css文件等&#xff09;都看成模块&#xff0c;通过loader&#xff08;加载器&#xff09;和 plugins &#xff08;插件&#xff09;对资源进行处理&#xff0c;打包成符…