〖大前端 - 基础入门三大核心之CSS篇⑱〗- CSS中的背景

news2024/11/19 23:22:02
  • 说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费开放购买任意白宝书体系化专栏可加入TFS-CLUB 私域社区。
  • 福利:除了通过订阅"白宝书系列专栏"加入社区获取所有付费专栏的内容之外,还可以通过加入星荐官共赢计划 加入私域社区。
  • 当前子专栏 基础入门三大核心篇 也是免费开放阶段推荐他人订阅,可获取扣除平台费用后的35%收益
  • 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 跨域学习者,从事过全栈研发、产品经理等工作,目前任某金融品类App负责人。
  • 荣誉:2022年度博客之星Top4博客专家认证、全栈领域优质创作者、新星计划导师“星荐官共赢计划” 发起人
  • 现象级专栏《白宝书系列》作者文章知识点浅显易懂且不失深度TFS-CLUB社区创立者旨在以“赋能 共赢”推动共建技术人成长共同体

  • 🏆 白宝书系列
    • 🏅 Python全栈白宝书
    • 🏅 产品思维训练白宝书
    • 🏅 全域运营实战白宝书
    • 🏅 大前端全栈架构白宝书


文章目录

  • ⭐️ 背景基础知识
      • 🌟 背景颜色
      • 🌟 背景图片
  • ⭐️ 背景图片重复模式
  • ⭐️ 背景尺寸
  • ⭐️ 背景裁切
  • ⭐️ 背景起源
  • ⭐️ 背景固定
  • ⭐️ 背景图片位置

我们已经非常熟悉 “background-color” 属性了,知道它可以用来设置背景的颜色。实际工作中,肯定不仅仅给背景设置纯色,否则就太丑了。背景还可以设置背景图片,渐变色,多个颜色,还需要对背景进行裁切、位置调整等。下面我们就来详细的了解一下css中的背景。


⭐️ 背景基础知识

在学习 CSS 的背景知识之前,先来了解一下 "背景的基础知识" 吧。


🌟 背景颜色

  • backgroud-color用来设置背景颜色

  • 背景颜色可以用十六进制、rgb()、rgba()表示法表示

  • padding区域是有背景颜色的


🌟 背景图片

"background-image属性" 用来设置背景图片:background-image: url();括号中填写图片的路径,可以是相对路径,也可以是http://开头的绝对路径。

注意:如果样式表是外链的,那么要书写从css出发到图片的路径,而不是从html出发。

如果图片比盒子小,图片会自动向横向和纵向平铺。

下面看个例子:



如果样式表是外链式的,url要书写从css出发到图片的路径:




⭐️ 背景图片重复模式

background-repeat用来设置背景的重复模式

描述
repeat;x、y均平铺(默认)
repeat-x;x平铺
repeat-y;y平铺
no-repeat;不平铺

下面看些例子:



有些图片天生就可以无缝衔接的拼接,这些图片就非常适合做为背景图片,我们可以给整个网页设置背景图片:




⭐️ 背景尺寸

background-size属性用来设置背景图片的尺寸,可以兼容到IE9,是很常用的设置背景尺寸的属性。

background-size: 100px 200px;值代表背景图片的宽度、高度。

也可以设置成background-size: 20% 20%;表示为盒子的宽、高的百分之多少。

需要等比例设置的值,写auto

下面看些例子:



如果宽度和高度都设置成百分比,图片可能会变形



background-size的contain和cover:

contain和cover是两个特殊的background-size的值

  • contain表示将背景图片智能改变尺寸以容纳到盒子里
  • cover表示将背景图片智能改变尺寸以撑满盒子

下面直接看例子:

contain尽量让图片覆盖盒子,但不会变形,撑不满的部分不再覆盖。

cover一定会用图片撑满盒子,可能会使图片变形。




⭐️ 背景裁切

background-clip属性用来设置元素的背景裁切到哪个盒子。兼容到IE9。

background-clip属性有三个值:

描述
border-box背景延伸至边框(默认值)
padding-box背景延伸至内边(padding),不会绘制到边框处(仅在dotted、dashed边框可察觉)
content-box背景被裁切至内容区

下面直接看例子:




⭐️ 背景起源

我们在设置背景裁切的时候可能会发现一个现象,就是左上角的图片可能被裁切的只剩下一部分了,导致效果看起来不太好看:



这个时候就需要用到背景起源:background-origin

  • 背景起源设置成从盒子内容开始:background-origin: content-box
  • 背景起源设置成从盒子padding开始:background-origin: padding-box
  • 默认是从盒子边框开始的

经过背景起源修饰后:



背景裁切和背景起源背景相对背景和背景尺寸用的较少,大家了解这两个属性就可以了。


⭐️ 背景固定

backgroud-attachment属性用来决定背景图像的位置是在视口内固定,还是随着包含它的区块滚动。

描述
fixed自己滚动条不动,外部滚动条不动
local自己滚动条动,外部滚动条动
scroll自己滚动条不动,外部滚动条动(默认值)

下面直接看例子:

首先先做一个视口:

我们知道盒子中文字过多会溢出,我们可以给盒子加个滚动条,让溢出部分可以滚动显示,用到属性:overflow: scroll;



现在尝试backgroud-attachment属性的三个值:




⭐️ 背景图片位置

background-position属性用来设置背景图片出现在盒子的什么位置



也可以用 top、bottom、center、left、right 描述图片出现的位置,比如使盒子出现在盒子的正中间:



使盒子水平方向居中,垂直方向贴在盒子下方:



使盒子出现在右上角:



background-position属性在实际工作中还是比较实用的,尤其是background-position: center center;,比如可以解决我们之前学到的background的contain和cover可以将图片自适应尺寸,但适应后可能出现只有一侧留白和图片变形看起来不好看的问题。

下面看下例子:




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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【React Router v6】路由组件传参params/search/state(router v6)

欢迎来到我的博客 📔博主是一名大学在读本科生,主要学习方向是前端。 🍭目前已经更新了【Vue】、【React–从基础到实战】、【TypeScript】等等系列专栏 🛠目前正在学习的是🔥 R e a c t 框架 React框架 Reac

react-router v6 如何实现动态路由?

前言 最近在肝一个后台管理项目,用的是react18 ts 路由用的是v6,当需要实现根据权限动态加载路由表时,遇到了不少问题。 v6相比于v5做了一系列改动,通过路由表进行映射就是一个很好的改变(个人认为)&…

Docker利用Nginx部署前端项目

今天给大家分享的是Docker利用Nginx部署Vue等前端页面项目;其实是我工作刚好用到,顺便分享给大家O(∩_∩)O,那么话不多说直接开始。 一:准备文件 我们先将前端项目打包好,放到此文件夹下,例如我这样&#…

ts基本类型 typeof 和keyof

安装编译ts的工具 安装命令:npm i -g typescript 或者 yarn global add typescript。 验证是否安装成功:tsc –v(查看 TypeScript 的版本)。 编译并运行 TS 代码 创建 hello.ts 文件(注意:TS 文件的后缀名…

vue3中ref和reactive的区别

ref 接受一个内部值并返回一个响应式且可变的 ref 对象,有一个 .value 属性,可以通过其读取/修改对象的值。 const active ref(false)console.log(active.value) // falseactive.value trueconsole.log(active.value) // true 为ref值指定泛型参数覆盖…

Vue中的$set

项目场景: 例如:在我写前端项目的时候,后端给我们的一个json对象,并且我已经渲染在页面上了。但是由于我自己的需求,想往返回的对象里面添加一个字段,后来才意识到不是响应式的。如果我们要让这个新字段是…

【博主推荐】html好看的个人主页(附源码)

个人主页介绍【博主推荐】html好看的个人主页1.背景个人主页效果2.背景个人主页代码3.简洁个人主页效果4.简洁个人主页代码5.卡片个人主页效果6.卡片个人主页代码7.星空个人主页效果8.星空个人主页代码源码下载【博主推荐】html好看的个人主页 附带四种风格个人主页 背景个人主…

牛客前端刷题(五)—— CSS相关概念

还在担心面试不通过吗?给大家推荐一个超级好用的刷面试题神器:牛客网,里面涵盖了各个领域的面试题库,还有大厂真题哦! 赶快悄悄的努力起来吧,不苒在这里衷心祝愿各位大佬都能顺利通过面试。 面试专栏分享,感觉有用的小伙伴可以点个订阅,不定时更新相关面试题:面试专栏…

解决vue3+vite+TS 中使用element-plus按需引入 ElLoading、ElMessage 样式失效

ElMessage 样式失效 其实他不是失效了,只是加载到我们的 可以看到下面使用的方式和效果图,vue3的element-plus遇到的问题,因为要测试一下,所以点的频率比较大,但可以明显的看到ElMessage样式显示在你浏览器的下面 i…

echarts之markPoint(在途中任意位置增加标注及自动获取最大最小值处理)

echarts之markPoint(在途中任意位置增加标注及自动获取最大最小值处理) 前言 记录自己工作中的一点小心得,希望可以帮助有同样需求的朋友。 1.使用场景 之前我工作中有需要在图标中添加特殊标识的,我是费劲用散点图进行添加,十分麻烦。又比…

利用Vite或者webpack创建Vue项目,并启动Vue项目

文章目录背景环境准备准备Node.js和npm即可Vite打包webpack打包总结背景 大家好,我是杜晓帅~,一名Java开发程序员;最近想总结一下前端开发的一些东西,包括项目的打包和如何将后端处理的数据在前端进行一个展示,相信大家…

React 重新渲染指南

前言 老早就想写一篇关于React渲染的文章,这两天看到一篇比较不错英文的文章,翻译一下(主要是谷歌翻译,手动狗头),文章底部会附上原文链接。 介绍 React 重新渲染的综合指南。该指南解释了什么是重新渲染,什么是必要…

前端后端的爱恨情仇

全文目录一、API爆炸的时代1.背景介绍2.问题引出3.解决方案二、核心功能1.API文档2.API调试3.Mock 数据4.自动化测试5. 在线调试三、其他功能1.代码生成2.数据导入/导出四、惊喜功能五、总结一、API爆炸的时代 随着最近行业的移动化、物联网化、数字化转型、微服务等多种概念的…

vue的脚手架安装及安装失败问题解决

vue的脚手架安装及安装失败问题解决 提示:本文是较为详细的vue脚手架安装教程及其问题解决,若需要快速使用的宝们请按照文章目录快速查找并使用相关代码 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文…

Node.js | 你不知道的 express 路由使用技巧

🖥️ NodeJS专栏:Node.js从入门到精通 🖥️ 博主的前端之路(源创征文一等奖作品):前端之行,任重道远(来自大三学长的万字自述) 🖥️ TypeScript知识总结:TypeScript 学习笔记(十万字超详细知识点总结) 🧑‍💼 个人简介:大三学生,一个不甘平庸的平凡人🍬…

前端发送axios请求报错Request failed with status code 500解决方案

1.报错如下 2.因为后端的api是自己使用nodeexpress搭建的后台,然后要求请求头的参数格式为application/x-www-form-urlencoded的参数格式 打开报错请求 发现自己的请求头参数格式没有错误,jwt的身份验证也通过了,然后使用post测试接口&#x…

JavaScript之Ajax(一篇入门Ajax就够了)

一、概念 1.什么是Ajax Ajax(Asynchronous Javascript And XML),即是异步的JavaScript和XML,Ajax其实就是浏览器与服务器之间的一种异步通信方式 异步的JavaScript 它可以异步地向服务器发送请求,在等待响应的过程…

vue3 + vite中开发环境和生产环境全局变量配置

目录一、开发环境和生产环境二、配置环境变量三、使用全局变量一、开发环境和生产环境 开发环境:也就是编码时运行的环境,即我们使用npm run dev或者npm run serve运行项目到本地时,项目处于的环境。 生产环境:项目部署到服务器…

07. vue3+vite+qiankun搭建微应用前端框架,并接入vue3微应用

目录前言主应用微应用部署前言 因为业务系统接入的需要,决定将一个vue3vitets的主应用系统,改造成基于qiankun的微应用架构。此文记录了改造的过程及vue3微应用接入的种种问题。 网上有很多关于微应用改造的案例,但很多都没写部署之后什么情…

web前端文件上传可选择的4种方式

在web前端开发中,文件上传属于很常见的功能,不论是图片、还是文档等等资源,或多或少会有上传的需求。一般都是从添加文件开始,然后读取文件信息,再通过一定的方式将文件上传到服务器上,以供后续展示或下载使…