CSS盒子模型——渐变问题(边框&背景)

目录

一、边框渐变色

1、采用border-image(linear-gradient)设置边框颜色渐变实例

2、采用叠加方法设置边框颜色渐变实例

3、采用单层元素、background-clip、background-origin、background-image设置边框颜色渐变实例

二、背景渐变色

三、补充


一、边框渐变色

1、采用border-imagelinear-gradient)设置边框颜色渐变实例

例:





    

相当于:





    

浏览器效果:

CSS盒子模型——渐变问题(边框&背景)_第1张图片

ps这种方法虽然简单但是不支持设置边框圆角border-radius。

2、采用叠加方法设置边框颜色渐变实例

思路:使用两个盒子叠加,给下层的盒子设置渐变色背景和 padding,给上层盒子设置纯色背景。(若要设置边框圆角,则可以分别对上下盒子进行圆角设置)

例:





    
       
           
       
   

浏览器效果:

CSS盒子模型——渐变问题(边框&背景)_第2张图片

ps这种方法容易理解且兼容性好,但是缺点是content的border-radius的设置会比较麻烦。

3、采用单层元素、background-clipbackground-originbackground-image设置边框颜色渐变实例

思路:对单层元素分别设置 background-clip、background-origin、background-image 这三个属性,每个属性设置两组值,第一组用于设置border内的单色背景,第二组用于设置border上的渐变色。

例:





    
   

浏览器效果:

CSS盒子模型——渐变问题(边框&背景)_第3张图片 

ps:圆角设置过小的话(<=15px),内部圆角与外部圆角看起来及其违和。

二、背景渐变色

例:





    

浏览器效果:

CSS盒子模型——渐变问题(边框&背景)_第4张图片 

参数:第一个参数控制渐变方向,比如 to left (由左向右)/right(由右向左)。第二个和第三个参数,分别是颜色起止颜色。

起止颜色是沿着渐变线,将会在指定位置(以百分比或长度设定)含有指定颜色的点。色彩的起止数是无限的。如果使用一个百分比位置,0%代表起点和100%是终点,但区域外的值可以被用来达到预期的效果。

例:





    

浏览器效果:

CSS盒子模型——渐变问题(边框&背景)_第5张图片 

三、补充

需要熟悉常用浏览器的内核,CSS3的线性渐变多数时候需要考虑浏览器内核。

本文中均采用的是谷歌浏览器,其内核为webkit。

你可能感兴趣的:(前端基础,css,html,html5)