background-clip与background-origin

规定背景的绘制区域

浏览器支持

IE9+、Firefox、Opera、Chrome 以及 Safari 支持 background-clip 属性。

注释:Internet Explorer 8 以及更早的版本不支持 background-clip 属性。IE9+、Firefox、Opera、Chrome 以及 Safari 支持 background-clip 属性。

有三个值:

border-box   背景被裁剪到边框盒。  

padding-box   背景被裁剪到内边距框。

content-box  背景被裁剪到内容框

demo:

.clip{width:400px;margin: 50px auto;background-color: red;padding: 20px;color: #ddd;line-height:25px;text-align: center;border: 10px dashed blue;}.clip-content{background-clip:content-box;}.clip-border{background-clip:border-box;}.clip-padding{background-clip:padding-box;}

border-box

 

padding-box

 

content-box

 

 

其实background-clip的真正作用是决定背景在哪些区域显示。如果它的值为border,则背景在元素的边框、补白和内容区域都会显示;如果值为padding,则背景只会在补白和内容区域显示;如果值为content,则背景只会在内容区域显示。

那为毛前面的background-clip:border不起作用?这就得说说background-origin了

background-origin是指背景显示的区域,或者说背景是从哪个区域开始绘制的(边框、补白或内容区域)。

还不理解的话那就这么来说吧,background-position总该知道吧?它指定了背景的位置,比如background-position:0px 0px ;那这个0像素是指相对于哪里来说的呢?这就涉及到一个参照点的问题了。background-origin的作用就是指定background-position的参照点是在边框区域的左上角,还是在补白区域的左上角,或是在内容区域的左上角,对应的三个值就分别是border、padding、content. background-position的也可以是left、right等方向词语,这时候就不能说参照点了,而应该说参照面,如果值为background-origin的值为border,则参照面包括边框区域、补白区域、内容区域三个部分,如果值为padding,则参照面只包括补白区域和内容区域,如果值为content,则不用我讲了吧。

这个时候再来看看前面那个问题就豁然开朗了,你把background-clip设为border,这时候边框里是能显示背景的,但问题是背景并不是从边框的左上角开始绘制的,它是从补白区域才开始绘制的,女神背景压根就没想要搭理屌丝边框,你屌丝摆出一个怀抱来迎接女神又有个屁用啊,赶紧细软跑吧。background-origin的默认值是padding,也就是默认从补白区域开始绘制背景

demo:当背景是图片是background-origin:border-box。与background-clip:border-box。显示时有区别,如果都是背景颜色,没有区别,background-origin控制的是背景图片显示的区域,不会影响背景颜色

 

 

demo:

.clip{width:400px;margin: 50px auto;background-image: url("images/1.jpg");background-repeat: no-repeat;background-position: left top;background-color: red;overflow: hidden;padding: 20px;height:200px;color: #ddd;line-height:25px;text-align: center;border: 10px dashed blue;}.clip-content{background-clip:content-box;}.clip-border{background-clip:border-box;}.clip-padding{background-clip:padding-box;}.origin-content{-webkit-background-origin: content-box;background-origin: content-box;}.origin-border{-webkit-background-origin: border-box;background-origin: border-box;}.origin-padding{-webkit-background-origin: padding-box;background-origin: padding-box;}

  

发现一个小问题:

当设置背景backgroud-position:center center时,background-origin不起作用,background-clip:border-box可以让背景颜色绘制在边框上(不太明白,希望懂得人可以指教)

修改上面的代码:

 .clip{background-position: center center;}

  效果图

 

转载于:https://www.cnblogs.com/xiaofenguo/p/6074863.html

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

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

相关文章

策略模式应用场景和uml_策略模式

策略模式应用场景和uml在最近的博客中,我收到了Wojciech Soczy?ski的评论,内容涉及在使用“不要问”(TDA)时如何使用“战略”模式实施单一责任原则(SRP)。 在某些时候,我打算进一步讨…

mysql建表时主键_mysql建表时怎么设置主键?

设置方法:在“CREATE TABLE”语句中,通过“PRIMARY KEY”关键字来指定主键,语法格式“字段名 数据类型 PRIMARY KEY [默认值]”或“[CONSTRAINT 约束名] PRIMARY KEY 字段名”。主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MyS…

在OpenShift上部署Java EE微服务

我昨天用WildFly Swarm在博客上发布了有关简单JAX-RS微服务的博客。 您学习了如何使用Maven构建一个所谓的“胖子”,还使用Maven Docker插件对我们的微服务进行了Docker化并在Docker Machine上本地运行。 这是在本地测试事物的好方法。 到目前为止,缺少的…

rocketmq 订阅组_必须先理解的RocketMQ入门手册,才能再次深入解读

推荐阅读一下下2020年后想跳槽?MQ、ZK、Nginx、Kafk等分布式技术你都掌握了?阿里架构师推荐学习的《RabbitMQ实战指南》,渣渣的你都看过吗?RocketMQ入门手册RocketMQ是一个分布式、队列模型的开源消息中间件,前身是Met…

.net数据源控件绑定mysql_理解asp.net中DropDownList编辑数据源,绑定数据库数据。...

一、理解asp.net绑定数据库终于学习到了连接数据库部分的内容,杨中科老师视频看起来挺轻松的,如果是高清版就更ok了。我发现我学习新的编程语言会有一个特点,都想要赶紧学习数据库,数据就是一切,有了数据才能操作一切的…

jetty代理jetty_如何在Jetty中使用SPDY

jetty代理jettySPDY是Google提出的一种新协议,是针对网络的新协议。 SPDY与HTTP兼容,但尝试通过压缩,多路复用和优先级降低网页负载。准确地说,快速的目标是:( http://dev.chromium.org/spdy/spdy-whitepap…

将Java EE与jOOQ结合使用的初学者指南

Java EE附带了自己的持久性API:JPA。 当您想要将RDBMS实体(表/关系)映射到Java实体(类)时,JPA最强大,主要遵循1:1映射策略。 其背后的想法是,业务逻辑通常并不像关系代数…

mysql备份需要停应用吗_对于含有innodb表的实例进行文件拷贝备份时必须停mysql实例吗...

展开全部在实际环境中,62616964757a686964616fe59b9ee7ad9431333361313261时不时需要备份恢复单个或多个表(注意:这里除非明确指定,所说的表一律指InnoDB表),而对于innodb引擎恢复单个表需要整体的恢复,xtrabackup也可…

Apache Camel 2.16发布–十大亮点

Apache Camel 2.16于上周五发布。 这篇博客文章是我尝试在此新版本中进行前10名(加1作为奖励)的亮点。 1.动态到 来自骆驼用户的最常见的常见问题是如何将消息发送到端点,uri应该使用消息中的动态值(例如标头)。 在…

[原创软件]体验组批量加分工具

软件主要功能: 从excel批量导入用户QQ、昵称、年龄信息批量粘贴用户QQ或昵称进行筛选批量添加积分软件界面截图: 开发环境及语言: c#.NET Framework 4.0Visual Studio 2015更新日志: v1.2(2016.9.30) 增加格…

java 线性表的表示和实现_线性表中顺序表的的理解和实现(java)

线性表的顺序表示指的是用一组地址连续的存储单元以此存储线性表的数据元素,这种表示也称作线性表的顺序存储结构或顺序映像。通常,称这种存储结构的线性表为顺序表。特点是:逻辑上相邻的数据元素,其物理次序上也是相邻的。顺序表…

akka连接是什么_什么是Akka?

akka连接是什么在深入探讨什么是Akka之前,让我们退后一步来了解并发编程的概念在应用程序开发世界中是如何演变的。 应用程序已从大型的整体程序演变为面向对象的模型。 随着Java EE和Spring框架的出现,应用程序设计演变为更多的基于流程或任务的设计模型…

c java 系统开发_java开发系统内核:使用C语言开发系统应用程序

更详细的讲解和代码调试演示过程,请参看视频用java开发C语言编译器如果你对机器学习感兴趣,请参看一下链接:机器学习:神经网络导论我们的操作系统通过增添内核接口导出机制后,已经可以作为平台,运行应用程序…

抑制java对修饰符的检查_Java 7对抑制异常的支持

抑制java对修饰符的检查在JDK 7中 ,向Throwable类( Exception和Error类的父类)添加了一个新的构造函数和两个新方法。 添加了新的构造函数和两个新方法以支持“抑制的异常”(不要与吞咽或忽略异常的不良做法相混淆)。 …

编写基于事件的CQRS读取模型

关于事件源和CQRS的讨论似乎通常集中在CQRS上下文中的整体系统架构或领域驱动设计的各种形式。 但是,尽管也有一些有趣的考虑,但读取模型经常被忽略。 在本文中,我们将展示一个通过使用事件流填充视图模型的示例实现。 总览 读取模型的想法…

java else if和switch_如何优雅地优化代码中的的if else和switch

引言一般来说,随着我们项目的迭代以及业务的越来越复杂,项目中的分支判断会原来越多。当项目中涉及到复杂的业务判断或者分支逻辑时,我们就需要考虑是否需要对项目进行重构了,或者if else和switch case是否能够满足当前项目的复杂…

jQuery data

一个简单的Cache (function(){var __cache {},Cache {get: function(__name){return __cache[__name] || undefined;}, set: function(__name, __value){return (__cache[__name] __value)}};this.Cache Cache; })();alert(Cache.get("name")); //undefine…

设计模式(中介者模式-对象去耦)

声明:本系列文章内容摘自《iOS设计模式》 中介者模式 用一个对象来封装一系列对象的交互方式。中介者使个对象不需要显式地相互调用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 何时使用中介者模式 1.对象间的交互虽定义明确然而非…

windows服务器的DDOS防御,

抵御 SYN 攻击 SYN 攻击利用了 TCP/IP 连接建立机制中的安全漏洞。要实施 SYN 洪水攻击,攻击者会使用程序发送大量 TCP SYN 请求来填满服务器上的挂起连接队列。这会禁止其他用户建立网络连接。 要保护网络抵御 SYN 攻击,请按照下面这些通用步骤操作&…

java程序运行结果题_2016年关于Java编程与程序运行结果笔试题

2016年关于Java编程与程序运行结果笔试题1.Java编程,打印昨天的当前时刻public class YesterdayCurrent{public void main(String[] args){Calendar cal Calendar.getInstance();cal.add(Calendar.DATE, -1);System.out.println(cal.getTime());}}2.文件读写,实现一个计数器pu…