前端素材解析—利用linear制作复杂的边框效果

在网上看到一种利用linear-gradient属性制作绚丽边框效果的方法。首先给出代码,大家可以在自己的电脑中查看效果:

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        .box {
            margin: 80px 30px;
            width: 200px;
            height: 200px;
            position: relative;
            background: #fff;
            float: left;
        }

            .box:before {
                content: '';
                z-index: -1;
                position: absolute;
                width: 220px;
                height: 220px;
                top: -10px;
                left: -10px;
            }

        .first:before {
            background-image: linear-gradient(90deg, yellow, gold);
        }

        .second:before {
            background-image: linear-gradient(0deg, orange, red);
        }

        .third:before {
            background-image: repeating-linear-gradient(-45deg,#cc2a2d,#cc2a2d 30px,#f2f2f2 30px,#f2f2f2 40px,#0e71bb 40px,#0e71bb 70px,#f2f2f2 70px,#f2f2f2 80px);
        }
    </style>
</head>
<body>
    <div class="box first"></div>
    <div class="box second"></div>
    <div class="box third"></div>
</body>
</html>

有代码可以看出,其实我们并没有使用border,那么这种边框效果是怎么实现的呢?

总体思路是,我们先定义一个白色的div,在定义一个白色方块大一圈的带颜色的div。两个重叠一下,并且让白色的div覆盖彩色div,就实现了边框的效果。

这里面用到的css知识点很多。

1、:before伪类

通过上面的代码我们看出,其实我们在定义的白色div中定义了一个:before伪类,把彩色方块所有的样式都放在了这里。这是因为使用:before定义可以使得定位更加方便,只要调整top和left为边框的宽度就可以了。同时也是的二者成为一个整体。

2、linear-gradient

现在很多浏览器都支持这个css方法。该方法有以下三种使用模式:

①background:linear-gradient(top,#fff,#000)

这段代码的意思是,从上部开始为白色,到底部为黑色进行过度。

②background:linear-gradient(top,right,#fff,#000)

这段代码关于位置传递了两个参数,top和right,表示从右上放开始,到左下方变化,其他道理与第一个相同。

③background:linear-gradient(30deg,#fff,#000)

这段代码的第一个参数传递的是角度,其实道理和位置是一样的,只是不是从标准的位置开始变化了。那么角度和位置的对应关系是什么呢?根据实验,0度对应bottom,90度对应left,180度对应top,360度对应right。

以上就是利用linear方法实现绚丽边框的代码和解释,大家可以在本地进行实现,以此发现更多新奇的组合实现方法。

时间: 2024-10-20 21:57:57

前端素材解析—利用linear制作复杂的边框效果的相关文章

利用replaceChild制作简单的吞噬效果【jsDEMO】

[功能说明] 利用replaceChild制作简单的吞噬效果 [HTML代码说明] <ul class="list" id="list"> <li class="in">1</li> <li class="in">2</li> <li class="in">3</li> <li class="in"

利用TabHost制作QQ客户端标签栏效果(低版本QQ)

学习一定要从基础学起,只有有一个好的基础,我们才会变得更加的perfect 下面小编将利用TabHost制作QQ客户端标签栏效果(这个版本的QQ是在前几年发布的)…. 首先我们看一下效果: 看到这个界面,刹那间一点喜悦感都没有了,不过对于我们学习程序的人来说,UI是一方面,代码也是一方面,今天讲述的是代码,所以我们就在此忽略UI吧 --------------------------------------------------------华丽分割线----------------------

利用CSS3制作淡入淡出动画效果

CSS3新增动画属性“@-webkit-keyframes”,从字面就可以看出其含义——关键帧,这与Flash中的含义一致. 利用CSS3制作动画效果其原理与Flash一样,我们需要定义关键帧处的状态效果,由CSS3来驱动产生动画效果. 下面讲解一下如何利用CSS3制作淡入淡出的动画效果.具体实例可参考刚进入本站时的淡入效果. 1. 定义动画,名称为fadeIn @-webkit-keyframes fadeIn { 0% { opacity: 0; /*初始状态 透明度为0*/ } 50% {

利用Quztrz2D制作带白色边框的QQ头像

- (void)circleHeadPortrait{    // 1.加载原图    UIImage *oldImage = [UIImage imageNamed:@"me"];        // 2.开启一个和图片一样大小的上下文,也就是开启一个新的图片,新图片大小和原图片一致    UIGraphicsBeginImageContextWithOptions(oldImage.size, NO, 0.0);        // 3.取得当前的上下文    CGContextR

利用UIImageVIew制作的简单粒子效果

一个手指画出的效果 两根手指画出的效果 demo如下:

利用css3选择器及css3边框做出的特效(1)

利用border-radius及box-shadow制作圆角表格 界面效果图如下: css样式如下所示: * { margin: 0; padding: 0; } body { padding: 40px 100px; } .demo { width: 600px; margin: 40px auto; font-family: 'trebuchet MS', 'Lucida sans', Arial; font-size: 14px; color: #444; } /*表格的默认设置*/ ta

利用Pr制作移动马赛克

利用Pr制作移动马赛克 --安阳师范学院互联网+应用技术学院UI设计方向讲师 邵彦生 具体步骤(一)创建项目1.启动Premiere cc 2017程序,单击[新建项目]按钮创建一个工程文件,打开[新建项目]对话框,如下图所示.2.在[新建项目]对话框中,指定保存路径,并输入制作视频的名称,单击[确定]按钮完成项目创立.进入[新建序列]对话框,在[有效预设]列表框选择DV-PAL文件夹下的[标准48HZ]选项,单击[确定按钮],进入Pr编辑界面,如下图所示.(二)导入素材1.选择[文件]→[导入

ArcGIS利用DEM制作简单三维

利用DEM数据镶嵌后,矢量数据裁剪得到研究范围的DEM数据,在ARCScene中进行三维制作 ArcGIS利用DEM制作简单三维 点击学习我的系统教程哦

【PhotoShop】利用PS制作唯美咖啡泡

难得喝杯咖啡,怎么能不拍张了(黑咖啡太苦经常喝实在受不了!) 得到如下图 看着还不错,可是总感觉空空荡荡的,所以就拿来PS练手了.最终效果图如下: 下面讲下制作过程: 首先是给照片加下咖啡泡的效果,找一张有咖啡泡的咖啡~然后选区把咖啡泡部分抠出来 把图片抠出来调整大小适应杯子,然后自然是选择混合选项让他更逼真了. 我这里选择的是点光,当然可以根据个人图片效果选择了.为了让图片更加逼真,我为该图层创建蒙版,并且用黑色画笔涂抹阴暗处(让阴暗处更阴暗)而显得有层次感.效果如图: 现在在加点文字吧.下面