div背景透明_为什么css3实现background-image和半透明边框这么麻烦

”background和border属性能有什么难的?"

我经常听到新手觉得css的background和border属性简单。

那好,我们来看下面这个比较“简单”的需求:

父元素有一张背景,子元素有边框,且子元素有一张背景颜色。这时候子元素的背景会呈现出什么样子?

来,我们来看代码html结构

<

然后,我们再看css的结构:

.

我准备了一张图,作为父元素的背景图

出于私心,我准备的是我女神鞠婧祎的配图

145ea2bfcaebf1fbe8376d54298b3043.png
可可爱爱,还有脑袋

好,接下来看看效果

2a65dde5ea71021daf6c8c8c0c5dac24.png

从这张图我们可以看到,小鞠的图片只占据了div的content部分,也就是我红色框内的部分。

如果我们了解标准盒模型的话,我们知道,一个标准盒模型如下:

div = margin+border+padding+content

backgroud-image默认是从content区域的左上角开始渲染。

到这里就有前端说:“这我知道啊,这有啥好难的吗?”

好,接下来才是正题。

现在我改变需求,我要求这样:

现在我们要求父元素有一个背景图,子元素边框为半透明

现在,我们开始来写cssl结构

.child{border:30px solid #fff;max-width: 1000px;max-height:600px;border-color:rgba(0,0,0,0.5);
}
.father{background-image: url("./jjy.jpg");
}
//或者我们用高端一点的写法吧,色相的hsla函数
.child{border-color:hsla(0,100%,50%,50%)
}
四个参数分别是:
色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等。
饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取 0-100% 的数值。
亮度(L) 取 0-100%,增加亮度,颜色会向白色变化;减少亮度,颜色会向黑色变化。
透明度(A) 取值 0~1 之间, 代表透明度。

我们来看效果

e39168bf75e26ee8840b26b422010e27.png

父元素的div会透过子元素的半透明的边框,理论上讲,父元素的background-image是在子元素的下一层,而我们的理想效果是父元素的背景图不透上来,且保持子元素的边框呈现出半透明的状态

这就是background属性的工作原理,好,现在我们来恢复到一个比较简单的模型下:

<div>
</div>css部分
div{background-image: url("./jjy.jpg");background-clip:border-box; //默认值border:30px solid white;border-color:hsla(0,100%,50%,50%);background-clip: padding-box;background-repeat: no-repeat;background-size: 100% 100%;
}

在 background-clip的默认值下,border-box是默认从边框的边缘开始裁剪的,这样也就导致了background会入侵标准盒模型的border区域,

我们可以通过 background-clip属性,来重新定义background-image从标准盒模型的哪个位置开始裁剪。

取值分别是:

content-box //从content区域开始裁剪

padding-box //从padding区域开始裁剪

border-box //从border区域开始裁剪

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

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

相关文章

c mysql 查询超时设置_MySQL查询超时的设置方法

欢迎进入Linux社区论坛&#xff0c;与200万技术人员互动交流 >>进入 这里顺带解释一下什么是non-interactive connection Non-Interactive Commands Just do a quick look up on a table without logging into the client, running the query then logging back out aga欢…

python聚类分析案例_深度解读|如何构建用户分级体系实现精细化运营?附案例实操...

本文内容较长&#xff0c;代码全部已展示在文中用户精细化分类也可以称做用户画像&#xff0c;是目前很常见的一种运营手段&#xff0c;目的是为了更好的服务不同性质的客户&#xff0c;提高每个环节的转化率&#xff0c;最大程度挖掘客户价值&#xff0c;创造利润。那么如何构…

单片机集成wifi等_从零制作单片机需要哪些知识?

请点击上面 免费关注...说一下从芯片制作开始到最后编写驱动程序整个过程中每一步所需要的知识。作者&#xff1a;彭谟威链接&#xff1a;https://www.zhihu.com/question/28580074/answer/93515413来来来&#xff0c;让我们一起&#xff0c;左手右手一个慢动作。每一个方向都值…

matlab案例_基于matlab和frost平台的cassie案例足式机器人运动学和动力学计算实现过程...

1、软件平台Maltab2019aMathematica 12.1.0Frost2、实现步骤&#xff08;1&#xff09;、安装matlab2019a&#xff08;2&#xff09;、安装Mathematica 12.1.0&#xff08;3&#xff09;、下载frost-dev-master软件说明&#xff1a;https://ayonga.github.io/frost-dev/pages/i…

计算机毕业设计----SSM实现的一个在线文具学习用品购买商城

项目介绍 本项目分为前后台&#xff0c;前台为普通用户登录&#xff0c;后台为管理员登录&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,管理员信息管理,查看用户信息,新闻公告信息管理,文具类型信息管理,城市信息管理,配货点信息管理,文具信息管理,订单信息…

python2和3语法区别_python2和3语法区别

以下是Python2和Python3中的一些语法差异&#xff0c;有需要的小伙伴可以学习下。 print语句 在Python 2里&#xff0c;print是一个语句。无论你想输出什么&#xff0c;只要将它们放在print关键字后边就可以。在Python 3里&#xff0c;print()是一个函数。就像其他的函数一样&a…

python如何循环使用input_python基础知识input到while循环

j周笔记 输入与输出 1.输入 input (请输入内容) 字符串 2.输出 print(输出到控制台) 变量vairable 变量就是相当于我们人的名字 1.名字 2.存储位置 3.该存储位置的内容解释 ​ name(名字) 张三(值(存储位置)) 变量名 值 注意: 给变量取名字时,一定要遵循python语法规范 1.变量…

echarts tooltip被遮挡_echarts 的tooltip定位到当前图,避免溢出和遮挡

问题&#xff1a;tooltip初始是跟着鼠标移动&#xff0c;当内容过多&#xff08;宽度高度过大&#xff09;&#xff0c;会被其他遮挡或者会溢出屏幕外解决&#xff1a;思路&#xff1a;根据官方文档&#xff0c;鼠标在左侧时&#xff0c;tip在右侧&#xff0c;鼠标在右侧时&…

idea mysql错误提示_idea提示错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

碰见了一个问题&#xff0c;一直无法解决&#xff0c;希望大家帮帮忙。这是连接mysql的JdbcUtils代码&#xff1a;public class JdbcUtils {// 配置文件private static Properties props null;// 静态块保证只加载一次static {InputStream in JdbcUtils.class.getClassLoader…

python中seed的用法_Python中的seed()方法怎么用

Python中的seed()方法怎么用?下面是seed()方法的相关介绍&#xff1a; 描述 seed() 方法改变随机数生成器的种子&#xff0c;可以在调用其他随机模块函数之前调用此函数。 语法 以下是 seed() 方法的语法&#xff1a;import random random.seed ( [x] ) 注意&#xff1a;seed(…

bootstrap 输入错误提示_win7系统提示explorer.exe应用程序错误怎么办

在电脑当中弹出错误提示框可谓是多种多样&#xff0c;详细有很多电脑都有碰到过&#xff0c;最近有位win7系统用户在使用电脑的过程中&#xff0c;系统总是提示“explorer.exe应用程序错误”&#xff0c;用户不知道怎么解决这个问题&#xff0c;为此非常苦恼&#xff0c;那么wi…

json阅读器_Flutter小说阅读器系列一:使用Bloc模式获取起点小说关键字提示

Bloc模式下的小说关键字提示效果图最近难得有些闲暇时间&#xff0c;所以我又打算做一个小说阅读器&#xff0c;以前倒是用RNGolang写了一个&#xff0c;不过当时太过放飞自我导致自己看起来都很费力&#xff0c;这次我准备换成Flutter试一下。先简单将小说阅读器分为以下几个部…

python获取mysql中的数据供js调用_详解js文件通过python访问数据库方法

我来教你 js文件怎么通过python访问数据库&#xff0c;希望能够为你带来帮助。 1、如果是要提交表单内容给 服务器的 python 处理&#xff0c;那么只需要在表单 里面的 action 填写服务端的处理路由就可以了。或者用 指向服务器路由get querystring。前端方面不需要python啊。…

python 初始化一个4维向量_看图学NumPy:掌握n维数组基础知识点,看这一篇就够了...

摘要:NumPy是Python的最重要的扩展程序库之一,也是入门机器学习编程的必备工具。国外有位程序员讲NumPy的基本运算以图解的方式写下来,让学习过程变得轻松有趣。 NumPy是Python的最重要的扩展程序库之一,也是入门机器学习编程的必备工具。然而对初学者来说,NumPy的大量运算…

win8 mysql6_Win8系统 MySQL 6.0 安装图解

Win8系统 MySQL 6.0 安装图解(作者&#xff1a;wanghui2015/04/08)1、首先双击mysql-6.0.10-msi&#xff0c;会出现如下图所示界面。点击next&#xff1b;2、出现如下界面&#xff1a;这三个为选择安装类型&#xff0c;新手可以选择Typical或Complete就可以了。咱们为了看一下安…

python画锯齿波_用Python控制硬件35-自制二三十元成本的信号测量采集控制系统

如前篇所介绍&#xff0c;用Shell Lab测试台软件配合之前介绍的任意款实验板&#xff0c;都能方便地实现ADC电压测量&#xff0c;但遇到两个问题&#xff1a;示例代码虽然众多&#xff0c;但大都默认ShellLab类型的控制器&#xff0c;需要手动改为Mcush.Mcush类型才能运行&…

java连接hbase_HBase实战 | 05405.15.0Spark2使用HBaseSpark访问HBase

转载自微信公众号Hadoop实操温馨提示&#xff1a;如果使用电脑查看图片不清晰&#xff0c;可以使用手机打开文章单击文中的图片放大查看高清原图。Fayson的github&#xff1a;https://github.com/fayson/cdhproject提示&#xff1a;代码块部分可以左右滑动查看噢1文章编写目的越…

wxpython使用简介_wxpython简介

Python​ Python是一种成功的脚本语言&#xff0c;它最初是由Guido van Rossum开发的。它于1991年首次发布。Python的灵感来自于ABC和Haskell编程语言。Python是一种高级的、通用的、多平台的、解释型的语言。有人更喜欢称它为动态语言。它很容易学习。Python是一种极简主义语言…

电脑4次连续故障音_格力空调电子膨胀阀故障判定与“E6”处理方法

一、电子膨胀阀常见故障原因电器电子膨胀阀是一种利用电子控制器通过电缆向线圈发出脉冲控制信号&#xff0c;控制施加于膨胀阀上的电压或电流&#xff0c;从而控制阀针的动作实现阀口流通面积改变达到流量自动调节目的的节流器件&#xff0c;是空调器的重要部件之一&#xff0…

mysql+性能+计算列_MYSQL性能优化的最佳20+条经验

当你查询表的有些时候&#xff0c;你已经知道结果只会有一条结果&#xff0c;但因为你可能需要去fetch游标&#xff0c;或是你也许会去检查返回的记录数。在这种情况下&#xff0c;加上 LIMIT 1 可以增加性能。这样一样&#xff0c;MySQL数据库引擎会在找到一条数据后停止搜索&…