《css揭秘》实例练习--半透明边框

《css揭秘》一直很期待这本书,终于入手了。果断的要试一试书中的例子。

第一个例子是 半透明边框

首先看看我做出来的样子。个人觉得半透明边框很实用,可以用在书籍,电影资料的展示上。
半透明边框
实现起来也不难。

其中关键是要了解 CSS3 background-clip 属性
background-clip 有3个值

  • border-box 背景会延伸到边框区域的下层。默认值。
  • padding-box 背景绘制在边框内部,不会超出边框。
  • content-box 背景绘制在内容方框内
上栗子:

background-clip: border-box;时,会显示成下图的样子,实色的虚线边框看起来更明显。下层的白色背景会从虚线的空隙中露出来。如果边框是透明的,就会隐藏在白色背景中,看不到了。这不是我们想要的。

background-clip: border-box;

css 代码

background-clip: border-box;  
border: 20px dashed #58a; 
background: #fff; 

background-clip: padding-box;时,白色背景层完全在虚线边框的里面,这个看起来正适合。

background-clip: padding-box;

css 代码

background-clip: padding-box;  
border: 20px dashed #58a; 
background: #fff; 

background-clip: content-box;时,白色背景被切掉了,产生了空隙。

background-clip: content-box;

css 代码

background-clip: content-box;  
border: 20px dashed #58a; 
background: #fff; 

从上面的例子看,用background-clip: padding; 就可以实现。
只要把实色虚线边框改成透明实线边框。
书中用的是 hsla()来实现透明颜色,没看这本书之前我还真的对hsla不太了解
查了才知道

H:Hue(色调)。0(或360)表示红色,120表示绿色,240表示蓝色,也可取其他数值来指定颜色。取值为:0 - 360
S:Saturation(饱和度)。取值为:0.0% - 100.0%
L:Lightness(亮度)。取值为:0.0% - 100.0%
A:Alpha透明度。取值0~1之间。

透明颜色可以这样写:
hsla(0,0%,100%,.5);
前两个值,写什么都无所谓,因为亮度100%
添加到代码片段里

css 代码

background-clip: padding-box;  
border: 20px solid hsla(0,0%,100%,.5); 
background: #fff; 

半透明边框实现了

image

暗色的半透明边框感觉酷酷
只要把 hsla() 的亮度值改为0%。hsla(0,0%,0%,.5)

image

以上就是《css揭秘》半透明边框实例

ps:图书封面图,来自网络。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 定义和用法 background是一个简写属性,可以在一个声明中设置所有的背景属性,可设置的属性如下: 这些...
    lightNate阅读 4,468评论 2 9
  • 1、属性选择器:id选择器 # 通过id 来选择类名选择器 . 通过类名来选择属性选择器 ...
    Yuann阅读 1,680评论 0 7
  • 所有图都在body背景设置为green下的截图,请不要把最外层的绿色当成边框 半透明边框 如果我们想给一个容器设置...
    hcxowe阅读 4,076评论 0 6
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 2,083评论 1 4
  • 1.半透明边框 问题: 如果我们要为一个容器设置红色背景和一道黑色半透明边框,我们可能会这样写: 但是效果却是这样...
    FlyingWWS阅读 4,180评论 4 21