14
2019
10

css3边框之半透明边框 background-clip属性

作为初学者的我们,对css中半透明颜色的设置的了解大概只有rgba(),hsla()也是其中的一种方法.在实际中,他们应用于背景的原因有一下几点:

1、早期的开发者没有意识到这些新属性就是类似#ff0066和orange的色彩,而是将他们看作是图片,所以仅用于背景;

2、位背景提供降级方案比其他属性简单;

3、在边框这些属性上使用半透明颜色并不简单.

我们一般设置边框的第一步:

border:10px solid hsla(0,0%,100%,.5);

background:white;

按常理来说这样设置是可以得到透明边框的,但是实际中却根本看不到边框的存在.虽然看起来的效果和预期有所差异,

其实边框是存在的.实际上,背景色默认扩展到边框上,这一点是可以通过给边框添加虚线观察到.

我们可以使用background-clip属性来调整这一效果,也就是说,背景色会填充到容器边框以内的地方,所以我们只需要将其

修改为padding-box(让背景色在容器的内边距以及内边距以内填充)就可以实现效果了:

border:10px solid hsla(0,0%,100%,.5 );

background:white;

background-clip:padding-box;

虽然在border-color上能运用rgba(),hsla()设置边框为半透明或完全透明,如果元素设置了背景颜色或背景图片的时候,会直

接影响边框的透明颜色效果.特别是,要看到边框底下的内容时.造成这个现象是由于图片会延伸到边框底部.可以用css3的background-clip

来修正。

完整代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
    <style type="text/css">
    	body{
    		background: darkolivegreen;
    	}
    	#dd{
     width: 200px;
     height: 70px;
     border:10px solid hsla(0,0%,100%,.5 );
	 background:white;
	 background-clip:padding-box;
		}		
    </style>
</head>
<body>
<div id="dd">css3边框之半透明边框</div>
</body>
</html>

原文链接:https://www.qiquanji.com/post/8690.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。